EasyAndroid 是一个android完整的安装开发框架,已经应用于几个生产项目。
EasyAndroid 不是脱离其你原来熟悉的开发框架而另起一套,它只是将原来的流程极大地简化,所以他完全兼容其他开发框架。同时也会兼容Google后续的升级。需要的同学可以放心使用。
github地址:https://github.com/chen397254698/EasyAndroid
EasyAndroid
一个完整基于kotlin的安卓开发框架,采用了mvvm设计模式。涵盖了:
1、基于retrofit2封装的通过kotlin协程实现的网络框架
2、基于阿里开源arouter修改的api-router实现项目模块化
3、基于glide的图片加载缓存框架
4、基于room实现的往来数据缓存加载
5、基于step实现的数据异步提交
6、基于PreferenceHolder实现的本地数据快速存储
7、基于mlist实现的简单复杂列表的快速开发扩展等等。。
本框架几乎涵盖了开发所需的所有模块组件。简单fork之后就可以基于框架快速开发。
通知
感谢https://github.com/JeremyLiao/LiveEventBus
上文提到页面间的参数传递,传统方式实现实在是复杂。那通过EasyAndroid 的通知组件有多简单呢?
看代码
class SamplePageFragment : GroupSSListFragment() {
override fun initAndObserve() {
//定义接收通知后的处理,默认接收者的Key为className,在observeRefresh中支持自定义key
observeRefresh {
"通知来自${it.fromClassName}".toastSuc()
it.obj?.run {
if (this is String) _title.text = this
}
}
}
}
//在任意页面发送通知
postRefresh(SamplePageFragment::class, obj = "通知标题${Random().nextInt(100)}")
可以指定由 SamplePageFragment页面接收通知,或者通知所有定义了消息接收的页面者接收者为"*"
postRefresh("*", obj = "通知标题${Random().nextInt(100)}")
任意模块,任意线程,任意进程,之间也能顺畅的收发通知。
应用开发中有个非常常见的业务流程: 打开一个新页面,关闭前一个页面,或者关闭前几个页面。EasyAndroid对此也提供了快捷支持。
//在fragment任意页面发起关闭
//添加点击事件
listenClick(_next) {
when (it) {
_next -> {
//关闭前一个页面
postClose(EventFragment::class)
}
else -> {
}
}
}
//添加点击事件
listenClick(_next) {
when (it) {
_next -> {
//关闭前面若干页面
postClose(EventFragment::class, EventSecondFragment::class)
}
else -> {
}
}
}