
android开发
文章平均质量分 80
小宝一号
这个作者很懒,什么都没留下…
展开
-
无痕埋点在Android中的实现
Android无痕埋点技术实现方案原创 2023-02-02 22:10:45 · 5437 阅读 · 1 评论 -
glide-源码解析-2
glide-源码解析-2原创 2022-08-12 18:15:26 · 647 阅读 · 0 评论 -
Tinker源码解析
tinker源码解析原创 2022-08-03 10:22:57 · 1577 阅读 · 0 评论 -
gradle-5 运行&尾篇
gradle 运行及结束阶段原创 2022-08-02 11:47:27 · 701 阅读 · 0 评论 -
gradle-4-构建有向无环图
how to build taskgraph in gradle?原创 2022-08-02 10:22:01 · 750 阅读 · 0 评论 -
gradle-3-(configure篇)
gradle之configure篇原创 2022-07-31 20:47:11 · 1129 阅读 · 0 评论 -
Android Lifecycle源码解析(一)
Android Lifecycle源码解析(一)首先我们看HomeActivity中我们添加到一行代码public class HomeActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate...原创 2020-03-22 10:05:34 · 523 阅读 · 0 评论 -
Android Lifecycle组件使用
Android Lifecycle组件使用android中很多组件都具备生命周期功能,系统框架会在适合时机调用相应的生命周期方法,作为开发者在开发业务时可能需要争对组件的生命周期需要作出相应的处理;比如ondestory需要释放资源,防止内存泄漏甚至引发应用崩溃;Android的生命周期Lifecycle就是用来解决该问题,同时可以将业务处理代码从Fragment或Activity相关的生命周...原创 2020-03-21 21:29:09 · 460 阅读 · 0 评论 -
如何扩展Android富文本之Html标签
前言大家都知道Android 富文本其实就是HTML标签那些东西,但Android本身对其支持有限,今天就说说如何对其进行扩展富文本在Android设置富文本一般如下String txt = "<strong>Hello World</strong>";textView.setText(HtmlCompat.fromHtml(txt,HtmlCompat.FROM...原创 2019-10-27 21:38:39 · 2562 阅读 · 0 评论 -
Android-带你从源码角度理解SharedPreferences存储原理
SharedPreferences因非常适合存储较小键值集合数据且使用非常简单的特点,而受到广大程序员们热爱。原创 2017-11-14 15:42:08 · 3474 阅读 · 1 评论 -
Android组件化初探
Android组件化初探1. 现状随着业务增加,代码量急剧增加,大大延长了编译时间,短则3min,长则7、8min;反正就是时间太太太太太太长。。。。。。很多同学为节省开发时间,自己新建新的app,完成开发后,再合并到project中2. 原理编译期间动态设置自己业务Module属性(app/library) 在开发期间,只需要编译自己的业务模块代码,并将自己业务模块Module原创 2017-09-11 17:03:21 · 422 阅读 · 0 评论 -
迁移至Android3.0遇到一些问题
一、AS3.0新增功能此处略(自行Google )官方文档二、迁移后速度对比 gradle2.2 gradle3.0 首次 770s 260s 修改代码(一行) 291s 123s 修改代码(一行) 250s 140s 修改代码(一行) 252s 119s迁移后3.0后速度提升接近50%左右;首次build使用6min左右,以后每次能控制原创 2017-11-25 13:16:14 · 515 阅读 · 0 评论 -
AndroidStudio 常用配置
1. 设置主题&左侧导航栏字体AndroidStudio->Preferences(下同)2. 设置字体大小3. 取消竖线间距设置大些 4. 控制台字体大小5. 修改LogCat颜色 LogCat 色值 Verbose BBBBBB Debug 48BB31 Info 0070BB Warn BBBB23 Error FF0006 Assert原创 2017-09-09 21:30:37 · 569 阅读 · 0 评论 -
如何快速将Android库发布到JCenter
将Android库发布到jcenter是为了更方便到引用 步骤主要分为一下几个步骤 1. 新建工程和要发布到moule 2. 修改工程和module的build.gradle 3. 访问https://bintray.com/ 注册账号并新建一个仓库 4. 执行clean install publish bintrayUpload 任务 5. 将库发布到jceter等待审核通过 6....原创 2018-07-16 10:02:55 · 556 阅读 · 0 评论 -
Android-源码解析Handler&Looper
Handler是可以用来发送消息,或者一个Runable;消息/Runable可以在指定的线程(由Handler中的Looper决定)中接受/执行; MessageQueue:就是消息队列,用来存放消息的 Looper:就是一个对消息进行转发给handler的类我们看看使用Handler常用下面代码public class TestActivity extends Activity {原创 2017-06-10 13:28:42 · 343 阅读 · 0 评论 -
Android-Multidex安装流程解析
Android-Multidex安装流程解析关于为什么需要引入Multidex支持以及如何配置Multidex可参考官网,本篇不做阐述,本篇着重分析Multidex1.0.2源码进行分析大家都知道配置Multidex都需要在Application中的添加这样代码public class MyApplication extends SomeOtherApplication { @原创 2018-02-01 14:00:40 · 1984 阅读 · 0 评论 -
ARouter介绍
Android平台中对页面、服务提供路由功能的中间件原创 2018-05-26 16:57:01 · 1211 阅读 · 4 评论 -
ARouter源码探究
其实ARouter有上述功能我总结有二个关键点:APT、反射;我们从编译期,ARouter初始化,运行时三个方面进行分析原创 2018-05-26 17:25:33 · 442 阅读 · 0 评论 -
Ubuntu系统配置JDK环境变量
Ubuntu系统中 配置JDK环境变量原创 2018-07-05 16:53:29 · 924 阅读 · 0 评论 -
Android如何自定义Gradle插件
Android-如何自定义gradle插件自定义gradle插件可以实现定制自己的构建流程,以达到复用目的;1. 自定义插件方式自定义插件有三种方式添加脚步 在你的app项目的build.gradle中直接使用groovy脚步语言编写插件 这样方式好处是插件能自动变异且被包含到构建脚步中,你无需做任何处理;缺点是插件到逻辑都放到都build.gradle中去了,增加了脚步的复...原创 2018-07-12 15:32:44 · 2109 阅读 · 0 评论 -
搭建Jenkins+Sonarqub+Mysql+Android(上篇)
搭建Jenkins+Sonarqub+Mysql平台以下都是在Ubuntu16.04系统下搭建1. 搭建jenkinsJDK配置具体参照参见上篇文章Tomcat配置 首先下载官网tomcat 本文选择8.5.x版本以支持java7android later列表内容快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 ...原创 2018-07-06 17:56:24 · 598 阅读 · 0 评论 -
Android-实现一个简单的自动翻译插件
目录实现一个简单的自动翻译插件实现思路几个重要的实现方法1、解析xml2、写文件3、 翻译使用实现一个简单的自动翻译插件最近在开发项目是要将Android相关的资源进行国际化,需要将values目录中所有相关的字符串资源(中文),生成匹配的一套英文且保存在values-en目录;当然国际化不仅仅是要英文还要提供台湾等其他语言,这里为了演示方便,只说下如何实现一个简单的翻译成英文的gradle插...原创 2018-10-17 15:46:21 · 4499 阅读 · 0 评论 -
Android 优化电池使用时间 ——监控电池电量和充电状态
时常看Android官网开发文档,最近突然发现官网提供了一些中文翻译文档,真心感觉不错。考虑很大一部分童鞋都生活在大中华局域网里,不能畅游世界,特转载相关系列文档,以供大家一起学习,原文参见此处。监控电池电量和充电状态如果您要更改后台更新频率,从而减少更新对电池使用时间的影响,最好先查看当前的电池电量和充电状态。对应用进行更新会影响电池使用时间,具体取决于设备的电池电量和充电状态。转载 2015-06-07 19:43:00 · 1151 阅读 · 0 评论 -
Android-JS&Native交互的几种可行性方案&H5白屏问题解决方式
在Android中可能因为业务场景需要,JS需要调用Native业务逻辑代码,Native需要通知JS,也即需要实现JS和Native之间通信;Java通知JS方式:WebView.load("javascrpt:method("+param+");");JS通知Java有如下几种方式1、addJavascriptInterface具体使用示例参见官网描述但该方案存在版本兼容问题,在4.2版本以下系原创 2019-10-27 22:03:25 · 1196 阅读 · 0 评论 -
Android-完美解决在Activity中触摸返回键onBackPressed不能触发问题
Android-解决在webview中onBackPressed不能回调问题原创 2017-07-09 22:15:56 · 11458 阅读 · 2 评论 -
RxJava中BehaviorSubject适合的使用场景
上篇大体介绍了RxJava中几种常见的Subject特性下面我们着重阐述BehaviorSubject适合的使用场景场景1:A页面正在请求数据立马跳到B页面,B页面希望能够接受到A页面发起请求返回的数据原创 2016-09-11 12:23:05 · 12766 阅读 · 0 评论 -
Android 解决mac无法识别手机设备
1.获取设备Vendor ID信息(厂商ID) 进入终端输入system_profiler SPUSBDataType 你可以看到通过USB连接的设备信息,魅族Vedor ID:0x245 样例如下: 你也可以通过点击 关于本机>系统报告>硬件>USB>USB设备树中查找设备的Vedor ID 样例如下 2.将获取的Vendor ID添加到adb_原创 2015-09-22 14:21:57 · 1464 阅读 · 0 评论 -
带你彻底理解RSA算法原理
1. 什么是RSARSA算法是现今使用最广泛的公钥密码算法,也是号称地球上最安全的加密算法。在了解RSA算法之前,先熟悉下几个术语 根据密钥的使用方法,可以将密码分为对称密码和公钥密码 对称密码:加密和解密使用同一种密钥的方式 公钥密码:加密和解密使用不同的密码的方式,因此公钥密码通常也称为非对称密码。原创 2015-10-09 21:08:47 · 114006 阅读 · 46 评论 -
Android 解析AsyncTask(一)
AsyncTask是个抽象类,如果你使用的话必须要实现doInBackground(Params…)方法,一般的话你也要复写onPostExecute(Result)原创 2015-07-25 19:18:01 · 352 阅读 · 0 评论 -
Android 优化电池使用时间——确定和监控基座对接状态和类型
确定和监控基座对接状态和类型Android 设备支持几种不同类型的基座。这些类型包括车载或家用基座以及数字和模拟基座。许多基座可用于为插入的设备充电,因此基座状态通常与充电状态紧密相关。您可以根据手机的基座状态调整更新频率,具体取决于相关应用。如果设备插入的是桌面基座,您就可以提高体育中心类应用的更新频率;如果设备插入的是车载基座,您就可以完全停用此类更新。相反,如果设备插入的是车载基座转载 2015-06-07 20:16:53 · 462 阅读 · 0 评论 -
Android 优化电池使用时间——确定和检测网络状态
确定和监控网络连接状态重复提醒和后台服务最常见的用途之一,就是为来自互联网资源的应用数据、缓存数据安排定期更新或执行长时间运行的下载任务。但是,如果您没有连接互联网,或因连接过慢而无法完成下载,那就根本没必要唤醒设备并安排更新了。您可以使用 ConnectivityManager 查看是否确实已连接互联网,如果已连接,您还可以了解当前的连接类型。确定是否已连接互联网如果设备未连接互联网转载 2015-06-07 22:04:12 · 798 阅读 · 0 评论 -
Android 优化电池使用时间——根据需要操作广播接收器
根据需要操作广播接收器监控设备状态变化的最简单方法就是,为您监控的每种状态创建 BroadcastReceiver 并在应用清单中逐一进行注册。然后,您只需根据当前设备状态在每个接收器中重新安排重复提醒即可。此方法的负面影响在于,只要系统触发了这些接收器中的任何一个,相关应用就会唤醒设备,其频率可能会远远超过所需的水平。更好的方法是在运行时停用或启用广播接收器。转载 2015-06-07 22:17:13 · 633 阅读 · 0 评论 -
Android IntentService解析
在开发安卓应用程序时,除非你指定,否则绝大部分执行动作都运行UI线程中。这种机制会引发一些问题,因为耗时操作会妨碍用户交互行为。这会让用户感到懊恼,甚至引发ANR错误。幸运的是,Android框架提供了一些类帮助我们把这些耗时的操作到转移到后台线程中去了。原创 2015-06-07 22:54:05 · 536 阅读 · 0 评论 -
AndroidStudio常用快捷键及其设置
AndroidStudio常用快捷键及其设置AndroidStudio常用快捷键及其设置常用快捷键常用的设置1. 常用快捷键 Action Mac OSX Win/Linux 注释代码(//) Command + / Ctrl + / 注释代码(/**/) Cmd + Option + / Ctrl + Shift + / 格式化代码 Cmd + Opti原创 2015-05-29 17:35:13 · 580 阅读 · 0 评论 -
RxJava中常见的几种Subject
RxJava 几种常见的SubjectPublishSubject、BehaviorSubject、ReplaySubject、AsyncSubject、SerializedSubject原创 2016-09-06 23:22:34 · 5059 阅读 · 1 评论 -
反编译工具Jadx
反编译工具JadxMac环境下反编译的工具不是很多,个人认为Jadx是Mac环境下做的比较好的反编译工具原创 2016-10-19 23:13:40 · 1789 阅读 · 0 评论 -
Android之Badge显⽰
Badge概述所谓Badge,原本是IOS上的一个效果,指的是当手机接收到推送消息后,会在手机桌⾯面对应的App图标的右上角显示一个未读消息数的提⽰。而在Android系统中,手机桌面的管理是在系统应用Launcher上实现的,然而在原生的Android系统中,Launcher是不提供改功能效果的。但是,由于Android的AOSP(Android开放源码项目)代码能够被各大ROM厂商修改原创 2016-11-20 16:26:45 · 4969 阅读 · 6 评论 -
Android-监听虚拟键盘状态
Android-监听虚拟键盘隐藏/显示原创 2017-07-02 09:47:04 · 758 阅读 · 0 评论 -
Android - aar文件资源重复引起的打包失败解决方法
资源冲突有时候我们在集成第三方aar包时会发现aar里面引用的资源和自己工程的里面的某些资源文件名称一样,这会在打包时会报错,并提示某个资源文件重复原创 2017-04-20 23:03:39 · 6595 阅读 · 0 评论 -
Mac 解压Android NDK.bin文件
获取文件权限chmod a+x android-ndk-r10e-xxxxx.bin 解压文件./android-ndk-r10e-xxxxx.bin原创 2017-04-16 22:59:24 · 604 阅读 · 0 评论