- ADB进程
* adb指令
* adb install xxx.apk * adb uninstall 包名 * adb devices * adb start-server * adb kill-server * adb shell * ls * ps * rm * cd * adb push 文件路径/文件名 sdcard/文件名 * adb pull sdcard/文件名- Android开发环境
* sdk
* eclipse * adt:eclipse插件- DDMS
* 查看Android设备
* 控制台输出 * 给模拟器打电话发短信- Android项目目录结构
* assets:较大资源文件,没有资源id,使用io流读取
* libs:第三方jar包 * res:资源文件,有资源id- 按钮点击事件
* 设置侦听
* onClick属性- android五种常见布局
* 线性
* 相对 * 帧 * 表格:TableRow * 绝对- Log
* 控制台输出分5个等级
* Log.v * Log.e- 单元测试框架
* AndroidTestCase
* 指令集和类库- 数据存储
* 文件读写:内部存储、外部存储路径
* SharedPreference * 键值对形式保存数据 * 保存到xml文件 * 数据库SQLite数据库 * ContentProvider * 把数据保存在别人的私有文件中- XML生成解析
* XmlSerializer,序列化器
* DOM、SAX、PULL * pull事件类型 * START_DOCUMENT * END_DOCUMENT * START_TAG * END_TAG * TEXT- SQLite数据库
* SQLiteOpenHelper:创建数据库
* 构造方法的4个参数 * SQLiteDatabase:增删改查 * 主键:_id- ListView:用于显示列表
* 条目是一个View对象,可以用布局文件填充而来
* 设置Adapter * getCount:获取条目总数 * getView:获取View对象作为条目显示 * 条目一旦划出屏幕,就会被缓存 * 下一次getView方法调用时,会把缓存传进去- 网络请求
* URL对象封装网址
* 打开连接对象 * 对连接对象做设置 * 请求方式get/post * 连接/读取超时 * 发送请求,获取相应码 * 服务器通过流把请求的数据交给客户端- 消息队列机制
* 主线程创建时,就会创建MessageQueue和Looper对象
* 程序员创建Handler对象 * 消息队列中有消息,Looper就把消息取出,交给Handler,触发handleMessage调用 * 发送消息:sendMessage * 把消息发到创建Handler的那个线程的消息队列 * 消息携带数据 * what * obj * setData:Bundle- Android四大组件
* Activity
* service * broadcastReceiver * contentProvider- Activity
- * 生命周期:
* oncreate
* onstart * onresume * onpause * onstop * ondestroy * onrestart-
- * 启动方式:
* startActivity
* startActivityForResult * 回调onActivityReslut-
- * 启动模式:
* 标准
* singleTop * singleTask * singleInstance- Intent
* Activity跳转
* Service启动 * 广播发送 * 显式意图:指定目标Activity/Service的字节码 * 隐式意图:设置intent对象去匹配intent-filter * 可以封装数据 * 八大基本数据类型及其数组 * String及其数组 * bundle * 实现了序列化接口的对象 * Serializable * Parcelable- 广播接收者
* 通过intent-filter定义接收什么广播
* 可以设置优先级,对于有序广播有效 * 有序广播 * 按照优先级区分接收的先后顺序 * 无序广播 * 不分先后顺序 * 不能拦截,不能修改广播内容- Service
* 启动方式
* startService * 服务进程 * 服务跟Activity没有一毛钱关系 * onCreate-onStartCommand-onDestroy * bindService * 进程优先级不变 * 服务和Activity同生共死 * * onCreate-onBind-onUnbind-onDestroy * 进程优先级 * 前台进程 * 可见进程 * 服务进程 * 后台进程 * 空进程 * 先杀优先级低的,相同优先级,LRU算法定生死- AIDL
* 把接口文件后缀名改成aidl
* aidl中默认都是public,不需要也不允许定义访问修饰符 * 中间人对象继承Stub * 把aidl赋值到启动者的应用中,包名必须一致 * 绑定时获得中间人对象,Stub.asInterface强转- ContentProvider:
* 共享私有数据
* 提高安全性,可以定义共享规则 * Uri匹配器 * 匹配Uri末尾携带的内容 * ContentObserver:接收通知,内容提供者改变数据库时会发通知- 播放器
* MediaPlayer:音乐视频
* SurfaceView:视频播放 * surfaceHolder * 可见时创建,不可见时销毁- 摄像头
* 启动系统自带的Activity
* Camera:负责拍照 * SurfaceView:显示预览界面- 图片处理
* 加载图片时会解析图片的所有像素信息
* 内存中使用ARGB保存像素信息,也就是32位色,占用4个字节 * 压缩图片后再加载