Kotlin开发Android App - Hello Word
安装Android Studio
下载
官方下载地址:Android Studio

安装
1、点击下载好的exe程序。注意:到此步不要勾选安装模拟器。

2、安装SDK。注意:路径不要放C盘,会很大。


3、点击左下角设置按钮,选择setting,打开:Build, Execution, Deployment=》Build Tools=》Gradle;讲Gradle user home路径修改到非D盘(Gradle 会很大)。


第一个安卓APP
新建项目
点击New Project,选择Empty Activity。配置页不需要修改什么。


配置项目
首先点击Build图标,停止Build。

打开gradle\wrapper\gradle-wrapper.properties,将distributionUrl路径注释掉,替换为国内(阿里云)地址。注意版本号要一致,且将之前的bin版本替换为all版本。 新版本会有distributionSha256Sum字段,如果因为此字段配置错误报错,直接删除该字段重新构建即可。
#Thu Jan 08 16:37:18 CST 2026
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
#distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
distributionUrl=https\://mirrors.aliyun.com/macports/distfiles/gradle/gradle-8.13-all.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
打开settings.gradle.kts,找到两个repositories字段,在里面添加如下代码:
maven { url=uri("https://maven.aliyun.com/repository/google") }
maven { url=uri("https://maven.aliyun.com/repository/releases") }
maven { url=uri("https://maven.aliyun.com/repository/central") }
maven { url=uri("https://maven.aliyun.com/repository/public") }
maven { url=uri("https://maven.aliyun.com/repository/gradle-plugin") }
maven { url=uri("https://maven.aliyun.com/repository/apache-snapshots") }
maven { url=uri("https://maven.aliyun.com/nexus/content/groups/public/")}
maven { url=uri("https://jitpack.io") }
google()
mavenCentral()
gradlePluginPortal()修改完的代码示例如下:
pluginManagement {
repositories {
maven { url=uri("https://maven.aliyun.com/repository/google") }
maven { url=uri("https://maven.aliyun.com/repository/releases") }
maven { url=uri("https://maven.aliyun.com/repository/central") }
maven { url=uri("https://maven.aliyun.com/repository/public") }
maven { url=uri("https://maven.aliyun.com/repository/gradle-plugin") }
maven { url=uri("https://maven.aliyun.com/repository/apache-snapshots") }
maven { url=uri("https://maven.aliyun.com/nexus/content/groups/public/")}
maven { url=uri("https://jitpack.io") }
google()
mavenCentral()
gradlePluginPortal()
google {
content {
includeGroupByRegex("com\\.android.*")
includeGroupByRegex("com\\.google.*")
includeGroupByRegex("androidx.*")
}
}
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
maven { url=uri("https://maven.aliyun.com/repository/google") }
maven { url=uri("https://maven.aliyun.com/repository/releases") }
maven { url=uri("https://maven.aliyun.com/repository/central") }
maven { url=uri("https://maven.aliyun.com/repository/public") }
maven { url=uri("https://maven.aliyun.com/repository/gradle-plugin") }
maven { url=uri("https://maven.aliyun.com/repository/apache-snapshots") }
maven { url=uri("https://maven.aliyun.com/nexus/content/groups/public/")}
maven { url=uri("https://jitpack.io") }
google()
mavenCentral()
gradlePluginPortal()
google()
mavenCentral()
}
}
rootProject.name = "My Android(Application"
include(":app")
然后点击刚刚stop按钮上面的Sync按钮重新build项目。
创建模拟器
点击右侧工具栏的Device Manager、点击+号、选择Create.....选项。在新的页面选择Pixel 9 Pro,然后一路Next,等待下载就好了。


运行项目
点击上方的设备列表选择刚刚安装的Pixel 9 Pro,然后点击运行按钮:

项目结构
对于一个基于 Kotlin + Jetpack Compose,并遵循 MVVM (Model-View-ViewModel) 和 Clean Architecture 思想的项目,标准的文件夹结构应该是以功能(Feature)或层次(Layer)来组织的。
目前 Android 官方推荐 “按功能分包 (Package by Feature)”,因为这在大型项目中更易于维护。
app/src/main/java/com/yourname/app/
│
├── data/ # 数据层:负责处理所有数据来源
│ ├── local/ # 本地数据:Room 数据库、DataStore 设置
│ │ ├── dao/
│ │ └── AppDatabase.kt
│ ├── remote/ # 远程数据:Retrofit 接口、网络模型
│ │ ├── api/
│ │ └── dto/ # Data Transfer Objects (后端返回的原始模型)
│ ├── repository/ # 仓库实现:决定是从网络还是本地取数据
│ │ └── UserRepositoryImpl.kt
│ └── mapper/ # 映射器:将 DTO 转换为 Domain 模型
│
├── domain/ # 领域层:纯 Kotlin 逻辑,不依赖 Android 框架
│ ├── model/ # 业务模型:UI 直接使用的数据结构
│ ├── repository/ # 仓库接口:定义标准,解耦 Data 层
│ └── usecase/ # 案例:具体的业务用例 (如 LoginUseCase.kt)
│
├── ui/ # UI 层:所有的 Compose 界面
│ ├── theme/ # 主题:Color.kt, Type.kt, Theme.kt
│ ├── components/ # 通用组件:你之前写的 CustomInputField
│ ├── navigation/ # 路由:NavGraph.kt, Screen.kt
│ └── features/ # 按功能模块分包
│ ├── home/
│ │ ├── HomeScreen.kt
│ │ └── HomeViewModel.kt
│ └── chat/
│ ├── ChatScreen.kt
│ └── ChatViewModel.kt
│
├── di/ # 依赖注入:Hilt/Koin 的模块配置 (NetworkModule.kt)
│
└── utils/ # 工具类:二进制转换、日期格式化等