插件化开发与项目架构
文章平均质量分 93
Sunzxyong
最可怕的不是比你牛逼的有多少人,而是比你牛逼的人还比你更努力!
展开
-
插件化开发—动态加载技术加载已安装和未安装的apk
首先引入一个概念,动态加载技术是什么?为什么要引入动态加载?它有什么好处呢?首先要明白这几个问题,我们先从应用程序入手,大家都知道在Android App中,一个应用程序dex文件的方法数最大不能超过65536个,否则,你的app将出异常了,那么如果越大的项目那肯定超过了,像美团、支付宝等都是使用动态加载技术,支付宝在去年的一个技术分享类会议上就推崇让应用程序插件化,而美团也公布了他们原创 2015-07-29 14:20:16 · 17181 阅读 · 17 评论 -
Android主题切换—夜间/白天模式探究
现在市面上众多阅读类App都提供了两种主题:白天or夜间。 上述两幅图片,正是两款App的夜间模式效果,所以,依据这个功能,来看看切换主题到底是怎么实现的(当然现在github有好多PluginTheme开源插件,很多时候可以使用这些插件,不过我并不想讲怎么用那些插件,正所谓会用轮子还不如会造轮子)。关于更换主题和换肤这里提到是做换主题功能,当然与之类似的就是换肤,换肤现在比较流行的是采用插件化动原创 2015-08-29 16:50:58 · 8540 阅读 · 9 评论 -
Android Data Binding实战(一)
在今年Google I/O大会上,Google推出Design Library库的同时也推出了Android Data Binding,那么什么是Data Binding?其名曰数据绑定,使用它我们可以轻松实现MVVM(模型-视图-视图模型)模式,来实现应用之间数据与视图的分离、视图与业务逻辑的分离、数据与业务逻辑的分离,从而达到低耦合、可重用性、易测试性等好处,那么我们首先先来看看什么是MVVM模原创 2015-08-05 16:07:50 · 3813 阅读 · 0 评论 -
Android Data Binding语法解析(二)
上篇我们知道了Data Binding的最简单的用法,那么Data Binding其中最为重要也是最复杂的其实就是在xml布局文件中给对应的控件进行数据绑定了,接下来就一一说明Data Binding的使用各个场景的语法。我们以User类这个Model为例:public class User { private String userName; private String use原创 2015-08-05 22:05:51 · 7376 阅读 · 4 评论 -
Android免Root无侵入AOP框架Dexposed
Dexposed框架是阿里巴巴无线事业部近期开源的一款在Android平台下的免Root无侵入运行期AOP框架,该框架基于AOP思想,支持经典的AOP使用场景,可应用于日志记录,性能统计,安全控制,事务处理,异常处理等方面。针对Android平台,Dexposed只支持函数级别的在线热更新,如对已经发布在应用市场上的宿主APK,当我们从crash统计平台上发现某个函数调用有bug,导致经常性cra原创 2015-09-09 14:48:35 · 4610 阅读 · 1 评论 -
Android Data Binding高级用法-Observable、动态生成Binding Class(三)
设置View的id虽然说Data Binding这种分层模式使得我们对数据的传递简单明了,一般情况下我们可以不设置View的id,不使用findViewById即可对View进行数据上一系列的操作,不过有时候根据情况我们需要对某些View设置id,但是还是可以不findViewById即可得到该控件的对象,因为设置id后ViewDataBinding类会自动生成对应的控件对象,如:<layout x原创 2015-08-06 16:14:06 · 18579 阅读 · 3 评论 -
Android Data Binding代码实践(告别findViewById)(四)
Data Binding实战(一) Data Binding语法解析(二) Data Binding高级用法(三) 好了,继前三篇学习了Data Binding之后,我们可以发现它的强大之处有这么几点: 1、使用MVVM模式,让整个项目结构清晰明了 2、通过ViewModel连接View和Model,使得View与Model层解耦,分层后各司其职,维护方便 3、易于项目的测试原创 2015-08-06 16:54:29 · 3676 阅读 · 3 评论 -
Otto事件总线框架的使用
Otto是一个在Android中的事件总线框架,它是square的一个开源框架,具体介绍点击这里,项目下载点击这里为什么要使用Otto事件总线: 通常来说在Android中: 1、Activity与Activity间的传值是通过Intent,值回调是通过startActivityForResult() 2、Activity与Fragment间的传值是通过setArguments,值回原创 2015-09-06 16:03:24 · 4370 阅读 · 0 评论