Android 講解:存儲 (1)

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); 是比較靈活的一個,可以通過文件名獲取,並且也可以知道獲取模式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章