![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
框架原理
文章平均质量分 92
且听风吟9527
这个作者很懒,什么都没留下…
展开
-
Android组件化实战六:路由架构设计
前言结合前面的模块之间的交互,主要分析了类加载、全局Map记录(跳转目标Class)两种交互方式,以及APT和JavaPoet技术生成类文件,本文分析组件化的路由架构,我们到底需要通过APT和JavaPoet生成什么样的类文件呢?组件化路由架构设计先来看这样一幅架构设计图,组文件记录是一对一的即一个子模块对应一个组文件记录,而一个组文件记录对应多个路径文件记录,第二点比较好理解,因为各个子模块有多个Activity,对应多个路径信息。对应第一点,为什么要生成一对一的组(名)文件记录呢?试想一下,如果原创 2020-06-25 07:29:17 · 747 阅读 · 0 评论 -
Android组件化实战五: APT的高级用法JavaPoet
前言上一篇文章简单介绍了APT及其使用,生成相应的java文件,帮我们执行相关的操作,生成java文件的方式是字符串拼接的方式,但是如果要生成的java文件成员属性和方法比较多,这种方式就比较麻烦了,而且容易出现人为失误。所有就有了API调用的方式生成java文件,也就是JavaPoet。什么是JavaPoet项目主页及源码:https://github.com/square/javapoetAPT + JavaPoet = 超级利刃JavaPoet是square推出的开源java代码生成框架,提原创 2020-06-18 10:49:15 · 696 阅读 · 0 评论 -
Android组件化实战四: APT的介绍与使用
前言上一篇文章分析了组件化模块交互的两种实现方式,对于全局Map保存目标Activity的路径信息和类对象方案,如果Activity的数量繁多,则需要在主模块app的application中重复执行多次保存操作,既不优雅,又不符合实际开发场景,我们想到的解决之一就是想办法生成一个来完成这个重复枯燥的任务,生成一个类来帮我们找到跳转目标Activity的class对象。好比Butterknife生成一个文件专门完成findViewById的操作一样。这就涉及到注解处理器即apt技术,接下来就了解apt的使用原创 2020-06-18 08:20:06 · 2010 阅读 · 4 评论 -
Android 组件化实战二: 项目部署
前言组件化项目的意义主要体现在这几个方面,首先就是面试的时候,如果简历上写了三五年的工作经历,但是被问到组件化的相关原理打不上来,确实说不过去。在开发需求层面,即不相互依赖、又可以相互交互、任意组合、高度解耦;在团队开发效率层面,可以分模块打包、测试,统一版本管理。Phone Module和Android Library区别、切换[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uZF1rvIC-1591940447347)(C:\Users\dell\Pictures\C原创 2020-06-12 13:43:08 · 760 阅读 · 0 评论 -
Android 组件化实战一: Gradle基础语法
前言组件化的重要性无需多言,Android 组件化系列文章旨在彻底掌握组件化的原理,从0到1搭建一个自定义的组件化框架。本文主要介绍组件化过程中项目部署涉及的Gradle基本语法。打印信息// 在app/build.gradle文件中println("hello world!")println"hello world!"println'hello world!'效果一样:hello world!println 666结果:666变量的使用方式在工程根目录新建文件gradle文件con原创 2020-06-12 09:04:51 · 852 阅读 · 0 评论 -
EventBus的使用及实现原理
1.EventBus的介绍与使用1.1常见的组件间的通信方式Intent:跳转+传参(局限性非常大)Handler:通常用来更新主线程UI,使用不当容易出现内存泄露Interface:接口回调,仅限于同一线程中数据交互BroadcastReceiver:有序广播+无序广播AIDL:跨进程通信,代码阅读性不友好,维护成本偏高EventBus优点代码简单,快Jar包小,~50k...原创 2020-03-14 13:28:20 · 1965 阅读 · 0 评论 -
Android LiveData(二):源码分析
Android LiveData(二):源码分析有上文对LiveData的基本认识,接下来直接进入LiveData的源码分析,首先进入observer方法,需要注意的是MainActivity继承AppCompatActivity,是LifecycleOwner接口实现类的子孙。而调用observer方法时传入当前MainActivity的上下文,可以理解为owner就是当前的MainActivity。public void observe(@NonNull LifecycleOwner owner,原创 2020-11-17 13:38:09 · 462 阅读 · 0 评论 -
Android LiveData(一):介绍和简单使用
传统的组件间的通信方式有Handler、BroadcastReceiver,Interface、EventBus等等方式实现,他们有自己适合的应用场景,也有各自的弊端。这里介绍新的组件通信同时LiveData,它是一个数据持有类,具有以下特点:数据可以被观察者订阅能够感知组件(Fragment、Activity、Service))的生命周期组件处于active状态时,会通知观察者有数据更新对于观察者模式,不妨先看一个自己模仿LiveData写的简单的例子,数据持有类:public class原创 2020-11-17 11:55:12 · 1874 阅读 · 0 评论