`
朱嘉华
  • 浏览: 240445 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

android 数据储存——--文件存储(2)

阅读更多

前面介绍的Shared Preferences存储方式非常方便,但是其只适合存储比较简单的数据,如果需要存储更多的数据,可行选择的方式有好几种,这里先给读者介绍文件存储的方法。

和传统的Java中实现I/O的程序类似,在Android中,其提供了openFileInput 和 openFileOuput 方法读取设备上的文件,下面看个例子代码,具体如下所示:

  1. String FILE_NAME = "tempfile.tmp";  // 确定要操作文件的文件名  
  2. FileOutputStream fos = openFileOutput (FILE_NAME, Context.MODE_PRIVATE); //初始化  
  3. FileInputStream fis = openFileInput (FILE_NAME); //创建写入流 

代码解释:

上述代码中两个方法只支持读取该应用目录下的文件,读取非其自身目录下的文件将会抛出异常。需要提醒的是,如果调用FileOutputStream 时指定的文件不存在,Android 会自动创建它。另外,在默认情况下,写入的时候会覆盖原文件内容,如果想把新写入的内容附加到原文件内容后,则可以指定其模式为Context.MODE_APPEND。

注意 默认情况下,使用openFileOutput方法创建的文件只能被其调用的应用使用,其他应用无法读取这个文件,如果需要在不同的应用中共享数据,可以使用Content Provider实现,关于Content Provider我们将在稍后的内容中介绍。

小知识 资源文件放在哪里?

如果你的应用需要一些额外的资源文件,例如,一些用来测试你写的音乐播放器是否可以正常工作的MP3文件,可以将这些文件放在应用程序的/res/raw/下,如mydatafile.mp3。那么就可以在你的应用中使用getResources获取资源后,以openRawResource方法(不带后缀的资源文件名)打开这个文件,实现代码如下所示:

  1. Resources myResources = getResources();   
  2. InputStream myFile = myResources. openRawResource(R.raw.myfilename);  

除了前面介绍的读写文件外,Android还提供了诸如deleteFile、fileList 等方法来操作文件,不再赘述。

 

分享到:
评论

相关推荐

    安卓Android源码——-拍照、打开本地相册.zip

    这个压缩包文件“安卓Android源码——-拍照、打开本地相册.zip”很可能包含了一个示例项目,名为“camerademo”,它演示了如何在Android应用中集成这些常见功能。下面我们将深入探讨相关知识点。 1. **相机API**:...

    安卓Android源码——oschina-android-app(开源中国).zip

    3. **数据持久化**:源码可能包含SQLite数据库的使用,以及如何使用SharedPreferences存储轻量级数据。 4. **网络通信**:学习如何使用OkHttp、Retrofit或Volley等库进行网络请求,处理JSON数据,实现API调用。 5....

    经典的Android项目——bagilevi-android-pedometer.zip

    5. **数据持久化**:步数数据需要保存以便后续查看,这可能使用SharedPreferences进行轻量级存储,或者ContentProvider、SQLite数据库进行更复杂的数据管理。 6. **权限管理**:使用传感器需要申请相应的权限,如...

    Android源码——oschina-android-app(开源中国).zip

    5. **数据存储**:可能使用SQLite数据库进行本地数据存储,或者使用Room库,它是Android官方推荐的数据库访问层解决方案,提供更友好的API。 6. **网络请求**:可能会使用OkHttp或Volley进行网络请求,获取和发送...

    安卓Android源码——oschina--app.zip

    4. **数据存储**:Android提供SQLite数据库和SharedPreferences等本地存储方式,源码可能使用这些技术来保存用户信息、设置或缓存数据。此外,现代应用也倾向于使用Room库,它提供了更友好的API进行数据库操作。 5....

    安卓Android源码——telecapoland-jamendo-android-6cd07fb(国外开源音乐播放器).zip

    - `.project`:这是Eclipse项目的元数据文件,包含了项目的构建信息、编译器设置等。 - `ROADMAP`:项目路线图,通常列出项目的发展方向和计划,帮助开发者理解项目的未来规划。 - `AndroidManifest.xml`:...

    安卓Android源码——avnewu-QQDemo-d81a7a4.rar

    【标题】"安卓Android源码——avnewu-QQDemo-d81a7a4.rar" 是一个关于安卓开发的源码项目,其中包含了QQDemo的实现代码,版本标识为d81a7a4。这个项目可能是一个学习或者研究安卓应用开发的实例,它为我们提供了深入...

    安卓Android源码——oschina--app(开源中国).zip

    2. **app模块**:这个子目录下会有`src/main`,其中`java`目录存放Java或Kotlin源代码,`res`目录存放资源文件(如布局、图标、字符串等),`AndroidManifest.xml`定义应用元数据和权限。 3. **依赖管理**:`build....

    安卓Android源码——安卓Android学习——数据存储.rar

    本压缩包文件"安卓Android源码——安卓Android学习——数据存储.rar"显然是针对安卓数据存储机制的学习资料,其中可能包含了相关的源代码示例和讲解。下面我们将深入探讨安卓中的数据存储方法。 1. **Shared ...

    安卓Android源码——ipcamera-for- 手机变成IP Camera.zip

    标题"安卓Android源码——ipcamera-for- 手机变成IP Camera.zip"指的是一个关于Android系统的开源项目,该项目的目标是将智能手机转换为网络摄像头(IP Camera)。"ipcamera-for-android"可能是一个特定的软件或库,...

    安卓Android源码——telecapoland-jamendo-android-6cd07fb(国外开源音乐播放器).rar

    如果telecapoland-jamendo-android需要访问网络或存储,那么需要在Manifest文件中声明相应的权限,并在运行时处理权限请求,以符合最新的Android权限模型。 总的来说,通过对telecapoland-jamendo-android-6cd07fb...

    安卓Android源码——auto-update-service-develop.zip

    "安卓Android源码——auto-update-service-develop.zip"这个压缩包很可能包含了用于自动更新服务的源代码,这对于那些希望构建具备自动更新功能的Android应用开发者来说是非常有价值的资源。在这个项目中,我们可以...

    安卓Android源码——MultiChoiceAdapter-master.zip

    【标题】"安卓Android源码——MultiChoiceAdapter-master.zip" 提供的是一个关于Android开发的源码库,主要关注多选适配器(MultiChoiceAdapter)的实现。这个项目可能是为了帮助开发者理解和创建自定义的多选列表...

    Android数据存储——SharedPreferences(登入记住密码)

    SharedPreferences是Android提供的一种简单的数据存储机制,它可以保存基本类型的数据,如布尔值、整型、浮点型、字符串以及字符串集合。这些数据会被保存在XML文件中,并在系统中全局可访问。SharedPreferences支持...

    安卓Android源码——query-master.zip

    2. **SQLite数据库**:在Android中,SQLite是最常用的本地数据存储方式。query-master可能包含了对SQLite数据库的操作,包括创建数据库、表结构设计、数据插入、查询、更新和删除等。通过源码,我们可以学习到如何...

Global site tag (gtag.js) - Google Analytics