📚
JetpackComposeでよく使うライブラリをまとめたbuild.gradleを置いておく
「ライブラリは必要なものだけ落としなさい。不必要なものまで落とすとファイルサイズが増えちゃいます」
そんなことわかってます。でも、 "Coroutine や NavigationComopose とかはまず間違いなく使うじゃん!"。ということでよく使うライブラリやbuild.gradle
の設定をまとめて置いておきます。
build.gradle(project)
buildscript {
ext {
compose_ui_version = '1.2.1'
}
dependencies{
classpath 'com.google.dagger:hilt-android-gradle-plugin:2.44'
}
}
build.gradle(app)
plugins {
// hilt(など)
id 'kotlin-kapt'
id 'dagger.hilt.android.plugin'
id 'com.google.dagger.hilt.android'
}
dependencies {
// navigation compose
def nav_version = "2.5.2"
implementation "androidx.navigation:navigation-compose:$nav_version"
// coroutines
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4"
// hilt
implementation "com.google.dagger:hilt-android:2.38.1"
kapt "com.google.dagger:hilt-compiler:2.38.1"
implementation 'androidx.hilt:hilt-navigation-compose:1.0.0'
// room
def room_version = "2.4.3"
implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"
kapt "androidx.room:room-compiler:$room_version"
implementation "androidx.room:room-ktx:$room_version"
// coil
implementation "io.coil-kt:coil-compose:2.2.2"
// icons
implementation 'androidx.compose.material:material-icons-extended:1.2.1'
// retrofit
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
}
ついでに各ライブラリのリリースノート(的なもの)を貼っておきます。
Navigation compose
- Compose で画面遷移
Kotlin Coroutines
- モダンな非同期処理
DaggerHilt
- 依存関係注入
Room
- DB を扱いやすくしてくれるやつ
Coil
- インターネット上の画像を読み込んでくれるやつ
Material Icons
- Icons クラスの拡張
https://developer.android.com/jetpack/androidx/releases/compose-material?
hl=ja
Retrofit
- 外部 WebAPI と通信するやつ
⬆️⬆️⬆️ わかりにくいですが、com.squareup.retrofit2:retrofit:2.9.0
のようにハイライトされているところが最新バージョンです。リリースノート的なのはないのかな?
番外編
Accompanist
accompanist
dependencies {
def accompanist_version = "0.25.1"
implementation "com.google.accompanist:accompanist-使いたいもの:$accompanist_version"
}
Accompanist は各機能ごとにモジュールが分かれてるのでどんなコンポーネントなどがあるかは以下を参照
よく使うのはこの辺り?
Swipe to Refresh はよく使うんじゃないだろうか?
Swipe to Refresh
dependencies {
def accompanist_version = "0.25.1"
implementation "com.google.accompanist:accompanist-swiperefresh:$accompanist_version"
}
Discussion