第一天.搭建項(xiàng)目

嘿,今天的你過的還好嗎

我想搭建一個公開的自用的kotlin框架...說搞就搞.
首先貼上gitee地址 https://gitee.com/ryanliushixun/KotlinBaseModel.git
因?yàn)橛邪嘁?所以不定時更新

首先創(chuàng)建個kotlin的項(xiàng)目嗷.這是必須的.過程不必多說了.
然后開始.先搞個base.build.gradle 這個存在就是關(guān)聯(lián)基類的.我這邊的代碼可以先貼出來

apply plugin: 'org.jetbrains.kotlin.android'
apply plugin: 'kotlin-kapt'

android {
    compileSdk = 33

    defaultConfig {
        minSdk = 21

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        consumerProguardFiles "consumer-rules.pro"
    }
    buildFeatures {
        dataBinding = true
    }


    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = "1.8"
    }

}

dependencies {
    implementation("androidx.core:core-ktx:1.9.0")
    implementation("androidx.appcompat:appcompat:1.6.1")
    implementation("com.google.android.material:material:1.8.0")
    testImplementation("junit:junit:4.13.2")
    androidTestImplementation("androidx.test.ext:junit:1.1.5")
    androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
    implementation("androidx.constraintlayout:constraintlayout:2.1.4")
    //沉浸式狀態(tài)欄
    implementation("com.geyifeng.immersionbar:immersionbar:3.2.2")
    //android utilCode
    implementation("com.blankj:utilcodex:1.31.1")
    //lifecycle
    implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.6.1'
    implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1'
}

說到底這就是一個通用類了.
然后我創(chuàng)建了個model.build.gradle
作用是單獨(dú)的添加一些頁面會需要的

apply from: "../base.build.gradle"
android {
    buildFeatures {
        viewBinding true
    }
}
dependencies {
//    No virtual method getBindingAdapterPosition()I in class Lcom/chad/library/adapter/base/viewholder/BaseViewHolder;

    implementation project(path: ':basic')
    implementation project(path: ':common')
}

我創(chuàng)建了兩個公共類.一個是basic基類和common公共類
這兩個的build.gradle因?yàn)槲乙昧薭ase.build.gradle所以代碼比較精簡
basic的build.gradle

plugins {
    id("com.android.library")
    id("org.jetbrains.kotlin.android")
}
apply("../base.build.gradle")

android {
    namespace = "com.example.basic"
}
dependencies {
    api("com.github.li-xiaojun:XPopup:2.9.19")
}

common的build.gradle

plugins {
    id("com.android.library")
    id("org.jetbrains.kotlin.android")
}
apply("../base.build.gradle")


android {
    namespace = "com.example.common"
}

dependencies {
    //retorfit2 + rxjava
    api("com.squareup.retrofit2:retrofit:2.9.0")
    api("com.squareup.retrofit2:converter-scalars:2.9.0")
    api("com.squareup.retrofit2:converter-gson:2.9.0")
    api("com.squareup.retrofit2:adapter-rxjava2:2.9.0")
    api("com.squareup.okhttp3:okhttp:5.0.0-alpha.8")
    api("com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.8")
    api("io.reactivex.rxjava2:rxjava:2.2.18")
    api("io.reactivex.rxjava2:rxandroid:2.1.1")
    api("io.reactivex.rxjava2:rxkotlin:2.2.0")
    api("io.reactivex.rxjava3:rxjava:3.0.4")

    //MMKV
    api("com.tencent:mmkv:1.3.1")
    //glide
    api("com.github.bumptech.glide:glide:4.16.0")
    //BaseRecyclerViewAdapterHelper
    api("io.github.cymchad:BaseRecyclerViewAdapterHelper:4.0.1")
    //eventbus
    api("org.greenrobot:eventbus:3.3.1")
    //android utilCode
    api("com.blankj:utilcodex:1.31.1")
    //multidex分包
    api("androidx.multidex:multidex:2.0.1")
    //動態(tài)權(quán)限
    api("com.github.getActivity:XXPermissions:16.2")
    //xpopup
    api("com.github.li-xiaojun:XPopup:2.9.19")
    //具體版本請看頂部jitpack標(biāo)識汹碱,如0.5.8,僅支持androidx DateTimePicker
    api("com.github.loperSeven:DateTimePicker:0.5.8")
    //依賴base庫
    implementation(project(mapOf("path" to ":basic")))

}

都引入了 所以省了很多亂七八糟的東西 這里強(qiáng)調(diào)一下.basic是誰也不依賴的那種但是誰都依賴.common是誰都需要依賴的那種.他只依賴basic

沒更新或者頻繁更新的時候都是在認(rèn)真生活

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市涮帘,隨后出現(xiàn)的幾起案子外邓,更是在濱河造成了極大的恐慌单雾,老刑警劉巖裳仆,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件汇跨,死亡現(xiàn)場離奇詭異狱庇,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)舀透,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進(jìn)店門栓票,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人愕够,你說我怎么就攤上這事走贪。” “怎么了惑芭?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵坠狡,是天一觀的道長。 經(jīng)常有香客問我遂跟,道長逃沿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任幻锁,我火速辦了婚禮凯亮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘哄尔。我一直安慰自己假消,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布岭接。 她就那樣靜靜地躺著富拗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鸣戴。 梳的紋絲不亂的頭發(fā)上啃沪,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天,我揣著相機(jī)與錄音窄锅,去河邊找鬼创千。 笑死,一個胖子當(dāng)著我的面吹牛酬滤,可吹牛的內(nèi)容都是我干的签餐。 我是一名探鬼主播,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼盯串,長吁一口氣:“原來是場噩夢啊……” “哼氯檐!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起体捏,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤冠摄,失蹤者是張志新(化名)和其女友劉穎糯崎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體河泳,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡沃呢,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了拆挥。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片薄霜。...
    茶點(diǎn)故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖纸兔,靈堂內(nèi)的尸體忽然破棺而出惰瓜,到底是詐尸還是另有隱情,我是刑警寧澤汉矿,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布崎坊,位于F島的核電站,受9級特大地震影響洲拇,放射性物質(zhì)發(fā)生泄漏奈揍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一赋续、第九天 我趴在偏房一處隱蔽的房頂上張望男翰。 院中可真熱鬧,春花似錦纽乱、人聲如沸奏篙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至为严,卻和暖如春敛熬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背第股。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工应民, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人夕吻。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓诲锹,卻偏偏與公主長得像,于是被迫代替她去往敵國和親涉馅。 傳聞我的和親對象是個殘疾皇子归园,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評論 2 344

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