Android组件化
文章平均质量分 70
今阳
这个作者很懒,什么都没留下…
展开
-
Android组件化架构 - 10.编译优化
软件研发中,耗费最多时间的并不是编写代码,而是代码编译和代码不断调试的过程软件试错时间Android基础编译流程编译构建的四个步骤:代码编译:将源代码,R文件,AIDL生成的文件等 编译成.class文件代码合成:通过dex工具将.class文件和工程依赖的第三方库文件生成虚拟机可执行的.dex文件,如果使用了MultiDex会产生多个dex文件;资源打包:apkbuilder工具将.dex文件,apt编译后的资源文件,三方库中的资源文件打包生成签名对齐的apk文件签名和对齐.原创 2021-01-04 11:07:47 · 354 阅读 · 0 评论 -
Android组件化架构 - 9.Gradle优化
gradle本质是一个自动化构建工具, 使用基于groovy的特定领域语言来声明项目设置;根目录的gradle文件buildscript {//构建脚本引用 ext { kotlin_version = '1.3.72' } repositories {//插件仓库配置 google() jcenter() mavenCentral() } dependencies {//依赖插件原创 2020-12-30 08:46:23 · 468 阅读 · 0 评论 -
Android组件化架构 - 8. 多渠道打包
一个apk包也可以发布到多个市场,为什么需要多渠道?当哪个渠道需要统计用户多少,用户粘性,需要更加个性化设计时,我们需要在apk中添加渠道信息以区分不同市场;Android的两种签名方式Android7.0以前,使用V1签名方式,是jar signature,源自于JDK;Android7.0之后,使用V2签名方式,是Android独有的apk signature;v1方式7.0前后都可用,v2方式7.0以下会安装失败,Android Studio可以同时选择两种签名方式(一个apk..原创 2020-12-29 09:17:22 · 296 阅读 · 0 评论 -
Android组件化架构 - 7. 混淆
1. 混淆(proGuard)有压缩Shrinking, 优化Optimization, 混淆Obfuscation,预校验Preverification四项操作;开启混淆需要在module的build.gradle中配置buildTypes { release { //打开混淆 minifyEnabled true //打开资源压缩 shrinkResources true //设置混淆规则文件的路径原创 2020-12-28 09:04:40 · 255 阅读 · 0 评论 -
Android组件化架构 - 6. 权限管理
权限的目的权限设立的目的是保护安全权限机制系统权限分三种:Android所有者权限,即Android Rom开发权限;Android Root权限,Linux系统中的最高用户权限;Android 应用程序权限,应用开发者在项目的AndroidManifest中声明,然后由用户授权获取(Android 应用程序权限分为两种,普通权限(不涉及用户隐私,系统自动授权)和敏感权限(涉及用户隐私,需要用户手动授权))1. 原生运行时权限请求工具类封装/** * @Author: LiuJi原创 2020-12-24 13:41:06 · 150 阅读 · 0 评论 -
Android组件化架构 - 5. 数据存储 & GreenDao, Room
1. 数据的存储方式最常用的五种数据存储方式: SharePreferences, File I/O, SQLite, ContentProvider, 网络2. 组件化存储Android原生的存储体系是全局的,在组件化的开发中,五种原生的存储方式是完全通用的;比较值得介绍的是两个主流的数据库框架GreenDao,RoomGreenDao是目前众多orm数据库中最稳定,速度最快,编写体验最好的框架,并且支持RxJava, 支持sqlcipher数据库加密// 一. greenDao的使用//原创 2020-12-23 14:34:25 · 585 阅读 · 0 评论 -
Android组件化架构 - 4. 动态创建 & 反射机制
Android 组件化中使用动态创建的作用是解耦;1. 反射机制反射有两个作用:1.反编译:.class->.java;2.通过反射机制访问java对象中的属性,方法,构造器等;实现反射,实际上是得到Class对象data class Person(val name: String = "") { private var age = -1 fun setAge(age: Int) { this.age = age } over.原创 2020-12-22 20:30:30 · 290 阅读 · 0 评论 -
Android组件化架构 - 3. 组件间跳转 & ARouter路由
组件间跳转 & ARouter路由常见的跳转,对于用户来说就是页面跳转,对应Android中就是activity或fragment间的跳转,那我们肯定第一时间就想到,用startActivity()发送一个包装好的intent,将intent交给ActivityManagerService完成新的Activity创建。但是组件化中,两个功能模块是不存在直接依赖关系的(通过baseModule间接依赖),那么包装intent时就会发现引用不了其他module中的activity类(xxx.cl原创 2020-12-22 15:40:02 · 497 阅读 · 3 评论 -
Android组件化架构 - 2. 组件间通信机制
本地广播LocalBroadcastManager说到组件间通信第一个肯定想到广播BroadcastReceiver,但是这里要说的是一个更优的选择---本地广播LocalBroadcastManager; 优点:只在app内传播, 信息不会泄露,也不会被别人的广播干扰, 且比全局广播更高效; 缺点:但是本地广播传输消息时将一切都交给系统负责,无法干预传输中的步骤; 使用观察者模式 使用demo:class LocalBroadcastActivity : AppCo原创 2020-12-22 15:38:13 · 526 阅读 · 1 评论 -
Android组件化架构 - 1.组件化基础
组件化基础组件化是什么开发中经常会对项目进行封装,比如一些基础库,功能模块,但迭代久了各业务模块互相调用就形成一团乱麻(高耦合),难以扩展和维护。于是逐渐有人提出了组件化(单一功能,功能导向),模块化(独立业务,业务导向),插件化;本质都是为了代码重用和解耦。2.依赖有依赖才能产生关系,有关系才能传递信息,先说一下Android Studio(以下简称AS)支持的几种依赖方式:jar dependency:lib文件夹下的.jar和.aar文件; module dependency原创 2020-12-22 15:35:17 · 146 阅读 · 0 评论