数据存储之File文件存储(即SD卡的写入与读取).docxVIP

数据存储之File文件存储(即SD卡的写入与读取).docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在实际开发中,Android提供了5种方式存储数据,从这一讲开始,我们来学习一下Android中的数据存储。1.?文件存储数据 [也就是通常说的SD卡中]?2. 使用SharedPreferences存储数据 ?3. SQLite数据库存储数据 ?4. 使用ContentProvider存储数据 ?5. 网络存储数据 [可以把本地的数据存储在网络的服务端]1.?文件存储数据介绍?? 我们都知道Java提供了一套完整的IO流体系,包括FileInputStream和FileOutStream等,通过这些类我们可以方便的访问磁盘上的文件内容Android同样支持这种方式访问手机存储器上的文件。?? OpenFileOutput和openFileInput的使用, Context提供了如下两个方法来打开应用程序的数据文件夹里的文件IO流。1) FileInputStream?openFileInput(String name):打开应用程序的数据文件夹下的name文件对应的输入流2) FileOutStream?openFileOutput(String name,int mode):打开应用程序的数据文件夹下的name文件对应输出流?? mode : 指定打开文件的模式,该模式支持如下值:Context.MODE_PRIVATE??? =? 0Context.MODE_APPEND??? =? 32768 \\追加Context.MODE_WORLD_READABLE =? 1 \\可读Context.MODE_WORLD_WRITEABLE =? 2 \\可写以上两个方法都是分别打开文件输入流、输出流,除此之外,Context还提供了如下几个方法来访问应用程序的数据文件夹:?????? getDir(String name,int mode) : 在应用程序的数据文件夹下获取或者创建name对应的子目录?????? File getFilesDir() : 获取该应用程序的数据文件夹的绝对路径?????? String[] fileList() : 返回该应用程序的数据文件夹下的指定文件2. 文件存储步骤在进行文件存储的时候,都会首先去判断是否存在外部存储设备。?? 查看 Android文档:Using the External Storage [使用可扩展的存储设备]:???? 每一台Android设备都会支持 可扩展存储 的设备来让你保存文件. 它是可以移动的存储设备(例如SD卡)或者集成的(不可移动)的存储设备。检查媒体存在:???? 在你做任何外部存储工作之前,你应该调用 getExternalStorageState()? 方法来检查存储媒体是否可以用。这些存储媒体状态可能是已安装,没有存储卡,只读,或者其他的一些状态。3. 程序实现1)?在对SD卡进行操作的时候,必须在AndroidManifest.xml清单文件中添加它的授权,在AndroidManifest.xml下的Permissions标签下添加,如下图所示:2) 进行单元测试,在AndroidManifest.xml下的Instrumentation标签下添加单元测试,测试内容只需要添加测试名称和包的内容即可,如下图所示:????? 同时在 AndroidManifest.xml 代码中加一个单元测试的标签就可以进行单元测试的内容了:?????? uses-library android:name=android.test.runner/3)?AndroidManifest.xml 代码如下:[html]?view plaincopy?xml?version=1.0?encoding=utf-8???manifest?xmlns:android=/apk/res/android??????package=com.android.sdcarddemo??????android:versionCode=1??????android:versionName=1.0?????????uses-sdk??????????android:minSdkVersion=8??????????android:targetSdkVersion=17?/??????!--?添加读写SD?card?的授权?--??????uses-permission?android:name=android.permission.WRITE_EXTERNAL_STORAGE?/????????instrumentation??????????android:name=android.test.InstrumentationTestRunner??????????android:targetPa

您可能关注的文档

文档评论(0)

shaoye348 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档