Android的移動存儲解決方案之SharedPreferences

作者: 青竹少年  來源: 博客園  發布時間: 2010-12-12 20:57  閱讀: 1203 次  推薦: 0   原文鏈接   [收藏]  

  搞Android有一段時間了,但是并沒寫過有關Android的博客,今天給大家介紹一下SharedPreferences。

    使用SharedPreferences保存key-value對的步驟如下:

  (1)使用Activity類的getSharedPreferences方法獲得SharedPreferences對象,其中存儲key-value的文件的名稱由getSharedPreferences方法的第一個參數指定。

  (2)使用SharedPreferences接口的edit獲得SharedPreferences.Editor對象。

  (3)通過SharedPreferences.Editor接口的putXxx方法保存key-value對。其中Xxx表示不同的數據類型。例如:字符串類型的value需要用putString方法。

  (4)通過SharedPreferences.Editor接口的commit方法保存key-value對。commit方法相當于數據庫事務中的提交(commit)操作。

  具體的存入和獲取操作,我已經把代碼貼出來了,你們可以看一下。

 
1 package org.sharedPreferences.test;
2
3 import android.app.Activity;
4 import android.content.SharedPreferences;
5 import android.os.Bundle;
6 import android.widget.EditText;
7 import android.widget.RadioGroup;
8
9  public class ShaPreTestActivity extends Activity{
10 /** Called when the activity is first created. */
11 private final String PREFERENCES_NAME="survey";
12 private EditText etName;
13 private EditText etAge;
14 private RadioGroup sex;
15
16 @Override
17 public void onCreate(Bundle savedInstanceState) {
18 super.onCreate(savedInstanceState);
19 setContentView(R.layout.main);
20 etName = (EditText)findViewById(R.id.name);
21 etAge = (EditText)findViewById(R.id.age);
22 sex = (RadioGroup)findViewById(R.id.sex);
23
24 SharedPreferences preferences = getSharedPreferences(PREFERENCES_NAME, Activity.MODE_PRIVATE);
25 etName.setText(preferences.getString("name", ""));
26 etAge.setText(preferences.getString("age", ""));
27 sex.check(preferences.getInt("sex", -1));
28 }
29
30 @Override
31 protected void onStop() {
32 //獲得SharedPreferences對象
33 SharedPreferences MyPreferences = getSharedPreferences(PREFERENCES_NAME, Activity.MODE_PRIVATE);
34 //獲得SharedPreferences.Editor對象
35 SharedPreferences.Editor editor = MyPreferences.edit();
36 //保存組件中的值
37 editor.putString("name", etName.getText().toString());
38 editor.putString("age", etAge.getText().toString());
39 editor.putInt("sex", sex.getCheckedRadioButtonId());
40 //提交保存的結果
41 editor.commit();
42 super.onStop();
43 }
44 }

  代碼寫好后,你運行程序,你會發現,你輸入完退出后,當你再次進入該程序的時候,你就會發現,你上次寫的東東還在上面,而且是一模一樣。

  并且你會在data目錄下找到一個名字叫survey.xml文件:

  然后把它導出來,打開之后的格式以及內容如下所示:

 
1 <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
2 <map>
3 <int name="sex" value="2131034115" />
4 <string name="name">name</string>
5 <string name="age">10</string>
6 </map>
7

  從上面的內容可以看出,它是把那些字段都保存到了xml文件中,當你開啟這個應用的時候,它會自動的去data下面找到相應的xml并且把相應的數據顯示出來。

  這是我做的有關SharedPreferences例子,后面我還會介紹一些有關數據庫的例子,希望大家繼續關注。(本來我是想上傳例子的,但是找了半天也沒找到,你們如果誰知道,請告我一聲,謝謝!)

0
0
 
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()