⭐ 目录总览

  1. Android 是什么 & 应用结构

  2. Android 项目结构(重点)

  3. 四大组件(Activity / Service / BroadcastReceiver / ContentProvider)

  4. Activity 完整介绍(生命周期、启动模式、Intent)

  5. Fragment 使用(现代安卓必会)

  6. UI 布局(XML、ConstraintLayout、RecyclerView)

  7. 事件与交互(点击、触摸、自定义 View)

  8. 数据存储(SharedPreferences / SQLite / Room)

  9. 网络开发(OKHttp、Retrofit、协程 Flow)

  10. 多线程与异步(Handler、Thread、Executor、Coroutine)

  11. Android 权限机制

  12. 常用 Jetpack 组件(ViewModel、LiveData、Navigation 等)

  13. Android 应用完整架构(MVVM + Repository)

  14. 打包、签名、上线、性能优化

我会按模块详细展开,保证你能随时查阅。


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 → 异步处理 → 数据存储 → 架构