Android資料存放區(總結篇)

來源:互聯網
上載者:User
文章目錄
  • 使用SharedPreferences儲存資料
  • 檔案儲存體資料
  • 網路儲存資料
  • 總結說明

在前面的2篇文章:Android SQLite解析、Android 應用程式之間資料共用中分別詳細說明了,如何使用資料庫儲存資訊,以及如何通過ContentProvider擷取其他應用程式共用的資料,現將Android資料存放區做下總結,在以後的開發過程中根據需求選擇合適的資料存放區方式。

Android提供了5種方式儲存資料:

  1. 使用SharedPreferences儲存資料;
  2. 檔案儲存體資料;
  3. SQLite資料庫儲存資料;
  4. 使用ContentProvider儲存資料;
  5. 網路儲存資料;

其中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擷取其他程式共用的資料。

複製搜尋

複製搜尋
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.