⭐ 目录总览
Android 是什么 & 应用结构
Android 项目结构(重点)
四大组件(Activity / Service / BroadcastReceiver / ContentProvider)
Activity 完整介绍(生命周期、启动模式、Intent)
Fragment 使用(现代安卓必会)
UI 布局(XML、ConstraintLayout、RecyclerView)
事件与交互(点击、触摸、自定义 View)
数据存储(SharedPreferences / SQLite / Room)
网络开发(OKHttp、Retrofit、协程 Flow)
多线程与异步(Handler、Thread、Executor、Coroutine)
Android 权限机制
常用 Jetpack 组件(ViewModel、LiveData、Navigation 等)
Android 应用完整架构(MVVM + Repository)
打包、签名、上线、性能优化
我会按模块详细展开,保证你能随时查阅。
1️⃣ Android 是什么?应用结构是什么?
Android = Linux 内核 + Framework 层(Java/Kotlin API)+ 应用层(APP)。
APP 以 APK 安装,内部包含:
classes.dex(字节码)
AndroidManifest.xml(应用声明)
res/(资源)
lib/(native 库)
assets/
2️⃣ Android 项目结构(modern Android Studio)
app/
├── java/ // 代码
├── res/ // 资源文件:图片、布局、文字
│ ├── layout/ // 布局 XML
│ ├── drawable/ // 图片/形状 xml
│ ├── values/ // 字符串/颜色/styles
├── AndroidManifest.xml // 四大组件声明
├── build.gradle // 构建配置
gradle/
3️⃣ Android 四大组件(核心基础)
❤️ 1. Activity(界面)
一个窗口界面(相当于网页页面)
用户交互的主要载体
💙 2. Service(后台服务)
执行后台任务,如播放音乐、后台下载
💛 3. BroadcastReceiver(广播接收者)
接收系统广播,如电量变化、网络变化
💜 4. ContentProvider(数据共享)
跨应用数据共享,例如读取通讯录
4️⃣ Activity 全解析(安卓最重要的概念)
Activity 生命周期(经典图)
onCreate()
onStart()
onResume() → 进入前台
onPause()
onStop() → 不可见
onDestroy()
用途:
onCreate → 初始化
onResume → 可做刷新
onPause → 保存数据
onDestroy → 清理资源
Activity 启动模式(LaunchMode)
在 Manifest 可设置:
standard(默认) → 每次启动新实例
singleTop → 栈顶复用
singleTask → 栈内唯一
singleInstance → 独立栈
Intent(跳转、传参)
Intent intent = new Intent(this, DetailActivity.class);
intent.putExtra("id", 123);
startActivity(intent);
接收:
int id = getIntent().getIntExtra("id", 0);
5️⃣ Fragment(现代 Android 必须要掌握)
Fragment = 可复用 UI 模块。
可嵌入 Activity
用于多界面切换(如底部导航)
lifecycle 受 Activity 控制
6️⃣ UI 布局(最常用的三种)
✔ 1. ConstraintLayout(推荐)
现代安卓主流布局:高性能、强大替代 RelativeLayout、LinearLayout。
✔ 2. RecyclerView(列表 UI 必备)
现代列表组件,替代 ListView:
RecyclerView recyclerView = findViewById(R.id.rv);
需要:
Adapter
ViewHolder
LayoutManager
✔ 3. XML 资源体系
颜色:
<color name="main_blue">#2196F3</color>
字符串:
<string name="app_name">My App</string>
7️⃣ 事件处理
点击事件
button.setOnClickListener(v -> {
// 点击
});
触摸事件
view.setOnTouchListener(...)
自定义 View(进阶)
重写:
onDraw()
onMeasure()
8️⃣ 数据存储
✔ 1. SharedPreferences(键值对)
SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE);
sp.edit().putString("token", "123").apply();
✔ 2. SQLite(本地数据库)
SQLiteOpenHelper helper = new DBHelper(context);
SQLiteDatabase db = helper.getWritableDatabase();
✔ 3. Room(Google 官方数据库封装)
数据实体:
@Entity
class User { @PrimaryKey int id; String name; }
9️⃣ 网络开发
✔ OKHttp(底层网络库)
OkHttpClient client = new OkHttpClient();
✔ Retrofit(封装最强)
接口定义:
@GET("users/{id}")
Call<User> getUser(@Path("id") int id);
异步:
call.enqueue(...)
🔟 多线程与异步(Android 大坑)
✔ Handler (消息机制)
Handler handler = new Handler(Looper.getMainLooper());
handler.post(() -> {...}); // 切换主线程
✔ Thread / Executor
✔ 协程(Kotlin)
2025 年主流方式:
viewModelScope.launch {
val data = repo.getData()
}
1️⃣1️⃣ 权限机制(Android 权限革命)
需要动态申请:
ActivityCompat.requestPermissions(...)
类型:
普通权限(自动授权)
危险权限(如相机、位置)
后台权限(后台定位等)
1️⃣2️⃣ Jetpack 组件(现代开发的核心)
✔ ViewModel
数据保持,不因旋转销毁
✔ LiveData / StateFlow
数据自动更新 UI
✔ Navigation
处理页面跳转
✔ Room
本地数据库 ORM
✔ Lifecycle
感知生命周期
1️⃣3️⃣ 应用架构(MVVM + Repository)
现代 Android 必须结构化:
UI → ViewModel → Repository → 数据源(网络/本地)
优点:
解耦
易维护
更可测试
1️⃣4️⃣ APP 打包与上线
生成签名
app-release.aab
app-release.apk
keystore
上传渠道:
Google Play
国内各大渠道
私发 APK
🔥 给你总结一句话:
Android 开发的核心是:
组件 → 生命周期 → UI → 异步处理 → 数据存储 → 架构
评论