Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android數據存儲方式--SharedPreferences,sharedpreferences

Android數據存儲方式--SharedPreferences,sharedpreferences

編輯:關於android開發

Android數據存儲方式--SharedPreferences,sharedpreferences


Android數據存儲方式有如下四種:SharedPreferences、存儲到文件、SQLite數據庫、內容提供者(Content provider)、存儲到網絡服務器。

本文主要介紹一下SharedPreferences

本文地址:http://www.cnblogs.com/wuyudong/p/5939872.html,轉載請注明出處。

SharedPreferences

如何保存軟件配置參數?

Window: 采用ini文件進行

J2SE應用: 采用properties屬性文件

Android平台:提供一個SharedPreferences類,它是一個輕量級的存儲類,適合用於保存軟件配置參數。

使用SharedPreferences保存數據,其背後是用xml文件存放數據,文件存放在/data/data/<packagename>/shared_prefs目錄下

SharedPreferences接口

SharedPreferences接口主要負責讀取應用程序的Preferences數據,它提供了如下常用方法來訪問SharedPreferences的key_value鍵值對

方法名稱 描述 public abstract boolean contains (String key) 判斷SharedPreferences是否包含特定key的數據 public abstract SharedPreferences.Editor edit () 返回一個Edit對象用於操作SharedPreferences public abstract Map<String, ?> getAll () 獲取SharedPreferences數據裡全部的key-value對 getXXX(String key,XXX defvlaue) 獲取SharedPreferences數據指定key所對應的value,如果該key不存在,返回默認值defValue。其中XXX可以是boolean、float、int、long、String等基本類型的值

Editor接口

由於SharedPreference是一個接口,而且在這個接口裡並沒有提供寫入數據和讀取數據的能力。但是在其內部有一個Editor內部的接口,Edit這個接口有一系列的方法用於操作SharedPreference。

方法名稱 描述 public abstract SharedPreferences.Editor clear () 清空SharedPreferences裡所有的數據 public abstract boolean commit () 當Editor編輯完成後,調用該方法可以提交修改,而且必須要調用這個數據才修改 public abstract SharedPreferences.Editor putXXX (String key, boolean XXX) 向SharedPreferences存入指定的key對應的數據,其中XXX可以是boolean、float、int、long、String等基本類型的值 public abstract SharedPreferences.Editor remove (String key) 刪除SharedPreferences裡指定key對應的數據項

SharedPreferences存儲數據

SharedPreferences sharedPreferences = getSharedPreferences("wyd001", Context.MODE_PRIVATE);
Editor editor = sharedPreferences.edit();//獲取編輯器
editor.putString("name", "wyd");
editor.putInt("age", 22);
editor.commit();//提交修改

生成的wyd001.xml文件內容如下:

<?xml version=“1.0” encoding=“utf-8” standalone=“yes” ?>
<map>
    <string name="name">wyd</string>
    <int name="age" value=“22" />
</map>

SharedPreferences操作模式

getSharedPreferences(na, memode)方法

參數1:指定該文件名稱,名稱不用帶後綴。

參數2:指定文件的操作模式,共有四種操作模式。

Context.MODE_PRIVATE為默認操作模式,代表該文件是私有數據,只能被應用本身訪問,在該模式下,寫入的內容會覆蓋原文件的內容,如果想把新寫入的內容追加到原文件中。可以使用Context.MODE_APPEND

Context.MODE_APPEND模式會檢查文件是否存在,存在就往文件追加內容,否則就創建新文件。

Context.MODE_WORLD_READABLEContext.MODE_WORLD_WRITEABLE用來控制其他應用是否有權限讀寫該文件。

MODE_WORLD_READABLE表示當前文件可以被其他應用讀取MODE_WORLD_WRITEABLE表示當前文件可以被其他應用寫入。

getPreferences(mode)方法操作SharedPreferences,這個方法默認使用當前類不帶包名的類名作為文件的名稱。

訪問SharedPreferences數據

訪問SharedPreferences中的數據代碼如下:

SharedPreferences sharedPreferences = getSharedPreferences("wyd001", Context.MODE_PRIVATE);
//getString()第二個參數為缺省值,如果preference中不存在該key,將返回缺省值
String name = sharedPreferences.getString("name", "");
int age = sharedPreferences.getInt("age", 1);

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved