android数据存储_内部存储

源码下载(免下载积分):下载

你可以直接存储数据到内部存储中,默认情况下,文件存储到内部存储中是私有的,不能被

其他程序访问,当卸载应用程序,这些文件会被移除。

创建并写入数据可以有两种方法:

  • 使用java中的相关的方法,
  • 使用android.content中的相关方法, 
    • 调用 openFileOutput(),并返回FileOutputStream对象
    • 调用FileOutputStream对象的write()方法
    • 关闭流

读文件也是基本相同的方式。

在读文件有一点小技巧:如果想在编译时保存一个静态文件在你的应用程序中,保存文件到

res/raw/directory.可以使用openRawResource()方法来打开文件,并返回一个InputStream

对象,然后就能读写数据了。

代码:

方法一:

FileOutputStream writeStream = null;
FileOutputStream fileOutputStream = null;
switch (view.getId()) {
    case R.id.button1:
    //创建的文件其他程序不能访问
    File file1 = new File(getFilesDir(),FILE1);
    try {
        //写入数据
        writeStream = new FileOutputStream(file1);
        writeStream.write("haha".getBytes());
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    finally{
        try {
            if (writeStream != null)
                writeStream.close();
        } catch (IOException e) {
            e.printStackTrace();
    }
}

方法二:

//使用的是android.content,
try {
    /*设置成MODE_PRIVATE,其他程序不能访问,这种是默认的构造方式,可以去设置成其他的方式来使其可读写。
    */
    fileOutputStream = openFileOutput(FILE2,Context.MODE_PRIVATE);
    //写入数据
    fileOutputStream.write("hehe".getBytes());
} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}
finally{
    try {
        if (fileOutputStream != null)
            fileOutputStream.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

存储缓存文件

如果想要缓存一些文件,你可以使用createTempFile()去创建文件,应该使用getCacheDir()去打开文件。

小技巧:正常情况下,上述的文件无法看到,要想看到就要使用adb了,模拟器:adb devices查看设备

~$ adb devices

List of devices attached

emulator-5554    device

然后进入超级用户中,就可以做相应命令来查看了

~$ adb -s emulator-5554 shell

#

注意:应用程序的内部存储目录是有应用程序的的包名制定的,默认的情况下,其他程序不能够访问内部

存储的路径,除非你显示的使用可读或者可写的模式。

参考资料:

http://developer.android.com/guide/topics/data/data-storage.html

http://developer.android.com/training/basics/data-storage/files.html

android数据存储_内部存储,布布扣,bubuko.com

时间: 2024-10-23 02:02:55

android数据存储_内部存储的相关文章

android数据存储_外部存储

源码下载(免下载积分):下载 外部存储并不是一定可以访问的,例如外部存储挂载到电脑上是,或者是SD Card作为外部存储,被移除是,因此在访问外部存储时,一定要保证外部存储是可以获得的.判断外部存储是否已经挂载到了手机上可以这样判断: //判断外部存储是否可以访问,并且可以读写 private boolean isExternalStorageWritable() { String state = Environment.getExternalStorageState(); if (Enviro

Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File 之 —— SQLite

本文在http://www.cnblogs.com/wisekingokok/archive/2011/09/14/2174844.html 基础上写了一个进阶的创建方式,技术能用新的就用新的. 参考了http://blog.csdn.net/liuhe688/article/details/6715983.仅供学习参考 SQLite是一种转为嵌入式设备设计的轻型数据库,其只有五种数据类型,分别是: NULL: 空值 INTEGER: 整数 REAL: 浮点数 TEXT: 字符串 BLOB: 大

Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (一) —— 总览

Android数据的四种存储方式SharedPreferences.SQLite.Content Provider和File (一) —— 总览 作为一个完成的应用程序,数据存储操作是必不可少的.因此,Android系统一共提供了四种数据存储方式.分别是:SharePreference.SQLite.Content Provider和File.由于Android系统中,数据基本都是私有的的,都是存放于“data/data/程序包名”目录下,所以要实现数据共享,正确方式是使用Content Pro

Android数据的四种存储方式之SharedPreferences

除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息.其存储位置在/data/data/< >/shared_prefs目录下.SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现.实现SharedPreferences存储的步骤如下: 一.根据Context获取SharedPreferences对象 二.利用edi

Android数据的四种存储方式

很清晰的思路,转自Android数据的四种存储方式 作为一个完成的应用程序,数据存储操作是必不可少的.因此,Android系统一共提供了四种数据存储方式.分别是:SharePreference.SQLite.Content Provider和File.由于Android系统中,数据基本都是私有的的,都是存放于“data/data/程序包名”目录下,所以要实现数据共享,正确方式是使用Content Provider. SQLite: SQLite是一个轻量级的数据库,支持基本SQL语法,是常被采用

Android数据的四种存储方式之SQLite数据库

Test.java: /** * 本例解决的问题: * 核心问题:通过SQLiteOpenHelper类创建数据库对象 * 通过数据库对象对数据库的数据的操作 * 1.sql语句方式操作SQLite数据库 * 2.谷歌提供的api对SQLite数据库的操作 * 3.SQLite对事务的操作 */ import com.ghsy.createsqlitedb.db.MyOpenHelper; import android.content.ContentValues; import android.

android数据的4种存储方式

Android数据的四种存储方式 作为一个完成的应用程序,数据存储操作是必不可少的.因此,Android系统一共提供了四种数据存储方式.分别是:SharePreference.SQLite.Content Provider和File.由于Android系统中,数据基本都是私有的的,都是存放于"data/data/程序包名"目录下,所以要实现数据共享,正确方式是使用Content Provider. SQLite: SQLite是一个轻量级的数据库,支持基本SQL语法,是常被采用的一种数

Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (三) —— SharePreferences

Android数据的四种存储方式SharedPreferences.SQLite.Content Provider和File (三) —— SharePreferences 除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息.其存储位置在/data/data/<包名>/shared_prefs目录下.SharedPreferences对象本身只能获取数据而不支持存储和修

Android数据存储之内部存储、外部存储

首先来介绍下什么是内部存储? 在Android平台下,有着自己独立的数据存储规则,在windows平台下,应用程序可以自由的或者在特定的访问权限基础上访问或修改其他应用程序下的文件资源. 但是在Android平台下,一个应用程序所有的数据都是对外私有的,只有应用程序自己本身才可以访问. 当应用程序被安装到系统中后,其所在的包会有一个文件夹用于存放自己的数据,只有这个应用程序才有对这个文件夹的写入权限,这个私有的数据文件位于Android/data/data目录下. 读取内部数据可以使用openF