Android中模塊化的實(shí)現(xiàn)

1. 模塊化簡(jiǎn)介太颤?


把一個(gè)app分為多個(gè)功能模塊苞俘,比如注冊(cè)、登錄龄章、推送吃谣、更新、三方支付瓦堵、分享等等多個(gè)模塊基协,然后單獨(dú)開發(fā)每一個(gè)模塊,然后把它們組合起來菇用,拼出一個(gè)app澜驮,叫做模塊化開發(fā)

2. 模塊化架構(gòu)分層?


整體架構(gòu)的劃分最少可以分為2層惋鸥,app業(yè)務(wù)層和module框架層

1>:app業(yè)務(wù)層

app業(yè)務(wù)層指的是:具體的xml文件杂穷、Activity或Fragment具體邏輯悍缠、請(qǐng)求服務(wù)器接口、自定義View等等涉及到app的業(yè)務(wù)邏輯耐量;

2>:module框架層

框架層一定要是所有項(xiàng)目中都可以使用到的飞蚓,一定要與業(yè)務(wù)沒有關(guān)系。
module層一般放:BaseActivity廊蜒、BaseFragment趴拧、Utils工具類、自定義View山叮、聯(lián)網(wǎng)請(qǐng)求等等這些東西

然后把module引入項(xiàng)目中即可

3. 模塊化好處著榴?


1>:減少module框架層與app業(yè)務(wù)邏輯的關(guān)聯(lián)

可以方便、快速的使用到其他項(xiàng)目中屁倔,使得其他項(xiàng)目可以快速集成脑又,不需要像之前那種方式,還需要把一些類單獨(dú)拷貝到項(xiàng)目中:比如BaseActivity锐借、BaseFragment问麸、Utils工具類等

2>:使代碼結(jié)構(gòu)清晰,減少冗余代碼钞翔,提高開發(fā)效率和時(shí)間
1>:可以單獨(dú)升級(jí)

因?yàn)樯?jí)的時(shí)候有可能增加資源严卖,有可能刪除資源,資源指的是圖片嗅战、文字妄田、類等等俺亮,這樣做可以不和其他模塊有任何關(guān)系驮捍,對(duì)這個(gè)其他功能模塊影響很小脚曾;

2>:如果是帶實(shí)習(xí)生開發(fā)东且,直接讓他們做功能就行,不需要關(guān)系項(xiàng)目整體代碼本讥,只需要關(guān)心該模塊的代碼就可以珊泳;
3>:如果以后重構(gòu)代碼,可以只去修改某一個(gè)模塊的代碼拷沸,不需要修改其他功能的代碼色查;

4. 模塊化開發(fā)調(diào)用通知或者開啟另一個(gè)模塊的Activity


  • 模塊化開發(fā)后,如果想要啟動(dòng)另一個(gè)Activity撞芍,就不能使用intent秧了,只能使用路由ARouter。
  • 模塊之間的通信可以使用廣播序无、EventBus验毡;

5. 注意


可以使用 aar作為模塊化的 最小單位衡创,之所以是 aar,不是jar或者library晶通,原因如下:
1>:jar包不能帶資源璃氢,比如res下的圖片之類;
2>:library很容易被修改狮辽;
3>:aar好處是可以帶資源并且是編譯好的一也,不能被修改,如果想修改喉脖,可以聯(lián)系做aar的人塘秦,聯(lián)系他去升級(jí)就ok;

6. 總結(jié)


個(gè)人覺得动看,一個(gè)優(yōu)秀的模塊化開發(fā)框架尊剔,一定是把所有公用的模塊、公用的代碼全部提取到module層菱皆,而且app業(yè)務(wù)邏輯層一定是非常輕量须误、并且非常的穩(wěn)定、易于維護(hù)仇轻。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末京痢,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子篷店,更是在濱河造成了極大的恐慌祭椰,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疲陕,死亡現(xiàn)場(chǎng)離奇詭異方淤,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)蹄殃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門携茂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人诅岩,你說我怎么就攤上這事讳苦。” “怎么了吩谦?”我有些...
    開封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵鸳谜,是天一觀的道長。 經(jīng)常有香客問我式廷,道長咐扭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮草描,結(jié)果婚禮上览绿,老公的妹妹穿的比我還像新娘。我一直安慰自己穗慕,他們只是感情好饿敲,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著逛绵,像睡著了一般怀各。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上术浪,一...
    開封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天瓢对,我揣著相機(jī)與錄音,去河邊找鬼胰苏。 笑死硕蛹,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的硕并。 我是一名探鬼主播法焰,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼倔毙!你這毒婦竟也來了埃仪?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤陕赃,失蹤者是張志新(化名)和其女友劉穎卵蛉,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體么库,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡傻丝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了廊散。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片桑滩。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡梧疲,死狀恐怖允睹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情幌氮,我是刑警寧澤缭受,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站该互,受9級(jí)特大地震影響米者,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一蔓搞、第九天 我趴在偏房一處隱蔽的房頂上張望胰丁。 院中可真熱鬧,春花似錦喂分、人聲如沸锦庸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽甘萧。三九已至,卻和暖如春梆掸,著一層夾襖步出監(jiān)牢的瞬間扬卷,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來泰國打工酸钦, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留怪得,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓卑硫,卻偏偏與公主長得像汇恤,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子拔恰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容