Android開發(fā)框架(5)通知

EasyAndroid 是一個(gè)android完整的安裝開發(fā)框架,已經(jīng)應(yīng)用于幾個(gè)生產(chǎn)項(xiàng)目。

EasyAndroid 不是脫離其你原來熟悉的開發(fā)框架而另起一套,它只是將原來的流程極大地簡化,所以他完全兼容其他開發(fā)框架。同時(shí)也會(huì)兼容Google后續(xù)的升級。需要的同學(xué)可以放心使用。
github地址:https://github.com/chen397254698/EasyAndroid

EasyAndroid

一個(gè)完整基于kotlin的安卓開發(fā)框架,采用了mvvm設(shè)計(jì)模式。涵蓋了:

1、基于retrofit2封裝的通過kotlin協(xié)程實(shí)現(xiàn)的網(wǎng)絡(luò)框架

2、基于阿里開源arouter修改的api-router實(shí)現(xiàn)項(xiàng)目模塊化

3、基于glide的圖片加載緩存框架

4、基于room實(shí)現(xiàn)的往來數(shù)據(jù)緩存加載

5、基于step實(shí)現(xiàn)的數(shù)據(jù)異步提交

6、基于PreferenceHolder實(shí)現(xiàn)的本地?cái)?shù)據(jù)快速存儲

7、基于mlist實(shí)現(xiàn)的簡單復(fù)雜列表的快速開發(fā)擴(kuò)展等等。。

本框架幾乎涵蓋了開發(fā)所需的所有模塊組件。簡單fork之后就可以基于框架快速開發(fā)。

通知

感謝https://github.com/JeremyLiao/LiveEventBus
上文提到頁面間的參數(shù)傳遞,傳統(tǒng)方式實(shí)現(xiàn)實(shí)在是復(fù)雜。那通過EasyAndroid 的通知組件有多簡單呢?
看代碼

class SamplePageFragment : GroupSSListFragment() {
 override fun initAndObserve() {
  //定義接收通知后的處理,默認(rèn)接收者的Key為className,在observeRefresh中支持自定義key
   observeRefresh {
            "通知來自${it.fromClassName}".toastSuc()
            it.obj?.run {
                if (this is String) _title.text = this
            }
        }
  }
}

//在任意頁面發(fā)送通知
postRefresh(SamplePageFragment::class, obj = "通知標(biāo)題${Random().nextInt(100)}")
可以指定由 SamplePageFragment頁面接收通知,或者通知所有定義了消息接收的頁面者接收者為"*"
postRefresh("*", obj = "通知標(biāo)題${Random().nextInt(100)}")

任意模塊,任意線程,任意進(jìn)程,之間也能順暢的收發(fā)通知。

應(yīng)用開發(fā)中有個(gè)非常常見的業(yè)務(wù)流程: 打開一個(gè)新頁面,關(guān)閉前一個(gè)頁面,或者關(guān)閉前幾個(gè)頁面。EasyAndroid對此也提供了快捷支持。

//在fragment任意頁面發(fā)起關(guān)閉
//添加點(diǎn)擊事件
        listenClick(_next) {
            when (it) {
                _next -> {
                  //關(guān)閉前一個(gè)頁面
                    postClose(EventFragment::class)
                }
                else -> {
                }
            }
        }
//添加點(diǎn)擊事件
        listenClick(_next) {
            when (it) {
                _next -> {
                  //關(guān)閉前面若干頁面
                    postClose(EventFragment::class, EventSecondFragment::class)
                }
                else -> {
                }
            }
        }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容