手机安全卫士 07
一、查询手机号码归属地
手机号码归属地查询分析
– 要查询手机号码归属地的数据库来自本地
– 把address.db 数据库与apk一起发布出去
把address.db 放在assets目录一起发布出去访问已存在的数据库
– assets目录的特点:
1. 存放的是原生文件 ,不对里面的文件转码
2. 该目录的文件只支持读取,即只获取输入流
3. 不在R文件注册
4. 可以建文件夹
5. 一般存放 网页文件,图片文件、音乐文件、数据库文件、文本文件等;
– 不能直接访问assets 目录的 数据库文件
– 把存放在assets目录的数据库文件拷贝到 手机本地目录存放,就可以访问
assets 目录的url地址:file:///android_asset/
1. 手机本地目录
- 外存
- 手机内部存储
/data/data/《包名》/databases/address.db
2. 什么时候拷贝assets目录的数据库文件拷贝到 手机本地目录存放
可以再SplashActivity界面初始化项目时拷贝因为只有截取前7位所以输入框内要用一个正则表达式来确认是手机号
在数据库里查前7位到8位
文本改变的监听
—自动查询!!在高级工具功能模块,实现手机号码查询功能
- 界面设计
- 功能实现
- 适配不同类型的号码
监听文本变化
实现抖动和震动效果
(作弊软件 ABCD各种的震动效果)- 拷贝关心的源码 实现步骤:
- 查找字段值,找出关联该字段值的属性名
- 通过属性名再找布局文件
- 再通过布局文件查询关联该布局的java 源码
- 震动效果
- 取得震动服务
Vibrator vibrator= (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE); - 设置震动效果
vibrator.vibrate(2000);
/**以某种频率实现震动
- pattern:震动的采样
- repeat:
- 当值为-1 ,表示 不重复
- 当大于0的整数 ,则按数组的下标开始重复
*/
vibrator.vibrate(new long[]{500,300,100,200}, 2);
- 取消震动
vibrator.cancel(); - 震动需要权限
android.permission.VIBRATE
- 取得震动服务
- 拷贝关心的源码 实现步骤:
二、监听来电电话状态,显示号码归属地
1. 归属地服务
监听电话号码归属地服务
2. 通过设置中心开启与关闭来电归属地服务
- 做界面
练习:
1. copyDb :在SpalshActivity拷贝 address.db 到手机本地路径
2. 编写AddressDao ,来访问数据库