Android 讲解:存储 (1)

来源:互联网 发布:js attr方法 编辑:程序博客网 时间:2024/06/05 06:36

Android 常用的存储方式有3种。前两种基本在Activity 子类类中使用。

  1. 文件存储
  2. SharedPreferences 对象存储
  3. SQLite(在Android 讲解:存储 (2))

文件存储


文件存储分为字节存储,和字符存储。
在Activity 可以使用以下代码获取输入输出流。

输入流

openFileInput(fileName);
fileName 是文件的名称。

输出流

openFileOutput(fileName, MODE);
MODE 是打开的模式,在4.2之前有四种打开方式,现在有两个,其他两个容易引起安全漏洞。
MODE_PRIVATE(每次打开都新建),MODE_APPEND(追加内容)。

其他

在获取文件的输入输出流时,fileName 只能为文件的名称,不能带有路径。
文件的存储位置在:/data/data/<packageName>/files/fileName

SharedPrefernces 对象存储


SharedPrefernces 是Android 中的一个对象,通过这个对象,可以把数据持久化到XML文件中。

         SharedPreferences sf = getPreferences(MODE_APPEND);         Editor editor =  sf.edit();         //添加数据         editor.putString("username", "admin");         editor.putString("password", "123456");         editor.commit();         //获取数据         String username = sf.getString("username", null);         String password = sf.getString("password", null);         Log.i(tag, "username:" + username);         Log.i(tag, "password:" + password);

SharedPrefernces 对象有3 种方式获取:

  1. getPreferences(MODE);
  2. PreferenceManager.getDefaultSharedPreferences(Context);
  3. context.getSharedPrefernces(fileName, MODE);

1. getPreferences(MODE);

getPreferences(MODE)

MODE 获取方式,MODE_PRIVATE(每次打开都新建),MODE_APPEND(追加内容)。

当某个Activity 第一次使用这个方法时,则会在:/data/data/<packageName>/shared_prefs/fileName 生成一个文件。

2. PreferenceManager.getDefaultSharedPreferences(context);

PreferenceManager.getDefaultSharedPreferences(Context);

context 是一个Context 对象,一般为Activity 对象,此获取方法的获取模式是固定的MODE_PRIVATE。

生成的存储文件:/data/data/<packageName>/shared_prefs/fileName
fileName<packageName> + _preferences,packageName 是应用程序包名。

4. context.getSharedPrefernces(fileName, MODE);

context.getSharedPrefernces(fileName, MODE); 是比较灵活的一个,可以通过文件名获取,并且也可以知道获取模式。

0 0
原创粉丝点击