Gamedge 项目使用教程
1. 项目的目录结构及介绍
Gamedge 项目的目录结构如下:
gamedge/
├── app/
│ ├── build.gradle.kts
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/
│ │ │ │ ├── com/
│ │ │ │ │ ├── mars885/
│ │ │ │ │ │ ├── gamedge/
│ │ │ │ │ │ │ ├── MainActivity.kt
│ │ │ │ │ │ │ ├── di/
│ │ │ │ │ │ │ ├── ui/
│ │ │ │ │ │ │ ├── ...
│ │ │ ├── res/
│ │ │ │ ├── drawable/
│ │ │ │ ├── layout/
│ │ │ │ ├── ...
├── buildSrc/
├── common-api/
├── common-data/
├── common-domain/
├── common-testing/
├── common-testing-domain/
├── common-ui/
├── common-ui-widgets/
├── config/
│ ├── detekt/
├── core/
├── database/
├── feature-category/
├── feature-discovery/
├── feature-image-viewer/
├── feature-info/
├── feature-likes/
├── feature-news/
├── feature-search/
├── gradle/
│ ├── gradle.properties
├── gradlew
├── gradlew.bat
├── settings.gradle.kts
├── README.md
├── LICENSE
├── CONTRIBUTION.md
├── CHANGELOG.md
├── .gitignore
├── .editorconfig
目录结构介绍
app/
: 主应用程序模块,包含主要的业务逻辑和界面。buildSrc/
: 用于管理构建逻辑的模块。common-api/
: 包含通用的 API 接口和网络请求处理。common-data/
: 包含通用的数据模型和数据处理逻辑。common-domain/
: 包含通用的业务逻辑和领域模型。common-testing/
: 包含通用的测试工具和辅助类。common-testing-domain/
: 包含领域模型相关的测试工具和辅助类。common-ui/
: 包含通用的 UI 组件和样式。common-ui-widgets/
: 包含通用的 UI 小部件。config/
: 包含项目配置文件,如detekt
代码风格检查配置。core/
: 核心模块,包含项目的基础设施和核心功能。database/
: 数据库模块,包含数据库相关的代码。feature-category/
: 游戏分类功能模块。feature-discovery/
: 游戏发现功能模块。feature-image-viewer/
: 图片查看功能模块。feature-info/
: 游戏信息功能模块。feature-likes/
: 游戏收藏功能模块。feature-news/
: 游戏新闻功能模块。feature-search/
: 游戏搜索功能模块。gradle/
: Gradle 构建工具的配置文件。gradlew
,gradlew.bat
: Gradle 包装脚本。settings.gradle.kts
: Gradle 项目设置文件。README.md
,LICENSE
,CONTRIBUTION.md
,CHANGELOG.md
,.gitignore
,.editorconfig
: 项目文档和配置文件。
2. 项目的启动文件介绍
项目的启动文件是 app/src/main/java/com/mars885/gamedge/MainActivity.kt
。这个文件是应用程序的主入口点,负责初始化应用界面和逻辑。
package com.mars885.gamedge
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.mars885.gamedge.ui.theme.GamedgeTheme
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent