Sample Materials Shop 项目教程
1. 项目的目录结构及介绍
sample-materials-shop/
├── app/
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ ├── com/
│ │ │ │ │ ├── example/
│ │ │ │ │ │ ├── materials/
│ │ │ │ │ │ │ ├── MainActivity.kt
│ │ │ │ │ │ │ ├── ...
│ │ │ ├── res/
│ │ │ │ ├── drawable/
│ │ │ │ ├── layout/
│ │ │ │ ├── ...
│ │ │ ├── AndroidManifest.xml
│ │ ├── test/
│ │ ├── androidTest/
├── gradle/
│ ├── wrapper/
│ │ ├── gradle-wrapper.properties
├── images/
├── .gitignore
├── LICENSE
├── README.md
├── build.gradle.kts
├── gradle.properties
├── gradlew
├── gradlew.bat
├── settings.gradle.kts
目录结构说明
app/
: 包含应用程序的主要代码和资源。src/
: 源代码目录。main/
: 主代码目录。java/
: Java 和 Kotlin 代码。com/example/materials/
: 具体包路径。MainActivity.kt
: 主活动文件。
res/
: 资源文件,如布局、图片等。AndroidManifest.xml
: 应用程序的配置文件。
test/
: 单元测试代码。androidTest/
: 集成测试代码。
gradle/
: Gradle 构建系统相关文件。wrapper/
: Gradle 包装器配置。
images/
: 项目使用的图片资源。.gitignore
: Git 忽略文件配置。LICENSE
: 项目许可证。README.md
: 项目说明文档。build.gradle.kts
: 项目构建脚本。gradle.properties
: Gradle 属性配置。gradlew
: Gradle 包装器脚本(Unix)。gradlew.bat
: Gradle 包装器脚本(Windows)。settings.gradle.kts
: Gradle 设置脚本。
2. 项目的启动文件介绍
MainActivity.kt
MainActivity.kt
是项目的启动文件,负责初始化应用程序并加载主界面。以下是该文件的主要内容:
package com.example.materials
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.runtime.Composable
import androidx.compose.ui.tooling.preview.Preview
import com.example.materials.ui.theme.MaterialsShopTheme
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
MaterialsShopTheme {
MainScreen()
}
}
}
}
@Composable
fun MainScreen() {
// 主界面内容
}
@Preview
@Composable
fun PreviewMainScreen() {
MaterialsShopTheme {
MainScreen()
}
}
文件说明
MainActivity
类继承自ComponentActivity
,是应用程序的主活动。onCreate
方法在活动创建时调用,设置主界面内容。MainScreen
是一个可组合函数,定义了主界面的布局和逻辑。PreviewMainScreen
是一个预览函数,用于在 IDE 中预览主界面。
3. 项目的配置文件介绍
build.gradle.kts
build.gradle.kts
是项目的构建脚本,配置了项目的依赖、插件和其他构建选项。以下是该文件的主要内容:
plugins {
id("com.android.application")
id("kotlin-android")
id("kotlin-kapt")
id("dagger.hilt.android.plugin")
}
android {