- 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
您可能关注的文档
- 本步骤介绍逼真的水纹制作方法.doc
- 本溪市北星小学程尚峰四年信息技术文件的家教学设计.doc
- 本生命教育的整理.doc
- 本的劳动关系调整.doc
- 本科(心理学)考核要点.doc
- 本科专业培养方案[2012版.2013年修订].doc
- 本科人才培养的计划汇编.doc
- 本科各批次院校特点和报考策略.doc
- 本科教学评估的计划.doc
- 本科毕业的设计工作手册.doc
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
文档评论(0)