
Android 技术点总结
文章平均质量分 77
本栏目收录Android小的技术点,归纳总结以方便使用
若之灵动
专注于移动应用研发
展开
-
Android 增量更新实战
增量更新实战原创 2022-10-10 15:48:14 · 1296 阅读 · 0 评论 -
Android ANR问题定位 实战
Android ANR问题定位 实战原创 2022-08-04 21:25:58 · 4436 阅读 · 0 评论 -
Android Gradle生命周期与Gradle 自定义插件
文章目录1.Gradle生命周期2.生命周期监听方法3.Gradle Project4.Gradle Task5.自定义gradle插件的流程5.1.编写一个插件类,实现Plugin5.2编写task任务5.3.配置properties文件5.4配置插件的build.gradle5.5使用自定义的插件6.0插件的debug调试配置6.1通过Edit Configurations 点击左上角的+按钮,创建一个remote,随便取个名字6.2找到我们创建的task,鼠标右击弹出菜单,点击:create Run原创 2022-05-23 00:31:47 · 850 阅读 · 0 评论 -
Groovy 编程必备
文章目录1.Groovy开发环境配置2.变量与字符串3.闭包语法与基本使用4.常用数据结构5.JSON与XML解析6.文件操作1.Groovy开发环境配置研发工具:Intellij IEDA 地址:https://www.jetbrains.com/idea/download/groovySDK配置 地址:https://groovy.apache.org/download.html 配置环境变量 GROOVY_HOME=\apache-groovy-sdk原创 2022-05-22 17:41:15 · 536 阅读 · 0 评论 -
Android ASM 字节码插桩 实战
字节码插桩:就是由class到dex之前修改class文件,达到增强现有类的功能。1.Android工程的构建过程1.Android Resources–>通过aapt–>R.java2.aidl Files–>通过aidl–>java interface3.(R.java、Android Resouce code、java interface)–>java compile–>.class Files4.(.class Files、3rd Par原创 2022-05-03 11:41:11 · 1281 阅读 · 0 评论 -
Android-Rxjava在项目中的应用
Android-Rxjava 常用操作符1.应用场景 延时执行操作 默认是子线程 可以通过observeOn 切换的是观察者的执行线程Observable.just(1).delay(2000,TimeUnit.MILLISECONDS) // .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Consumer<Object>() { @Override public void a原创 2022-04-30 20:47:02 · 1459 阅读 · 0 评论 -
Android-注解篇
1.什么是注解 从JDK 5 开始,Java 增加了注解,注解是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。通过使用注解,开发人员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充的信息。2.注解的分类注解包含:标准注解和元注解。标准注解@Override:对覆盖超类中的方法进行标记,如果被标记的方法并没有实际覆盖超类中的方法,则编译器会发出错误警告。@Deprecated:对不鼓励使用或者已过时的方法添加注解,当编程人员使用这些方法时,将会原创 2022-04-28 14:51:57 · 1116 阅读 · 0 评论 -
注入框架Hilt
1.什么是HiltHilt是Android团队基于Dagger2,开发的一个专门面向Android的依赖注入框架,相比于Dagger2,Hilt具有一下的优势:使用加单提供了Android专属API2.Hilt在那些方面做了优化不再需要编写大量的Component代码Scope会与Component自动绑定3.Hilt 目前支持一下Android的类Application @InstallIn(ApplicationComponent.class)Activity原创 2022-04-24 22:08:00 · 1749 阅读 · 0 评论 -
Android-Rxjava 常用操作符
Rxjava的优势提高工作效率能优雅的解决复杂的业务场景1.Rxjava原理RxJava 的原理就是创建一个 Observable 对象来干活,然后使用各种操作符建立起来的链式操作,就如同流水线一样,把你想要处理的数据一步一步地加工成你想要的成品,然后发射给 Subscriber 处理。2.使用Rxjava需要添加的依赖 implementation 'io.reactivex.rxjava2:rxandroid:2.1.1' implementation 'io.reactivex.原创 2022-04-02 21:15:58 · 4824 阅读 · 4 评论 -
Android-插件化三插桩实现广播的加载
本篇是在实现Activity的基础上做的,插件apk的加载这块没有变化,所以本篇之介绍关于Broadcast加载的内容1.宿主apppublic class ProxyBroadCast extends BroadcastReceiver { private String mClassName; private MSInterfaceBroadcast msInterfaceBroadcast; public ProxyBroadCast(String className,C原创 2022-03-10 14:59:54 · 2663 阅读 · 0 评论 -
Android-插件化二插桩实现Service的加载
Android-插件化一插桩实现Activity的加载本篇是在实现Activity的基础上做的,插件apk的加载这块没有变化,所以本篇之介绍关于Service加载的内容1.宿主apk内定义插桩Servicepublic class ProxyService extends Service { public static final String KEY_SERVICE_NAME="serviceName"; String serviceName; MSInterfaceSe原创 2022-03-09 13:55:28 · 3013 阅读 · 0 评论 -
Android-插件化一插桩实现Activity的加载
1.插件化定义插件化,就是把一些核心复杂依赖度高的业务模块封装成插件,然后根据不同的业务进行不同的组合,动态进行替换。2.插件化跟组件化的差异组件化:是将一个app分成多个模块,每个模块都是一个组件,开发过程中我们可以让这些组件相互依赖或者单独调试部分组件,但是最终发布的时候是将这些组件合并成一个统一的apk,这就是组件化。插件化:跟组件化不同,插件化开发就是将整个app拆分成很多模块,每个模块都是apk(组件化每个模块是一个lib),最终发布的时候宿主和插件apk分开打包,插件apk通过动态下发的原创 2022-03-07 16:34:56 · 796 阅读 · 0 评论 -
Android-Kotlin-网络
Android上发送HTTP请求,一般有两个方式:HttpURLConnection和HttpClient。HttpClient由于存在API数量多,扩展困难缺点,Android6.0开始HttpClient的功能完全移除,被废弃。Android 9.0开始,应用程序默认值允许使用HttpS类型的网络请求。如果测试想请求Http的请求,需要配置network-security-config进行网络请求,请先配置权限:1.纯HttpURLConnection进行数据请求private fun doRe原创 2022-02-28 20:34:40 · 1866 阅读 · 0 评论 -
Android-Kotlin-ContentProvider技术点
ContentProvider内容提供者,主要用于再不同的应用程序之前实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另外一个程序的数据,同时还能保证数据的安全性。通讯录的联系人信息,短信信息,媒体库信息等都通过这个方式把数据共享出来,第三方可以获取到进行二次开发。1.ContentProvider访问程序的数据contentProvider的用法有两种使用现用的ContentProvider访问相应程序的数据。创建自己的contentProvider给程序的数据提供外部访问接口。原创 2022-02-17 21:00:20 · 1794 阅读 · 0 评论 -
*Android-Kotlin-数据持久化技术点
1.数据持久化的方式Android中主要提供了三种数据持久化的方式:文件存储、SharePreferences存储以及数据库存储2.文件存储fun save(inputText:String){ val output=openFileOutput("data", Context.MODE_PRIVATE) val write=BufferedWriter(OutputStreamWriter(output)) write.use { it.write(inpu原创 2022-02-17 16:17:07 · 1968 阅读 · 0 评论 -
Android-Kotlin-Fragment技术点
1.Fragment定义Fragment是一种可以嵌入在Activity当中的UI片段,它能够让程序更加合理的利用屏幕空间,可以把它理解成一个迷你型的Activity2.Fragment声明周期onAttach()->onCreate()->onCreateView()->onActivityCreate()->onStart()->onResume()->onPause()->onStop()->onDestroyView()->onDestro原创 2022-02-15 15:32:30 · 2146 阅读 · 0 评论 -
Android-Kotlin-Broadcast技术点
Android中为了便于系统级别的消息通知,引入了广播机制。如果想接收到广播就必须要注册广播接收者-BroadcastReceiver1.广播的分类标准广播:是一种完全异步的广播,发出后所有的接收者会几乎同时接收到,没有向后顺序可言,这种广播效率比较高。有序广播:是一种同步广播,同一时刻只有一个接收者接收到这个广播,并且有优先级的概念,优先级高的接收者先接收到这个广播。接收到这个广播的接收者可以终止这个广播。2.注册广播动态注册:在代码中注册的接收者,需要在相对应的声明周期里边进行反注册。原创 2022-02-15 00:02:58 · 1244 阅读 · 0 评论 -
Android-Kotlin-Material Design技术点
1.Material design 定义Material design 是由google的设计工程师基于优秀的设计原则,结合丰富的创意和科学技术所开发的一套全新的界面设计语言,包含了视觉、运动、互动特效等特性。2.Toolbar的使用Toolbar不仅继承了ActionBar的所有功能,而且灵活性很高,可以配合其他控件完成一些Material Design的效果。创建项目的时候默认会使用ActionBar,这个是在AppTheme中定义的。如果想使用toolbar需要指定不带ActionBar的主题原创 2022-02-14 00:06:28 · 786 阅读 · 0 评论 -
Kotlin-Service技术点
1.Service的定义Service是Android中实现程序后台运行的解决方案,它非常适合执行那些不需要和用户交互还要长期运行的任务。2.Service运行所在环境Service不不是运行在独立的进程,而是依赖于创建Service时所在应用进程,当所在的应用程序进程被杀掉时,所有依赖该进程的Service都会被杀死。3.Service执行代码逻辑是否会阻塞主线程Service并不会自动开启线程,所有代码逻辑默认运行在主线程,如果直接执行耗时的任务就会有阻塞主线程的风险,所以如果需要执行耗时操作原创 2022-02-11 22:22:03 · 1703 阅读 · 0 评论 -
Gradle 通用配置项
Gradle 是Android studio 标配的构建系统,所以必须对它有基本的认识才行。共享变量的定义Gradle开发中会遇到很多相同的配置,例如不同的module中都要配置compileSdkVersion、buildToolsVersion等变量的值,这些公共的配置称为共享变量。一般情况下,他们的取值都应该保持一致,那么就需要统一管理这些配置。一般需要在项目的根目录定义一个common_config.gradle配置文件。ext { //Android 编译版本相关原创 2022-01-22 16:51:24 · 2414 阅读 · 0 评论 -
Kotlin-Activity技术点
1.生明周期onCreate->onStart->onResume->onPause->onStop->onDestroy注意:当启动dialog或者dialog样式的activity的时候,之前的activity走onPause不会走onStop方法2.启动模式standard 被启动不管是否存在栈空间重新创建实例singleTop 被启动只有当处于栈顶才会被重用,其他时候会创建实例singleTask 被启动栈顶直接重用,不在栈顶处在这个activity上面原创 2022-01-14 22:21:16 · 1554 阅读 · 0 评论