Android开发框架(5)通知

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 -> {
                }
            }
        }

你可能感兴趣的:(Android开发框架(5)通知)