操作系统要求
SDK配置
SDK Manager
下载所需API版本(如API 30对应Android 11)工具/技术 | 用途 |
---|---|
Android Studio | 官方IDE,集成代码编写、调试、模拟器功能 |
Gradle | 构建工具,管理依赖和自动化构建流程 |
ADB | 设备调试工具,支持命令行操作 |
Android Virtual Device | 模拟器,支持不同分辨率/系统版本测试 |
Logcat | 日志查看工具,用于输出调试信息 |
ProjectRoot/ ├── app/ # 应用模块 │ ├── src/ # 源代码目录 │ │ ├── main/ # 主入口 │ │ │ ├── java/ # Kotlin/Java代码 │ │ │ ├── res/ # 资源文件(布局、图片等) │ │ │ └── AndroidManifest.xml # 应用配置文件 │ └── build.gradle # 模块级构建配置 ├── build.gradle # 项目级构建配置 └── gradle/ # Gradle脚本目录
onCreate()
→ onStart()
→ onResume()
→ onPause()
→ onStop()
→ onDestroy()
LinearLayout
(线性)、ConstraintLayout
(约束)、RecyclerView
(列表)TextView
、Button
、ImageView
、EditText
dataBinding
简化UI与逻辑层交互存储方式 | 适用场景 | 示例工具 |
---|---|---|
SharedPreferences | 轻量级键值对存储 | getSharedPreferences() |
SQLite数据库 | 结构化数据存储 | SQLiteOpenHelper |
Room持久库 | 抽象SQLite,支持LiveData联动 | @Dao /@Entity 注解 |
interface ApiService { @GET("users/{id}") suspend fun getUser(@Path("id") id: Int): Response<User> }
方案 | 特点 |
---|---|
AsyncTask | 已废弃,原用于短时间异步任务 |
Coroutines | 推荐使用,基于协程的异步编程(launch /async ) |
WorkManager | 适合延迟或周期性任务(如同步数据) |
RxJava | 响应式编程,处理复杂事件流(需额外引入依赖) |
Model:数据处理层(Repository/Network)
View:Activity/Fragment(负责UI)
ViewModel:连接Model与View,使用liveData
观察数据变化
示例:
class UserViewModel : ViewModel() { private val _user = MutableLiveData<User>() val user: LiveData<User> = _user fun loadUser(id: Int) { // 模拟网络请求 _user.value = User(id, "John Doe") } }
@HiltAndroidApp class MyApp : Application()
@Test fun addition_isCorrect() = assertTrue(2 + 2 == 4)
build.gradle
中的signingConfig
。alpha/beta
渠道分发测试版。解答:
Application
类初始化逻辑。SplashScreen
API预加载资源。解答:
ViewModel
避免Activity/Fragment销毁时引用未释放。Profiler
或LeakCanary
库监控内存。