文章目錄
- 使用SharedPreferences儲存資料
- 檔案儲存體資料
- 網路儲存資料
- 總結說明
在前面的2篇文章:Android SQLite解析、Android 應用程式之間資料共用中分別詳細說明了,如何使用資料庫儲存資訊,以及如何通過ContentProvider擷取其他應用程式共用的資料,現將Android資料存放區做下總結,在以後的開發過程中根據需求選擇合適的資料存放區方式。
Android提供了5種方式儲存資料:
- 使用SharedPreferences儲存資料;
- 檔案儲存體資料;
- SQLite資料庫儲存資料;
- 使用ContentProvider儲存資料;
- 網路儲存資料;
其中3,4已經在Android SQLite解析、Android 應用程式之間資料共用篇幅中詳細說明,不在此重複說明,現將其他3種方式詳細介紹。
使用SharedPreferences儲存資料
首先說明SharedPreferences儲存方式,它是Android提供的用來儲存一些簡單配置資訊的一種機制,例如:登入使用者的使用者名稱與密碼。其採用了Map資料結構來儲存資料,以索引值的方式儲存,可以簡單的讀取與寫入,具體執行個體如下:
void ReadSharedPreferences()
{
String strName,strPassword;
SharedPreferences user = getSharedPreferences(“user_info”,0);
strName = user.getString(“NAME”,””);
strPassword = user getString(“PASSWORD”,””);
}
void WriteSharedPreferences(String strName,String strPassword)
{
SharedPreferences user = getSharedPreferences(“user_info”,0);
uer.edit();
user.putString(“NAME”, strName);
user.putString(“PASSWORD” ,strPassword);
user.commit();
}
資料讀取與寫入的方法都非常簡單,只是在寫入的時候有些區別:先調用edit()使其處於編輯狀態,然後才能修改資料,最後使用commit()提交修改的資料。實際上SharedPreferences是採用了XML格式將資料存放區到裝置中,在DDMS中的File Explorer中的/data/data/<package name>/shares_prefs下。以上面的資料存放區結果為例,開啟後可以看到一個user_info.xml的檔案,開啟後可以看到:
<?xml version=”1.0″ encoding=”UTF-8″?>
<map>
<string name=”NAME”>moandroid</string>
<string name=” PASSWORD”>SharedPreferences</string>
</map>
使用SharedPreferences是有些限制的:只能在同一個包內使用,不能在不同的包之間使用。
檔案儲存體資料
檔案儲存體方式是一種較常用的方法,在Android中讀取/寫入檔案的方法,與Java中實現I/O的程式是完全一樣的,提供了openFileInput()和openFileOutput()方法來讀取裝置上的檔案。FilterInputStream,
FilterOutputStream等可以到Java io package說明中去詳細學習,不再此詳細說明,具體執行個體如下:
String fn = “moandroid.log”;
FileInputStream fis = openFileInput(fn);
FileOutputStream fos = openFileOutput(fn,Context.MODE_PRIVATE);
除此之外,Android還提供了其他函數來操作檔案,詳細說明請閱讀Android SDK。
網路儲存資料
網路儲存方式,需要與Android 網路資料包打交道,關於Android 網路資料包的詳細說明,請閱讀Android
SDK引用了Java SDK的哪些package?。
總結說明
以上5中儲存方式,在以後的開發過程中,根據設計目標、效能需求、空間需求等找到合適的資料存放區方式。Android 中的資料存放區都是私人的,其他應用程式都是無法訪問的,除非通過ContentResolver擷取其他程式共用的資料。
複製搜尋
複製搜尋