第一部分:Android概述
APK文件结构
- 后缀名:
.apk - 程序资源目录:
res/ - 布局文件存放:
res/layout/ - 代码目录:
src/ - 自动生成目录:
gen/(含R.java)
Android系统架构
- 分层:应用程序层、应用程序框架层、核心类库、Linux内核
- 开源系统
- 基于Linux平台开发
SDK与开发环境
- Minimum Required SDK:最低兼容版本
- SDK Manager:管理SDK版本
- ADB工具使用
工程结构
assets/:存放原封不动的文件资源AndroidManifest.xml:程序配置文件- 包名(Package Name)与应用名称(Application Name)的区别
第二部分:Android UI开发初阶
常用布局
- RelativeLayout(相对布局)
- LinearLayout(线性布局)
- FrameLayout(帧布局)
- TableLayout(表格布局)
- GridLayout(网格布局)
- AbsoluteLayout(绝对布局)
布局属性
layout_toRightOf、layout_below等相对位置属性orientation:线性布局方向stretchColumns:拉伸指定列layout_rowSpan、layout_columnSpan:跨行跨列
常用控件与显示
- TextView、EditText、Button
- Toast:
LENGTH_LONG、LENGTH_SHORT - ProgressBar(进度条)
样式与主题
- 样式(Style)与主题(Theme)的区别
- 主题优先级低于样式
- 主题在
AndroidManifest.xml中设置
国际化(I18N)
- 通过
values-zh-rCN、values-en-rUS等目录实现
第三部分:Activity
Activity生命周期
- 三种状态:运行、暂停、停止
- 生命周期方法:
onCreate()、onStart()、onResume()、onPause()、onStop()、onDestroy()
Activity启动模式
- standard
- singleTop
- singleTask
- singleInstance
Intent与数据传递
- 显式Intent与隐式Intent
- 使用
putExtra()传递数据 - 通过
startActivityForResult()与onActivityResult()实现数据回传 - 传递对象:实现
Serializable或Parcelable接口
任务栈(Task Stack)
- 管理Activity实例的方式
第四部分:数据存储
SharedPreferences
- 轻量级存储,存储配置信息
- 使用
Editor编辑数据,commit()提交
文件存储
- 内部存储路径:
/data/data/<包名>/ - 外部存储(SD卡):
Environment.getExternalStorageDirectory() - 文件操作模式:
MODE_PRIVATE、MODE_APPEND等
XML序列化与解析
XmlSerializer序列化XmlPullParser解析(基于事件)
SQLite数据库
- 轻量级嵌入式数据库
SQLiteOpenHelper创建与更新数据库SQLiteDatabase执行增删改查- 事务操作:
beginTransaction()、setTransactionSuccessful()、endTransaction()
五种数据存储方式
- 文件
- SharedPreferences
- SQLite
- ContentProvider
- 网络
第五部分:UI进阶
ListView与适配器
- 适配器:BaseAdapter、ArrayAdapter、SimpleAdapter
getView()、getCount()、getItem()、getItemId()
Fragment
- 碎片,嵌入Activity的UI片段
- 生命周期与Activity类似
- 支持Android 3.0+,V4兼容包支持低版本
第六部分:内容提供者(ContentProvider)
ContentProvider
- 用于跨程序共享数据
- 通过Uri访问数据
- 需在清单文件中注册
ContentResolver
- 通过Uri操作ContentProvider暴露的数据
- 增删改查方法:
insert()、delete()、update()、query()
UriMatcher
- 用于匹配Uri,判断操作类型
ContentObserver
- 观察数据变化,触发
onChange()方法
系统ContentProvider
- 联系人:
ContactsContract - 短信:
content://sms
第七部分:广播(BroadcastReceiver)
广播类型
- 有序广播:可拦截、修改、设置优先级
- 无序广播:不可拦截
广播注册方式
- 静态注册(清单文件)
- 动态注册(代码注册,需及时注销)
常用系统广播
- 开机启动:
BOOT_COMPLETED - 短信接收:
SMS_RECEIVED - 外拨电话:
NEW_OUTGOING_CALL
广播方法
sendBroadcast():发送无序广播sendOrderedBroadcast():发送有序广播abortBroadcast():拦截有序广播
第八部分:服务(Service)
Service生命周期
startService():onCreate()→onStartCommand()→onDestroy()bindService():onCreate()→onBind()→onUnbind()→onDestroy()
Service类型
- 本地服务(同一进程)
- 远程服务(跨进程,使用AIDL)
AIDL(Android接口定义语言)
- 用于进程间通信(IPC)
- 定义接口,实现跨进程方法调用
Service与Thread的区别
- Service运行在主线程,需自行创建子线程处理耗时操作
知识点总结
涵盖范围
本知识整理涵盖了Android开发的八大核心模块,包括:
- Android基础概念 - 系统架构、开发环境、工程结构
- UI界面开发 - 布局、控件、样式主题、国际化
- 核心组件 - Activity、Service、BroadcastReceiver、ContentProvider
- 数据存储 - 文件、数据库、SharedPreferences
- 高级UI - ListView、Fragment、适配器
- 进程通信 - AIDL、IPC
学习建议
- 按照模块顺序系统学习,从基础到高级
- 重点掌握四大组件的生命周期和使用场景
- 理解不同数据存储方式的适用场景
- 多动手实践,通过项目巩固知识点
- 关注Android官方文档和最新技术动态