通常在android里编写openGl代码的方式是创建一个类,类里面用硬编码的形式引入两个shader,如下图: 这里把glsl语言通过string字符串的形式定义在类里,虽然便于管理,但是不利于阅读和编写 那么有没有比较优雅的解决方案呢? 首先在assets里面定义一个glsl的类,glsl需要引入插件才能识别 然后在里面编写gl代码 添加引用: //引入okio fungetAsset(ctx:Context?,path:String):String{ valsb=StringBuilder() ctx?.assets?.open(path)?.source()?.buf...

Android应用编写时,有时候我们会遇到一些疑难杂症,但往往解决方法很简单,这里收集我遇到的问题的汇总问题一:登录界面登录后到主界面。主界面退出登录并跳转到登录界面,出现登录界面崩溃,而在控制台没有显示任何的崩溃问题 解决办法:最后检查后发现在主界面的activity的ondestroy方法里写了system.exit(0),注销之后就好了 问题二:在一个fragment--》另一个fragment再跳转到–》第三个fragment,按系统的back键,发现在返回到第二个fragment时再按返回键截取不到在fragment中监听的返回键的方法 解决办法:因为系统back键直接返回到...

git使用很火,那么git如何和AS配合使用呢?下面一一道来。 git下载、安装及与as的组合 git下载地址,下载后点击安装,直接下一步就可以。 安装好后,打开as,设置->versioncontrol->git,选择安装的git路径,点击test,如果弹出如图所示弹框,说明配置成功。 as导入远程仓库git项目 如果远程仓库已经有项目了,直接用as导入git项目即可。导入方法如下: 一、在as入口选择从git导入项目 二、选择从git导入项目后会弹出下图配置框,第一个url选择远程仓库的url,选择后可以点击test测试是否连接成功,中间会让你输入git的密码,输入即可。...

一直以来没有系统的归纳过安卓的知识体系,所以后续计划写一个系列,把Android用到的知识体系进行系统的梳理,目录如下:专题一:java基础知识 1.常量与变量2.数据类型转换3.命名规范4.流程控制5.数组创建与使用6.方法定义与调用 专题二:java面向对象 1.类和对象2.接口3.抽象类4.内部类5.封装/继承/多态6.单例模式 专题三:kotlin语言 1.基本语法2.数据类型3.控制结构4.集合与数组5.类和对象6.封装/继承/多态 专题四:UI控件 1.Layout布局2.TextView/button3.RecyclerView4.ListView5.Expana...

在应用中,我们经常遇到多个页签切换的需求,这个时候往往使用viewPager+TabLayout实现,但官方的TabLayout使用时往往不满足我们的需求,例如不能修改指示器长度的问题,本文利用巧妙的方法来解决 基本使用在XML里这样用 <com.google.android.material.tabs.TabLayout android:id="@+id/tabLayout" style="@style/MyTabLayoutStyle" android:layout_width="match_parent" android:layout_height="97px" app:t...

