好,阿杰 👍
我来给你整理一份 Android 开发 API 指南,重点帮你梳理 API 层级、核心模块和常见使用场景。
📱 Android 开发 API 指南
1. API 级别(API Level)
- 定义:每个 Android 系统版本对应一个 API Level
- 意义:应用开发时必须指定
minSdkVersion
(最低支持)和targetSdkVersion
(目标兼容版本) - 示例:
- Android 14 → API Level 34
- Android 13 → API Level 33
- Android 12 → API Level 31/32
2. 应用四大组件
- Activity:界面交互组件(一个屏幕就是一个 Activity)
- 生命周期:
onCreate → onStart → onResume → onPause → onStop → onDestroy
- 常用:
startActivity()
,finish()
- 生命周期:
- Service:后台运行任务(长时间任务、音乐播放)
- 类型:前台服务(有通知)、后台服务(受系统限制)
- 启动:
startService()
,bindService()
- BroadcastReceiver:广播接收器(系统事件、应用间通信)
- 示例:电量变化、网络状态
- 注册:动态(代码中)、静态(Manifest 中)
- ContentProvider:数据共享接口(跨应用数据访问)
- 示例:通讯录、媒体库
- 使用:
ContentResolver.query()
3. 常用 API 模块
UI 与交互
- View / ViewGroup:界面控件与布局系统
- RecyclerView:高性能列表
- Fragment:可复用 UI 组件
- Jetpack Compose(推荐):声明式 UI 构建框架
数据存储
- SharedPreferences:键值对存储
- SQLite / Room:关系型数据库
- DataStore:Jetpack 推荐的轻量存储
网络与通信
- HttpURLConnection / OkHttp:网络请求
- Retrofit:API 封装框架
- WebSocket:实时通信
多媒体
- MediaPlayer / ExoPlayer:音视频播放
- CameraX:相机 API
- MediaStore:系统多媒体存取
系统与硬件
- Location API / FusedLocationProvider:定位
- SensorManager:传感器
- Bluetooth / NFC:蓝牙与近场通信
- NotificationManager:通知系统
4. Jetpack 库(强烈推荐)
- Lifecycle:更好地管理生命周期
- ViewModel:保存界面数据
- LiveData / Flow:响应式数据流
- Room:数据库持久化
- WorkManager:后台任务调度
- Navigation:页面跳转与参数传递
- Paging:分页加载数据
5. 权限管理
- Manifest 声明:
<uses-permission android:name="android.permission.CAMERA"/>
- 运行时申请(Android 6.0+):
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.CAMERA), 1) }
6. 开发调试工具
- ADB (Android Debug Bridge):调试、安装 APK、查看日志
- Logcat:日志输出
- Profiler:性能分析(内存/CPU/网络)
- StrictMode:检测性能问题
7. 最佳实践
- 避免在主线程做耗时操作(使用
Coroutine
、AsyncTask
已过时) - 使用 MVVM 架构 + Jetpack(清晰分层、易维护)
- 优先使用 DataStore 替代 SharedPreferences
- 使用 WorkManager 代替传统
Service
做后台任务 - 适配不同 API Level(通过
Build.VERSION.SDK_INT
判断)
8. 学习路线建议
- 入门:Activity、Layout、Intent、RecyclerView
- 进阶:网络请求、数据库、Service、BroadcastReceiver
- 强化:Jetpack、权限管理、通知、相机/定位
- 实战:做一个 TodoList / 天气查询 / 即时通讯小应用
发表回复