[mobilesafe] 12_更改Toast位置&双击事件&三击(多击)事件&发送小火箭&创建快捷图标&ExpandableListView;&备份短信&黑名单管理及优化总结

Android 4.0

更改Toast位置&双击事件&三击(多击)事件&发送小火箭&创建快捷图标&ExpandableListView&备份短信&黑名单管理及优化总结

1、更改归属地提示框显示的位置Toastview对象显示的两个阶段(渲染机制)
a) 测量 onmesure()
b) 显示 layout()
如果要在测量前获取组件宽高,用LayoutParams
2、双击事件,以及触摸事件,单击事件,长按事件
如果一个组件同时注册点击事件和触摸事件
注意,触摸事件要返回false,否则就consume该事件了
点击事件就失效了
3、三击事件,多击事件
查看系统设置Android version的源码实现:
ctrl+h,搜字符串strings.xml
4、一个可以自由移动的土司(拨号的时候)
可以响应触摸事件的悬浮窗体
a) 为土司注册触摸事件
b) 注意一些配置,params  flags
params.type = WindowManager.LayoutParams.TYPE_PRIORITY_PHONE
c) 最后还能保存起来
5、发射小火箭
动画 触摸 handler+message
6、创建快捷图标
a) 必须是隐式意图
b) 避免多次创建快捷图标(系统源码)
 intent.putExtra("duplicate", false);
7、可以扩展的ListView-ExpandableListView
注意ListView优化
a)  历史缓存View对象-convertView
b)  ViewHolder,绑定查找到的组件,防止多次查找
8、备份短信
a) 内容提供者,内容解析者,获取短信内容
b) 回调函数,抽象接口
9、短信内容进行加密
异或
10、黑名单功能-黑名单数据库创建,以及增删改查
SQLOpenHelper
SQLiteDatabase
11、黑名单优化——ListView优化
1) 使用历史缓存 convertView
a) 判空
b) 判断类型
2) ViewHolder,保存已经通过id查找到的view对象的引用
a) 绑定到view对象的tag,view.setTag(viewHolder);
b) 获取绑定的view对象的tag
ViewHolder viewHolder = view.getTag();