android架构师之路
zkq49099
这个作者很懒,什么都没留下…
展开
-
android架构师之路——APT和 Javapoet 实现Butterknife
介绍APT(Annotation Processing Tool)即注解处理器,是一种处理注解的工具,确切的说它是javac的一个工具,它用来在编译时扫描和处理注解。注解处理器以Java代码(或者编译过的字节码)作为输入,生成.java文件作为输出。使用APT的优点就是方便、简单,可以少些很多重复的代码。用过ButterKnife、Dagger、EventBus等注解框架的同学就能感受...原创 2019-12-10 18:26:18 · 384 阅读 · 0 评论 -
android架构师之路——自定义注解
定义注解定义注解用的关键字是:@interface元注解元注解:元注解共有四种@Retention, @Target, @Inherited, @Documented@Retention注解位置@Retention(RetentionPolicy.SOURCE) //注解仅存在于源码中,在class字节码文件中不包含 @Retention(RetentionPolicy...原创 2019-12-09 17:04:54 · 139 阅读 · 0 评论 -
android架构师之路——IOC原理,简单实现BufferKnife
简介Inversion of Control,英文缩写为IOC,字面翻译:控制反转。什么意思呢?就是一个类里面需要用到很多个成员变量,传统的写法,你要用这些成员变量,那么你就new 出来用呗!IOC的原则是:NO,我们不要new,这样耦合度太高,你配置个xml文件,里面标明哪个类,里面用了哪些成员变量,等待加载这个类的时候,我帮你注入(new)进去。具体可以参考https://www.j...原创 2019-09-16 19:07:05 · 265 阅读 · 0 评论 -
android架构师之路——RXJava实现方式解析
简介一个可观测的序列来组成异步的、基于事件的程序的库。(简单来说:它就是一个实现异步操作的库)GitHub地址:https://github.com/ReactiveX/Rxjava本文得目的简单解析RXJava原理,RXJava的被观察者,观察者,发射器简单实现,最终完成以下代码操作符create创建被观察者 转换符map实现字符串转换 subscribeOn 线程池转...原创 2019-08-26 15:16:23 · 149 阅读 · 0 评论 -
android架构师之路——插件化换肤
简介模块化:将一个项目的可以共享的部分抽取出来,形成独立的lib 组件化:组件化本来就是模块化的概念。核心是模块角色的可转化换性,在打包时,是library;调试时,时application 插件化:将一个完整的工程,按业务划分为不同的插件,来化整为零,相互配合。插件化的单位是apk(一个完成的应用)。 可以实现apk 的动态加载,动态更新,比组件化更灵活。...原创 2019-08-11 17:22:15 · 194 阅读 · 0 评论 -
android架构师之路——APP外置换肤原理解析
简介前面两个项目android架构师之路——修改app字体讲解了LayoutInflaterCompat.setFactory2的使用方式 android架构师之路——以修改一个图片文件方式讲解APP换肤原理讲解了换肤的原理现在我们就在具体实践中,讲解一下更多的使用场景项目结构app:主项目目录 app_skin:资源项目,生成的apk放在sdcard目录 lib_sk...原创 2019-07-21 17:53:35 · 430 阅读 · 0 评论 -
android架构师之路——以修改一个图片文件方式讲解APP内置换肤原理
简介app换肤,就是将我们设置的对应资源文件,比如drawable,style,textSize等,替换成资源包里面的数据这里我们将以一个简单的替换drawable资源文件,来讲解其原理先来开一个方法,当我们调用getMyResource(R.mipmap.ic_launcher)时候 private int getMyResource(int resId) { ...原创 2019-07-21 13:46:07 · 888 阅读 · 0 评论 -
android架构师之路——面向对象数据库
简介BaseDaoFactory 数据库创建,初始化 IBaseDao 增删改查接口 BaseDao 增删改查具体的实现 User 增删改查的对象 DbField 数据库字段名字标注 DbTable 数据库表名注解我们这里只要是学习对象型数据库实现原理,如果要直接使用,可以查看GreenDao直接使用BaseDaoFactorypublic class BaseD...原创 2019-07-30 11:15:11 · 170 阅读 · 0 评论 -
android架构师之路——修改app字体
android自带的字体通过 android:typeface="normal" 或者 android:fontFamily="monospace"两种方式来设置字体,两者区别在于android:fontFamily是API16以后增加具体字体样式可以参考下图通过ttf自定义字体在assets下新建一个fonts文件,把字体样式文件放进去实现代码如下 /*...原创 2019-07-17 15:57:07 · 548 阅读 · 0 评论 -
android架构师之路——模仿eventbus
EventBus使用1、eventbus简介 eventbus是Android事件发布-订阅总线,简化了活动片段、线程、服务等之间的通信,代码更少,质量更好,可以避免由于使用广播通信而带来的诸多不便。具体使用可以参考:https://github.com/greenrobot/EventBus,我这里主要是简单讲解eventBus的代码逻辑思想,以及自己简单实现一个Ev...原创 2019-07-04 12:33:47 · 343 阅读 · 0 评论 -
android架构师之路——AOP应用(android 6.0权限申请)
简介这篇文章主要是用来将学习的AOP用以实践,如果不清楚aop的使用方法,可以参考:android架构师之路——AOP讲解,如果想要直接使用可以参考:PermissionsDispatcher,如果是学习android 6.0权限申请可以参考:android 6.0 权限申请项目结构@NeedPermission 请求权限的标注,有两个参数:1、value()数组,请求权限数...原创 2019-07-08 20:50:19 · 414 阅读 · 0 评论 -
android架构师之路——AOP讲解
AOP简介AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。1、aop中的术语语Joinpoint(连接点) 所谓连接点是指那些被拦截到的点 Pointcut(切入点) 所谓切入点是指我们要对哪些 Joinpoint 进行拦截的定义 Advice(通知/增强) ...原创 2019-07-01 17:24:47 · 210 阅读 · 0 评论