EasyAndroid 是一個(gè)android完整的安裝開(kāi)發(fā)框架,已經(jīng)應(yīng)用于幾個(gè)生產(chǎn)項(xiàng)目。
EasyAndroid 不是脫離其你原來(lái)熟悉的開(kāi)發(fā)框架而另起一套,它只是將原來(lái)的流程極大地簡(jiǎn)化,所以他完全兼容其他開(kāi)發(fā)框架。同時(shí)也會(huì)兼容Google后續(xù)的升級(jí)。需要的同學(xué)可以放心使用。
github地址:https://github.com/chen397254698/EasyAndroid
EasyAndroid
一個(gè)完整基于kotlin的安卓開(kāi)發(fā)框架,采用了mvvm設(shè)計(jì)模式。涵蓋了:
1、基于retrofit2封裝的通過(guò)kotlin協(xié)程實(shí)現(xiàn)的網(wǎng)絡(luò)框架
2、基于阿里開(kāi)源arouter修改的api-router實(shí)現(xiàn)項(xiàng)目模塊化
3、基于glide的圖片加載緩存框架
4、基于room實(shí)現(xiàn)的往來(lái)數(shù)據(jù)緩存加載
5、基于step實(shí)現(xiàn)的數(shù)據(jù)異步提交
6、基于PreferenceHolder實(shí)現(xiàn)的本地?cái)?shù)據(jù)快速存儲(chǔ)
7、基于mlist實(shí)現(xiàn)的簡(jiǎn)單復(fù)雜列表的快速開(kāi)發(fā)擴(kuò)展等等。。
本框架幾乎涵蓋了開(kāi)發(fā)所需的所有模塊組件。簡(jiǎn)單fork之后就可以基于框架快速開(kāi)發(fā)。
參數(shù)傳遞
上文說(shuō)到EasyAndroid的頁(yè)面是基于fragment進(jìn)行管理的,可以非常便捷的創(chuàng)建頁(yè)面。而且和原來(lái)的activity創(chuàng)建頁(yè)面完全兼容。那有了頁(yè)面fragment,頁(yè)面間的參數(shù)要如何傳遞?
參數(shù)的傳遞和獲取簡(jiǎn)單到令人發(fā)指?。?!
舉個(gè)例子:
//需要傳遞的參數(shù)較少就用Pair傳遞
startPage(ParamsFragment::class, "day" to "第一天", "week" to 3, "wea" to 30.5F)
//參數(shù)較多的情況下用bundle傳遞
Bundle().run {
putString("day", "第一天")
putInt( "week", 3)
putFloat( "wea", 30.5F)
startPage(ParamsFragment::class, bundle = this)
}
//參數(shù)獲取和使用,更是簡(jiǎn)單
class ParamsFragment :BaseSimpleFragment(){
private val day by ArgString()
private val date by ArgStringNull()
private val week by ArgInt()
private val wea by ArgFloat()
override val contentLayoutId = R.layout.fragment_weather
override fun initAndObserve() {
_day.text = day
_date.text = date
_week.text = "$week"
_wea.text = "$wea"
}
}
參數(shù)回傳
支持傳統(tǒng)的參數(shù)回傳方式
//設(shè)置requestCode
startPage(ParamsFragment::class, bundle = this, requestCode = 101)
//在onActivityResult 接收參數(shù)的回傳
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == 101 && resultCode == Activity.RESULT_OK) {
}
}
這種方式相對(duì)繁瑣,不是簡(jiǎn)單編程的風(fēng)格。EasyAndroid支持非常靈活的事件通知,頁(yè)面的回傳用通知實(shí)現(xiàn)將更加便捷。下一章就將詳細(xì)說(shuō)明EasyAndroid中通知的使用。
EasyAndroid中通知 http://www.itdecent.cn/p/048f824e6f90