Kotlin MVVM Hilt Flow App 使用教程
kotlin-mvvm-hilt-flow-app Kotlin first app using Clean Architecture with MVVM pattern along with Android Architecture Components such as LiveData, ViewModel, Navigation and idiomatic Kotlin using extension functions, type-aliases, Coroutines and Dependency Injection using Hilt 项目地址:https://gitcode.com/gh_mirrors/ko/kotlin-mvvm-hilt-flow-app
1. 项目的目录结构及介绍
kotlin-mvvm-hilt-flow-app/
├── app/
│ ├── build.gradle
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ ├── com.example.app/
│ │ │ │ │ ├── data/
│ │ │ │ │ ├── di/
│ │ │ │ │ ├── ui/
│ │ │ │ │ ├── utils/
│ │ │ │ │ ├── MainActivity.kt
│ │ │ │ │ ├── MyApplication.kt
│ │ │ ├── res/
│ │ │ │ ├── drawable/
│ │ │ │ ├── layout/
│ │ │ │ ├── mipmap/
│ │ │ │ ├── values/
│ ├── test/
│ ├── androidTest/
├── build.gradle
├── settings.gradle
目录结构介绍
app/ : 主应用程序模块。
build.gradle : 应用程序的构建脚本。src/ : 源代码目录。
main/ : 主源代码目录。
java/ : Java 源代码目录。
com.example.app/ : 应用程序的主要包。
data/ : 数据层,包含数据源、仓库等。di/ : 依赖注入配置。ui/ : 用户界面层,包含活动、片段、视图模型等。utils/ : 工具类和扩展函数。MainActivity.kt : 主活动文件。MyApplication.kt : 应用程序类。 res/ : 资源目录。
drawable/ : 可绘制资源。layout/ : 布局文件。mipmap/ : 图标资源。values/ : 字符串、颜色、样式等资源。 test/ : 单元测试目录。androidTest/ : 仪器测试目录。 build.gradle : 根项目构建脚本。settings.gradle : 项目设置文件。
2. 项目的启动文件介绍
MainActivity.kt
package com.example.app
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.navigation.findNavController
import androidx.navigation.ui.AppBarConfiguration
import androidx.navigation.ui.setupActionBarWithNavController
import androidx.navigation.ui.setupWithNavController
import com.google.android.material.bottomnavigation.BottomNavigationView
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val navView: BottomNavigationView = findViewById(R.id.nav_view)
val navController = findNavController(R.id.nav_host_fragment)
val appBarConfiguration = AppBarConfiguration(
setOf(
R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications
)
)
setupActionBarWithNavController(navController, appBarConfiguration)
navView.setupWithNavController(navController)
}
}
介绍
MainActivity.kt : 这是应用程序的主活动文件,负责初始化用户界面和导航控制器。
onCreate() : 活动创建时调用的方法,设置布局文件并配置导航栏。navView : 底部导航视图。navController : 导航控制器,管理应用程序的导航。appBarConfiguration : 应用栏配置,定义导航目标。
3. 项目的配置文件介绍
build.gradle (项目级)
// 根项目构建脚本
buildscript {
ext.kotlin_version = '1.5.21'
repositories {
google()
mavenCentral()
}
dependencies {
classpath "com.android.tools
kotlin-mvvm-hilt-flow-app Kotlin first app using Clean Architecture with MVVM pattern along with Android Architecture Components such as LiveData, ViewModel, Navigation and idiomatic Kotlin using extension functions, type-aliases, Coroutines and Dependency Injection using Hilt 项目地址:https://gitcode.com/gh_mirrors/ko/kotlin-mvvm-hilt-flow-app