- 1、本文档共62页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第8章数据存储与共享;
8.1文件存储;
为查验输入的内容是否保存到了文件,我们做一个验证。验证时要用到adb命令。在验证之前,先简单了解一下adb命令的用法。要在命令行下使用adb,首先需要配置环境变量。以Windows7为例,右键点击计算机,选择属性,选择左侧的高级系统设置,选择高级选项,点击环境变量按钮,在系统变量中添加adb.exe所在的路径。通常情况下,adb.exe在AndroidSDK文件夹下的platform-tools文件夹中。配置完环境变量后打开cmd,在命令行中输入adb,如果出现如图8.1所示的界面,则证明配置成功。;
;
接下来在Android模拟器中运行工程,在文本框中输入“Hello,TUST!”,如图8.2所示,并按下返回键。然后在cmd命令中输入adbroot,获取管理员权限,随后输入adbshell,会进入adb控制台,如图8.3所示。如果控制台中出现的是$符号,则需要在控制台中输入su命令获得超级管理员权限。;
;
;
接着进入filedata.txt文件所在的目录,在adb控制台中输入命令“cd/data/data/edu.tust.filestoretest/files”会进入到该目录下,然后使用ls命令查看目录下的文件,如图8.4所示。;
;
可以看到,目录下已经存在filedata.txt文件,然后在控制台输入exit退回到cmd界面。在cmd中输入命令“adbpull/data/data/edu.tust.filestoretest/filedata.txtd:\ceshi”,将该文件复制到d盘的ceshi文件夹下,如图8.5所示,读者可根据自己的需求更改路径。;
;
可以看到,文件已经成功复制到目标文件夹下,打开文件,文件的内容如图8.6所示。说明在工程中输入的文本已经成功地保存到目标文件中。;
;
运行程序,在文本框中输入“IloveTUST.”,如图8.7所示。按下返回键退出程序并销毁Activity。然后在Android模拟器中再次打开FileStoreTest这个工程,可以看到,上次输入的内容还在,如图8.8所示。重新开启程序后文本框中的内容与上次退出前是一样的,说明成功读取到了filedata.txt文件中的内容。如果想进一步验证是否通过filedata.txt文件读取到的数据,仍可以通过adb控制台进行验证。;;
8.2SharedPreferences存储;
运行程序,点击按钮,如图8.9所示。然后打开adb控制台,查看目标目录下是否已经生成名称为spdata的文件。依次输入“adbshell”,“cd/data/data/edu.tust.sharedpreferencesstoretest/shared_prefs”,“ls”命令,可以查询到该文件,如图8.10所示。;
;
;
接下来仿照8.1节的步骤,将该文件复制到目标文件夹下进行查看。文件内容如图8.11所示。可以看到,数据已经成功保存了下来,并且使用的是XML格式对数据进行管理。;
;
在上述代码中,给新增加的按钮添加一个点击事件,通过getSharedPreferences()方法得到了SharedPreferences对象,之后分别调用它的getString()、getInt()、getBoolean()方法去获取前面存储的学校名称、id和是否公立,如果没找到对应的值,就使用方法中传入的默认值来代替,最后通过对话框控件显示出来,效果图如图8.12所示。可以看到,成功读取出了数据。通过和文件存储对比,发现SharedPreferences存储简单了许多,这种存储方式在实际开发中也有很多应用场景,比如记住密码等常见功能。;
;
8.3数?据?库?存?储;
此外,SQLiteOpenHelper中还有两个非常重要的实例方法,分别是getReadableDatabase()和getWritableDatabase()。这两个方法可以实现一个共同的功能,那就是如果数据库已存在则直接打开,否则创建一个新的数据库,同时会返回一个可对数据库进行读写操作的对象。两者的不同之处在于,当数据库处于不可被写入的状态时,getWritableDatabase()方法会出现异常,而getReadableDatabase()方法会以只读的方式打开数据库。;
为了能正常创建和使用数据库,SQLiteOpenHelper中提供了一个构造方法用于重写,该构造方法中需要输入四个参数:第一个参数是Context,必须有Context才能对数据库进行操作;第二个参数是数据库名称,创建的数据库名称在这里指定;第三个参数是允许在查询数据时返回的一个自定义的C
您可能关注的文档
- 《传感器与检测技术》课件_第5章 霍尔传感器与位移检测.pptx
- 《MATLAB基础与编程入门》课件_第6章 图形基础.pptx
- 《Java基础实践教程》课件_第九章.pptx
- 《高级财务会计》课件_第七章租赁.ppt
- 《电子技术基础技能实训教程》课件)_第5章.pptx
- 《MATLAB基础与编程入门》课件_第7章 图形用户界面基础.pptx
- 《高级财务会计》课件_第二章 职工薪酬.ppt
- 《电子技术基础技能实训教程》课件)_第7章.pptx
- 《Android系统设计与开发》课件_第2章.pptx
- 《MATLAB基础与编程入门》课件_第2章 矩阵和数组.pptx
- 国家安全教育大学生读本高教社2024年8月版课件全套合集(包括绪论总共11章PPT课件).pdf
- 国家安全教育大学生读本高教2024版课件-第三章更好统筹发展和安全.pptx
- 国家安全教育大学生读本高教社2024年8月版教材讲义-第四章 坚持以人民安全为宗旨.docx
- 国家安全教育大学生读本高教2024版课件-第九章筑牢其他各领域国家安全屏障-.pptx
- 国家安全教育大学生读本高教2024版课件-第一章完全准确领会总体国家安全观.pptx
- 国家安全教育大学生读本高教社2024年8月版-导论课件.pptx
- (已瘦身)国家安全教育大学生读本高教社2024年8月版课件全套合集(包括绪论总共11章PPT课件).pptx
- 市直单位党员干部2024年度组织生活会对照检查材料四个带头+上年度查摆问题整改落实情况+自我批评意见.docx
- 某中学委员会关于巡察整改进展情况的报告材料.docx
- 经验交流发言材料:“五向发力”建强堡垒 集聚高质量发展动能.docx
文档评论(0)