第一天.搭建项目

嘿,今天的你过的还好吗

我想搭建一个公开的自用的kotlin框架...说搞就搞.
首先贴上gitee地址 https://gitee.com/ryanliushixun/KotlinBaseModel.git
因为有班要上 所以不定时更新

首先创建个kotlin的项目嗷.这是必须的.过程不必多说了.
然后开始.先搞个base.build.gradle 这个存在就是关联基类的.我这边的代码可以先贴出来

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")
    //沉浸式状态栏
    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'
}

说到底这就是一个通用类了.
然后我创建了个model.build.gradle
作用是单独的添加一些页面会需要的

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')
}

我创建了两个公共类.一个是basic基类和common公共类
这两个的build.gradle因为我引用了base.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")
    //动态权限
    api("com.github.getActivity:XXPermissions:16.2")
    //xpopup
    api("com.github.li-xiaojun:XPopup:2.9.19")
    //具体版本请看顶部jitpack标识,如0.5.8,仅支持androidx DateTimePicker
    api("com.github.loperSeven:DateTimePicker:0.5.8")
    //依赖base库
    implementation(project(mapOf("path" to ":basic")))

}

都引入了 所以省了很多乱七八糟的东西 这里强调一下.basic是谁也不依赖的那种但是谁都依赖.common是谁都需要依赖的那种.他只依赖basic

没更新或者频繁更新的时候都是在认真生活

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,898评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,401评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,058评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,539评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,382评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,319评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,706评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,370评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,664评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,715评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,476评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,326评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,730评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,003评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,275评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,683评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,877评论 2 335

推荐阅读更多精彩内容