当工程需要C/C介入时,Android项目就用到了NDK(NativeDevelopmentKit)开发 分两种情况1.创建新工程2.现有项目新添加NDK开发 创建新工程 使用Androidstudio创建项目时,可以选择NDK开发项目,编辑器会自动帮你配置好环境,同时还会有一个示例代码,步骤如下: 创建完成后,项目目录结构如下 默认在main目录下创建了一个cpp,用来存放C代码,同时关键的CmakeLists.txt文件也在这里 CmakeLists文件必须是这个名字,固定死的,内容如下 对里面内容做个解释 add_library(设置so库的名称,随意起名 my...

本篇主要收录一些Android小技巧,方便查询,不用以后每次都百度或者谷歌了。持续更新ing。。。 1、checkBox勾选框颜色 android:buttonTint="@color/colorAccent" 2、控件点击实现模拟back键功能方法一(注意要在非主线程使用) Instrumentationinst=newInstrumentation(); inst.sendKeyDownUpSync(KeyEvent.KEYCODE_BACK); 方法二 Runtimeruntime=Runtime.getRuntime(); runtime.exec("inputkeyeve...

  oHo4xnCa6cuT   2023年11月28日   13   0   0 jsonideAndroidandroididejson

transform=“matrix(0.694488,0,0,0.694488,287.527,988.6)”svg中transform属性共有6个值0.1.2.3.4.50-scalex1-skew2-rotate3-scaley4-translatex5-translatey 那么如何让这些属性生效呢答案是给path进行transform 这里需要注意的是,这些属性值要分多次tranform if(mTransform.startsWith("matrix")){ Stringtr=mTransform.substring(7,mTransform.length()-1).replac...

FloatingActionBar如何设置图片大小 设置参数app:maxImageSize=“xdp”

  oHo4xnCa6cuT   2023年11月28日   59   0   0 系统系统

最终效果: 特点描述: 1.弹窗圆角 2.列表多选 3.ratingbar可拖动 一。带圆角的alertDialogalertDialog的使用有三种:一种是自定义Dialog继承AlertDialog;一种是在使用的地方直接创建AlertDialog;一种是用工厂方法,创建自己的Dialog类,然后在构造方法内创建AlertDialog第一种:继承的方式 publicclassBottomDialogextendsDialogimplementsView.OnClickListener{ } 重写onCreate方法 @Override protectedvoidonC...

基本使用 创建builderAlertDialog.Builderbuilder=newAlertDialog.Builder(this,R.style.myAlertDialog); 创建并注入view Viewview=LayoutInflater.from(this).inflate(R.layout.dialog_note_color_tips,null); builder.setView(view); … 对view进行操作 …•展示 AlertDialogdialog=builder.create(); dialog.show 升级用法 添加弹框位置设置在show之后...

  oHo4xnCa6cuT   2023年11月28日   17   0   0 cixmlAndroidcixmlandroid

项目中遇到一个问题:主activity中是fragment,在fragment中点击跳转到一个新的activity,新activity崩溃后app主activity重新onCreat,导致画面重叠 解决办法: privatestaticfinalStringBUNDLE_FRAGMENTS_KEY=“android:support:fragments”; @Override protectedvoidonCreate(@NullableBundlesavedInstanceState){ if(savedInstanceState!=null&&this.clearFr...

  oHo4xnCa6cuT   2023年11月28日   21   0   0 ideAndroidandroidide

Androidstudio单元测试无法运行的问题解决 今天新换了笔记本,安装好环境后,发现项目的单元测试无法通过,报错信息如下: java.lang.NoClassDefFoundError:jdk/internal/reflect/GeneratedSerializationConstructorAccessor1 问题原因:AS安装后默认jdk是Androiddefaultjdk,如果本地的jdk和as默认的不一致就会导致无法单元测试 解决办法:打开projectstructure-》sdklocation->jdklocationwasmovedtoGradkesettin...

在unity中,有这么一些接口 IPointerClickHandler,IPointerEnterHandler,IPointerExitHandler,IPointerMoveHandler,IPointerUpHandler,IPointerDownHandler,IInitializePotentialDragHandler,IBeginDragHandler,IDragHandler,IEndDragHandler,IDropHandler,IScrollHandler,IUpdateSelectedHandler,ISelectHandler,IDeselectHandler,...

现在想把一个项目上传到gitlab,怎么操作呢 1.在gitlab上创建一个空工程,取好名字,例如:FirstProject 2.复制clone的路径 3.本地创建一个空的文件夹,然后打开控制台,切换到该文件夹,输入命令 4.把要上传的项目考备到该目录,然后在控制台输入命令 gitadd. gitcommit-m"firstcommit" gitpush 5.如果想推送到别的分支,需要在gitlab上创建新分支,然后checkout下来,再执行第4步的操作 gitcheckoutnewBranch

//动画效果功能 compilefiles(‘libs/nineoldandroids-2.4.0.jar’) //友盟统计与分析功能 compilefiles(‘libs/umeng-analytics-v5.2.4.jar’) //友盟社会化分享功能 compilefiles(‘libs/umeng_social_sdk.jar’) //友盟即时通讯功能 compilefiles(‘libs/utdid4all-1.0.4.jar’) //友盟用户反馈功能 compilefiles(‘libs/umeng-feedback-v4.3.jar’) //二维码扫描功能 compilefile...

  oHo4xnCa6cuT   2023年11月28日   17   0   0 AppAppandroidjarjarandroid

今天这篇文章教给大家解决这几个问题: 1、如何通过AndroidStudio的git上传项目到github 2、如何通过AndroidStudio的git将存在的项目增加的类或者其他的文件上传到github 3、删除github上的创建的仓库 4、如何将github上的项目导入到AndroidStudio中 首先要安装git这个客户端:http://pan.baidu.com/s/1o8BynCA 第一个问题:通过AndroidStudio的git上传项目到github 1、先配置AndroidStudio 1.1添加git.exe可执行程序 点击test测试ok 这说明测试通过了。 1...

  oHo4xnCa6cuT   2023年11月28日   16   0   0 上传上传githubgitgithubgit

Android市场很多,如果一个一个打包势必是很麻烦的,这里多渠道打包就解决了这个问题。Android应用上传应用市场需要收集一些数据,这里就用到了第三方集成。 集成友盟 首先在友盟官网注册开发者账号,然后在应用统计里创建应用,这里会获取到友盟的app_key.获取到app_key后,在module的gradle里配置友盟的集成 dependencies{ compile'com.umeng.analytics:analytics:latest.integration' } 在project的gradle里集成 allprojects{ repositories{ mavenCentr...

Android发展这么多年,as已成为主流开发IDE,as与es的最大区别是加入了gradle,那么gradle的一些常用配置是怎样的呢,下面给出讲解。 AS中gradle的安装配置 as中gradle有两个选项,一是选择默认位置,一个是自定义位置,如下图: 首先说说自定义位置,比较简单。我们可以先下载想要的gradle版本,然放在自己想放的位置,然后Gradlehome选择刚才的路径就可以了。接下来说说默认路径,很多人找不到默认的gradle放在哪里,请看servicedirectorypath栏,那里就是默认的路径,只不过进入那里以后还得往下翻, C:\Users\Administr...

最近忙于项目,有差不多一个月没有写博客了,最近空闲下来,打算做一个关于Android数据库框架使用的一系列教程,把目前主流的数据库框架的使用方法以及性能对比做个总结一、主流数据库框架greenDao、ormlite、LitePal、Realm…等,这一系列文章就先介绍这几个数据库框架吧二、特点关于这几个数据库的特点呢,首先说下性能方面吧,性能最好的是realm,但它不是在SQLite基础上的ORM,它有自己的数据查询引擎;如果基于sqlite的话,性能最好的是greendao,其插入和查询的速度远远高于ormlite和litepal;ormlite胜于其开发文档很齐全,性能也不差,使用起来也...

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~