第一部分: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_toRightOflayout_below等相对位置属性
  • orientation:线性布局方向
  • stretchColumns:拉伸指定列
  • layout_rowSpanlayout_columnSpan:跨行跨列
常用控件与显示
  • TextView、EditText、Button
  • Toast:LENGTH_LONGLENGTH_SHORT
  • ProgressBar(进度条)
样式与主题
  • 样式(Style)与主题(Theme)的区别
  • 主题优先级低于样式
  • 主题在AndroidManifest.xml中设置
国际化(I18N)
  • 通过values-zh-rCNvalues-en-rUS等目录实现

第三部分:Activity

Activity生命周期
  • 三种状态:运行、暂停、停止
  • 生命周期方法:onCreate()onStart()onResume()onPause()onStop()onDestroy()
Activity启动模式
  • standard
  • singleTop
  • singleTask
  • singleInstance
Intent与数据传递
  • 显式Intent与隐式Intent
  • 使用putExtra()传递数据
  • 通过startActivityForResult()onActivityResult()实现数据回传
  • 传递对象:实现SerializableParcelable接口
任务栈(Task Stack)
  • 管理Activity实例的方式

第四部分:数据存储

SharedPreferences
  • 轻量级存储,存储配置信息
  • 使用Editor编辑数据,commit()提交
文件存储
  • 内部存储路径:/data/data/<包名>/
  • 外部存储(SD卡):Environment.getExternalStorageDirectory()
  • 文件操作模式:MODE_PRIVATEMODE_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官方文档和最新技术动态