Awesome-Jetpack-Compose 项目教程
1. 项目的目录结构及介绍
Awesome-Jetpack-Compose 项目的目录结构如下:
Awesome-Jetpack-Compose/
├── app/
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src/
│ ├── androidTest/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── naveentp/
│ │ │ └── awesomejetpackcompose/
│ │ │ ├── MainActivity.kt
│ │ │ └── ui/
│ │ │ └── theme/
│ │ │ ├── Color.kt
│ │ │ ├── Shape.kt
│ │ │ ├── Theme.kt
│ │ │ └── Type.kt
│ │ └── res/
│ │ ├── drawable/
│ │ ├── layout/
│ │ ├── mipmap/
│ │ └── values/
│ └── test/
├── build.gradle
├── gradle.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── README.md
目录结构介绍
- app/: 包含应用程序的主要代码和资源。
- build.gradle: 应用程序模块的构建脚本。
- proguard-rules.pro: ProGuard 规则文件。
- src/: 源代码目录。
- androidTest/: 包含 Android 测试代码。
- main/: 主要源代码和资源。
- java/: Kotlin 代码目录。
- com/naveentp/awesomejetpackcompose/: 主要包路径。
- MainActivity.kt: 应用程序的主活动。
- ui/theme/: 包含主题相关的代码。
- Color.kt: 颜色定义。
- Shape.kt: 形状定义。
- Theme.kt: 主题定义。
- Type.kt: 字体定义。
- com/naveentp/awesomejetpackcompose/: 主要包路径。
- res/: 资源目录。
- drawable/: 可绘制资源。
- layout/: 布局文件。
- mipmap/: 启动图标资源。
- values/: 字符串、颜色等资源。
- java/: Kotlin 代码目录。
- test/: 包含单元测试代码。
- build.gradle: 根项目的构建脚本。
- gradle.properties: Gradle 配置文件。
- gradlew: Gradle 包装器脚本(Unix)。
- gradlew.bat: Gradle 包装器脚本(Windows)。
- settings.gradle: 项目设置文件。
- README.md: 项目说明文档。
2. 项目的启动文件介绍
项目的启动文件是 MainActivity.kt
,位于 app/src/main/java/com/naveentp/awesomejetpackcompose/MainActivity.kt
。
MainActivity.kt 文件内容
package com.naveentp.awesomejetpackcompose
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Surface
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.tooling.preview.Preview
import com.naveentp.awesomejetpackcompose.ui.theme.AwesomeJetpackComposeTheme
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
AwesomeJetpackComposeTheme {
// A surface container using the 'background' color from the theme
Surface(color = MaterialTheme.colors.background) {
Greeting("Android")
}
}
}
}
}
@Composable
fun Greeting(name: String) {
Text(text = "Hello $name!")
}
@Preview(showBackground = true)
@Composable
fun DefaultPreview() {
AwesomeJetpackComposeTheme {
Greeting("Android")
}
}
启动文件介绍
- MainActivity: 继承自