
android studio
文章平均质量分 86
瞄大大
拥有一个不错的爱好,并坚持下去!
展开
-
BuildApkPlugin 自动化编译打包
Gradle插件,依赖进项目工程,编译APK,使用Task命令一键上传apk到三方平台,如:蒲公英。(目前暂时只支持蒲公英,可以进行扩展)。 上传成功后,如果你需要提醒其他人员进行版本更新,如:钉钉群、飞书群、企业微信群等(还可扩展其他),配置相关参数,自动发送更新消息到群里。............原创 2022-06-23 20:28:53 · 623 阅读 · 1 评论 -
Android kotlin之对象和类(2)
类Kotlin 中使用关键字class声明类class Invoice { /*……*/ }属性Kotlin 类中的属性既可以用关键字var声明为可变的,也可以用关键字val声明为只读的。class Address { var name: String = "Holmes, Sherlock" var street: String = "Baker" var city: String = "London" var state: Str...原创 2020-06-11 15:41:11 · 511 阅读 · 0 评论 -
Android的屏幕刷新原理
Android的屏幕刷新中涉及到最重要的三个概念:CPU:执行应用层的measure、layout、draw等操作,绘制完成后将数据提交给GPUGPU:进一步处理数据,并将数据缓存起来屏幕:由一个个像素点组成,以固定的频率(16.6ms,即1秒60帧)从缓冲区中取出数据来填充像素点总结一句话就是:CPU 绘制后提交数据、GPU 进一步处理和缓存数据、最后屏幕从缓冲区中读取数据并显示我们很容易想到一个问题,屏幕是以16.6ms的固定频率进行刷新的,但是我们应用层触发绘制的时机是完.原创 2020-06-09 18:42:57 · 718 阅读 · 0 评论 -
Android 之 AndroidX 库
按照官方文档说明 AndroidX 是对 android.support.xxx 包的整理后产物。由于之前的 support 包过于混乱,所以,Google 推出了AndroidX。由于在后续版本中,会逐步放弃对 support 的升级和维护,所以,我们必须迁移到 AndroidX。...原创 2020-06-03 19:34:48 · 1282 阅读 · 0 评论 -
Android Kotlin之数据类型(1)
1.变量Kotlin中有两个关键字定义变量 var 和 valval是一个只读变量,这种声明变量的方式相当于java中的final变量。一个val创建的时候必须初始化,因为以后不能被改变。var是一个可变变量,这是一个可以通过重新分配来更改为另一个值的变量。这种声明变量的方式和Java中声明变量的方式一样。const关键字: const修饰的val变量相当于java中static final是真正意义上的java常量2.常量 Byte Char ShortInt Dou...原创 2020-05-27 18:58:17 · 1381 阅读 · 0 评论 -
Android之RxJava2
RxJava 以观察者模式为骨架,在 2.0 中依旧如此。不过此次更新中,出现了两种观察者模式:Observable ( 被观察者 ) / Observer ( 观察者 ) Flowable (被观察者)/ Subscriber (观察者) 1.被观察者 (小说),开始连载,读者订阅小说(subscribe),那么小说更新后 就会推送消息给读者。 // 步骤1:创建被观察者 Observable & 生产事件// // 即 连载小说,读者订阅小说,原创 2020-05-25 19:32:48 · 351 阅读 · 0 评论 -
Android 屏幕适配的几种方法
android中的dp在渲染前会将dp转为px,计算公式: px = density * dp; density = dpi / 160; px = dp * (dpi / 160) 而dpi是根据屏幕真实的分辨率和尺寸来计算的,每个设备都可能不一样的。1.屏幕分辨率限定符适配根据当前市面上手机的屏幕的分辨率创建不同的文件夹,系统运行的时候,会自动去选择读取对应的文件夹中的xml,即每种屏幕分辨率的设备需要定义一套 dimens.xml 文件缺点是:假设我.原创 2020-05-12 15:40:50 · 4736 阅读 · 2 评论 -
Android 开发日志之LBS相关开发
根据公司业务需求的展开,需要接入地图,并且在地图上画轨迹曲线以及自定义画区域等等。地图api可以接入百度,高德,或者google。下面以项目接入的高德地图api为例;高德开放平台文档:https://lbs.amap.com/api/webservice/guide/create-project/get-key;按照项目具体需求下载相应的SDK,放入项目libs中;(注意为了兼容...原创 2020-04-29 15:01:55 · 787 阅读 · 0 评论 -
Android 控件备用收集
1.CardView卡片式布局CardView适用于实现卡片式布局效果的重要控件,由appcompat-v7库提供,实际上CardView也是一个FrameLayout,只是额外提供了圆角和阴影效果,看上去有立体的感觉。一般CardView都用在ListView的item布局中。 compile 'com.android.support:appcompat-v7:25.2.0' c...原创 2020-04-28 11:31:48 · 206 阅读 · 0 评论 -
android MVVM框架踩坑之旅
1.Cause: couldn't make a guess for {Class Name}错误分析:问题出在type引用对象 的包名中包含了大写<variable name="ss" type="cn.hand.myapplication.MyHandlers" />解决方法:包路径都为小写总结:代码书写要规范,...原创 2020-04-27 11:35:40 · 648 阅读 · 0 评论 -
热修复Tinker 集成bug
1.Caused by: com.tencent.tinker.loader.TinkerRuntimeException: Tinker Exception:applicationLike must not be null.2.Error:java.lang.RuntimeException: Annotation processors must be explicitly ...原创 2020-04-24 15:19:09 · 1779 阅读 · 2 评论 -
插件化BUG编译收集
Error:FAILURE: Build failed with an exception.* What went wrong:Task '' not found in root project 'android-visualizer-master1'.* Try:Run gradle tasks to get a list of available tasks. Run with...原创 2020-04-22 17:52:40 · 279 阅读 · 0 评论 -
android apk包大小优化详解
1.使用开发工具 android studioBuild > Analyz APK2.文件说明assets:存放一些配置文件res:资源文件,图片、字符串、xml等classes.dex:字节码文件resources.arsc:编译后的二进制资源文件META-INF:存放的是签名信息,用来保证apk包的完整性和系统的安全。接下来就从res,classes.dex ...原创 2020-04-14 11:56:23 · 3061 阅读 · 0 评论