modularization 安卓組件化demo

modularization 安卓組件化demo

可根據(jù)自己需求修改模塊,感謝star issues follow :)

項(xiàng)目簡(jiǎn)介及計(jì)劃:

1:使用 ARouter漱办,ButterKnife,AFrame(rxjava2、okhttp3腾仅、base封裝漫萄、常用util)
2:每個(gè)module結(jié)構(gòu)不限宋梧,可MVVM/MVP刨疼,可不同網(wǎng)絡(luò)框架
3://TODO 組件化(module-share)、多進(jìn)程(webview/push)瘪板、多進(jìn)程通信吴趴、插件下發(fā)及加載(module-main的SplashActivity處理)

組件化控制:

project/gradle.properties:

(組件化開關(guān) toggle)

isBuildAll=true

isLibraryMain=true

isLibraryHome=true
isLibraryLogin=true
isLibraryMine=true
isLibraryProject=true
isLibraryRegister=true
isLibraryWeb=true
project / build.gradle :

(版本,簽名,依賴)

buildscript {

    ext {

        signigConfig = [
                storePassword: 'xxx',
                keyAlias     : 'xxx',
                keyPassword  : 'xxx'
        ]

        var = [
                gradle              : "3.0.1",
                compileSdkVersion   : 26,
                buildToolsVersion   : "26.0.2",
                minSdkVersion       : 15,
                targetSdkVersion    : 26,
                versionCode         : 1,
                versionName         : "1.0"

        ]

        versions = [

                'support_library'   : '26.1.0',
                'diff_adapter'      : '0.2.1',
                'refresh_layout'    : '1.0.5.1',
                'refresh_header'    : '1.0.3',
                'aframe'            : '0.0.8',
                'leakcanary'        : '1.5.4',
                'butterknife'       : '8.5.1',
                'dex'               : '1.0.3',
                'arouter_api'       : '1.3.1',
                'arouter_compiler'  : '1.1.4'
        ]
    }

    repositories {
        google()
        jcenter()
        mavenCentral()
    }

    dependencies {
        classpath "com.android.tools.build:gradle:${var.gradle}"
        classpath "com.jakewharton:butterknife-gradle-plugin:${versions.butterknife}"
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
        maven { url 'https://jitpack.io' }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

模塊介紹:

1:app
1:空殼app,編譯項(xiàng)目
2:AndroidManifest 負(fù)責(zé)項(xiàng)目主進(jìn)程等配置
3:application 初始化篷帅,加載配置
2:library-common
中間件
1:作為公共library 史侣,其他 module 根據(jù)情況依賴
2:作為 common ,封裝一些公共的行為和資源供 module 使用:
        bean   目錄 網(wǎng)絡(luò)請(qǐng)求/操作數(shù)據(jù)庫(kù)的公共容器
        config 目錄 版本/服務(wù)器/路由 配置信息
        utils  目錄 常用工具類
        widget 目錄 自定義控件魏身,大部分模塊在使用
        base   中間層
        interface
        ... 根據(jù)項(xiàng)目需求自行擴(kuò)展 ...

3:module-main
1:組件入口/宿主加載插件入口  SplashActivity  MainActivity ..
2:MainActivity 里通過(guò) ARouter 初始化 的 3 個(gè) 不同模塊的 Fragment (職責(zé)分離)(ARouter通過(guò)反射 newInstance出Fragment對(duì)象實(shí)例)
3:使用 TabView ( 通過(guò)繼承 TextView 替代 TextView+ImageView) 降低底部導(dǎo)航的布局層次惊橱,減少 GPU 過(guò)度繪制
4:配置 gradle 和 MainApp 配置 使模塊獨(dú)立運(yùn)行(單獨(dú)運(yùn)行時(shí)通過(guò) toogle 開關(guān) 和 ARouter 解耦合)
4:module-home
1:ImageLoader 的使用(基于Glide4.0 的封裝)
2:AFrame 的用法
3:MVP 的用法
4:ARouter 配置 HomeFragment  供 module-main 的 MainActivity 使用

//TODO

5:module-project
6:module-mine
7:module-login
8:module-register
9:module-web
10:module-share
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市箭昵,隨后出現(xiàn)的幾起案子税朴,更是在濱河造成了極大的恐慌,老刑警劉巖家制,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件正林,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡颤殴,警方通過(guò)查閱死者的電腦和手機(jī)觅廓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)涵但,“玉大人杈绸,你說(shuō)我怎么就攤上這事“粒” “怎么了瞳脓?”我有些...
    開封第一講書人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)澈侠。 經(jīng)常有香客問(wèn)我劫侧,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任烧栋,我火速辦了婚禮写妥,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘劲弦。我一直安慰自己耳标,他們只是感情好醇坝,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開白布邑跪。 她就那樣靜靜地躺著,像睡著了一般呼猪。 火紅的嫁衣襯著肌膚如雪画畅。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,562評(píng)論 1 305
  • 那天宋距,我揣著相機(jī)與錄音轴踱,去河邊找鬼。 笑死谚赎,一個(gè)胖子當(dāng)著我的面吹牛淫僻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播壶唤,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼雳灵,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了闸盔?” 一聲冷哼從身側(cè)響起悯辙,我...
    開封第一講書人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎迎吵,沒(méi)想到半個(gè)月后躲撰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡击费,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年拢蛋,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蔫巩。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡谆棱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出批幌,到底是詐尸還是另有隱情础锐,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布荧缘,位于F島的核電站皆警,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏截粗。R本人自食惡果不足惜信姓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一鸵隧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧意推,春花似錦豆瘫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至腻窒,卻和暖如春昵宇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背儿子。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工瓦哎, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人柔逼。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓蒋譬,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親愉适。 傳聞我的和親對(duì)象是個(gè)殘疾皇子犯助,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

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

  • Android組件化項(xiàng)目地址:Android組件化項(xiàng)目AndroidModulePattern Android組件...
    半灬邊灬天閱讀 2,921評(píng)論 4 37
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,139評(píng)論 25 707
  • 明天是29號(hào) 周四!后天就是30號(hào)—周五啦儡毕!后天之后就要開始為期三天的元旦假期了也切。元旦三天說(shuō)長(zhǎng)不長(zhǎng),說(shuō)短也不短腰湾,我...
    a07d2a0543bb閱讀 367評(píng)論 0 0
  • 我的世界很小 哪怕盡了全力 還是有無(wú)數(shù)的地方是遠(yuǎn)方 被海豚追逐的薄荷島 坐上門板當(dāng)火車的柬埔寨 懸崖上色彩斑斕的五...
    哀慕熙榮閱讀 92評(píng)論 0 1
  • 幼稚時(shí)的我雷恃,只是一個(gè)吃貨,量大而不精费坊,貪心而不準(zhǔn)倒槐,那時(shí)的我,根本沒(méi)用心了解過(guò)美食背后蘊(yùn)藏的宇宙附井。有幸的是讨越,去年一部...
    糖糖六點(diǎn)閱讀 408評(píng)論 0 2