► Use this example to build compose app!
Developed with the software and tools below.
►
距離上一次發Jetpack compose相關的文章已是
2~3年前
其間斷斷續續會稍微碰到
不過都沒有好好的系統性的去研究
剛好近期
有機會開發整個專案全用Compose來完成的經驗
所以經過一番摸索後
有些心得
決定把這個過程寫成筆記分享給大家
► Utilize the jetpack compose with kotlin in Android project.
└── ElegantAccessComposeExample/
├── app
│ ├── .gitignore
│ ├── build.gradle.kts
│ ├── proguard-rules.pro
│ └── src
│ ├── androidTest
│ │ └── java
│ │ └── elegant
│ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ │ └── elegant
│ │ └── res
│ │ ├── drawable
│ │ ├── mipmap-anydpi-v26
│ │ ├── mipmap-hdpi
│ │ ├── mipmap-mdpi
│ │ ├── mipmap-xhdpi
│ │ ├── mipmap-xxhdpi
│ │ ├── mipmap-xxxhdpi
│ │ ├── values
│ │ ├── values-night
│ │ └── xml
│ └── test
│ └── java
│ └── elegant
├── build.gradle.kts
├── gradle
│ ├── libs.versions.toml
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
└── settings.gradle.kts
.
File | Summary |
---|---|
build.gradle.kts | ► INSERT-TEXT-HERE |
settings.gradle.kts | ► INSERT-TEXT-HERE |
gradlew.bat | ► INSERT-TEXT-HERE |
app
File | Summary |
---|---|
proguard-rules.pro | ► INSERT-TEXT-HERE |
build.gradle.kts | ► INSERT-TEXT-HERE |
app.src.androidTest.java.elegant.access.compose.example
File | Summary |
---|---|
ExampleInstrumentedTest.kt | ► INSERT-TEXT-HERE |
app.src.test.java.elegant.access.compose.example
File | Summary |
---|---|
ExampleUnitTest.kt | ► INSERT-TEXT-HERE |
app.src.main.java.elegant.access.compose.example
File | Summary |
---|---|
ElegantAccessScreen.kt | ► INSERT-TEXT-HERE |
app.src.main.java.elegant.access.compose.example.ui
File | Summary |
---|---|
ElegantAccessApplication.kt | ► INSERT-TEXT-HERE |
app.src.main.java.elegant.access.compose.example.ui.component
File | Summary |
---|---|
MainAppBarConfig.kt | ► INSERT-TEXT-HERE |
InputTextField.kt | ► INSERT-TEXT-HERE |
app.src.main.java.elegant.access.compose.example.ui.theme
File | Summary |
---|---|
Theme.kt | ► INSERT-TEXT-HERE |
Type.kt | ► INSERT-TEXT-HERE |
app.src.main.java.elegant.access.compose.example.ui.main
File | Summary |
---|---|
MainViewModel.kt | ► INSERT-TEXT-HERE |
MainActivity.kt | ► INSERT-TEXT-HERE |
app.src.main.java.elegant.access.compose.example.ui.login
File | Summary |
---|---|
LoginViewModel.kt | ► INSERT-TEXT-HERE |
LoginScreen.kt | ► INSERT-TEXT-HERE |
app.src.main.java.elegant.access.compose.example.infra.user
File | Summary |
---|---|
SignInRequest.kt | ► INSERT-TEXT-HERE |
SignInResponse.kt | ► INSERT-TEXT-HERE |
LoginRestService.kt | ► INSERT-TEXT-HERE |
UserDataStore.kt | ► INSERT-TEXT-HERE |
app.src.main.java.elegant.access.compose.example.di
File | Summary |
---|---|
AppModule.kt | ► INSERT-TEXT-HERE |
NetworkModule.kt | ► INSERT-TEXT-HERE |
gradle
File | Summary |
---|---|
libs.versions.toml | ► INSERT-TEXT-HERE |
- Clone the ElegantAccessComposeExample repository:
git clone https://github.com/KuanChunChen/ElegantAccessComposeExample
- Change to the project directory:
cd ElegantAccessComposeExample
- Install the dependencies:
gradle build
Use the following command to build the android app:
./gradle debug
Use the following command to run tests:
gradle test
-
► Init the Android project with Jetpack Compose.
-
► Introduce the DI into project.
-
► Implement navigation into compose project.
-
► Implement some compose widget.
-
► Write the unit test.
-
► Implement some common network request methdology.
- Read the article to know how to implement this project by yourself : Here
- Or you can find the article that show you how to implement this project by following website:Elegant.Access.org