- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
手机卫士
讲师:杨光福
Day6
51_黑名单号码数据库的创建曾删改查_40
演示金山卫士的拦截效果;
创建手机防盗页面CallSmsSafeActivity,并在功能清单文件注册。
添加跳转逻辑,并实现布局文件,头部采用相对布局;
在com.itheima.mobile.db目录下创建数据库打开帮助类BlackNumberDBOpenHelper,它是继承SQLiteOpenHelper的;
讲解构造方法的参数和OnCreate方法什么时候执行;
创建数据库的表结构
//创建表 blacknumber 主键_id自增长 ,number黑名单号码,mode拦截模式:1电话拦截 2短信拦截 3全部拦截
db.execSQL(create table blacknumber (_id integer primary key autoincrement,number varchar(20),mode varchar(2)));
创建新包com.itheima.mobilesafe.test并创建测试数据类TestBlackNumberDB 继承AndroidTestCase
创建数据库方法testCreateDB()
public void testCreateDb(){
BlackNumberDBOpenHelper helper = new BlackNumberDBOpenHelper(getContext());
helper.getWritableDatabase();
}
测试报错后,添加测试框架相关参数;
测试框架(放在manifest根节点)
instrumentation
android:name=android.test.InstrumentationTestRunner
android:targetPackage=com.itheima.mobilesafe /
依赖库(放在application里面)
uses-library android:name=android.test.runner /
运行测试代码,查看是否已经成功创建数据库,导出用工具打开查看列表信息;
数据的增、删、改、查的实现 com.itheima.mobilesafe.db.dao
创建类BlackNumberDao 在里面实现增删改查;
A:在构造方法里创建数据库;
helper = new BlackNumberDBOpenHelper(context);
B:数据库的添加add(String number,String mode)
SQLiteDatabase db= helper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(number, number);
values.put(mode, mode);
//第二个参数:当内容为空时
db.insert(blacknumber, null, values);
db.close();
nullColumnHack当values参数为空或者里面没有内容的时候,insert是会失败的(底层数据库不允许插入一个空行),为了防止这种情况,要在这里指定一个列名,到时候如果发现将要插入的行为空行时,就会将你指定的这个列名的值设为null,然后再向数据库中插入。通过观察源码的insertWithOnConflict方法可以看到当ContentValues类型的数据initialValues为null或size=0时,就会在sql语句中添加nullColumnHack的设置。
C:数据库的删除delete(String number)
SQLiteDatabase db= helper.getWritableDatabase();
db.delete(blacknumber, number=?, new String[]{number});
db.close();
D:数据的修改update(String number ,String newMode):
SQLiteDatabase db= helper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(mode, newMode);
db.update(blacknumber, values, number=?, new St
您可能关注的文档
最近下载
- 日立电梯LGE无机房乘客电梯电气规格表电气原理图纸K3500415(2018-8).pdf
- 制药工程制图习题集(第二版)于颖_课后习题答案解析.pdf
- 水表计量检定站被授权水表检定资格.doc VIP
- 万圣节英语习俗介绍.ppt VIP
- 《JTS 120-1-2018 跨越和穿越航道工程航道通航条件影响评价报告编制规定》.pdf
- 2023-2024学年人教PEP版六年级上册英语期中测试卷 (含答案).pdf
- Halloween万圣节英介绍.ppt VIP
- 学生心理健康辅导记录表(18篇).pdf
- 2024-2025学年初中英语六年级上册(2024)沪教版(五四学制)(2024)教学设计合集.docx
- 2024年大学各专业就业率情况和分析研究.pdf
文档评论(0)