Android的移動存儲解決方案之SharedPreferences
搞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)操作。
具體的存入和獲取操作,我已經把代碼貼出來了,你們可以看一下。
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文件:
然后把它導出來,打開之后的格式以及內容如下所示:
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例子,后面我還會介紹一些有關數據庫的例子,希望大家繼續關注。(本來我是想上傳例子的,但是找了半天也沒找到,你們如果誰知道,請告我一聲,謝謝!)