Android的移动存储解决方案“.NET研究”之SharedPreferences
搞Android有一段時(shí)間了,但是并沒寫過有關(guān)Android的博客,今天給大家介紹一下SharedPreferences。
?? 使用SharedPreferences保存key-value對(duì)的步驟如下:
(1)使用Activity類的getSharedPreferences方法獲得SharedPreferences對(duì)象,其中存儲(chǔ)key-value的文件的名稱由getSharedPreferences方法的第一個(gè)參數(shù)指定。
(2)使用SharedPreferences接口的edit獲得SharedPreferences.Editor對(duì)象。
(3)通過SharedPreferences.Editor接口的putXxx方法保存key-value對(duì)。其中Xxx表示不同的數(shù)據(jù)類型。例如:字符串類型的value需要用putString方法。
(4)通過SharedPreferences.Editor接口的commit方法保存key-value對(duì)。commit方法相當(dāng)于數(shù)據(jù)庫事務(wù)中的提交(commit)操作。
具體的存入和獲取操作,我已經(jīng)把代碼貼出來了,你們可以看一下。
1 package org.sharedPreferences.test;2
3 import android.app.Activity;
上海網(wǎng)站建設(shè) style="color: #008080;"> 4 import android.content.SharedPre上海閔行企業(yè)網(wǎng)站制作ferences;
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對(duì)象
33 SharedPreferences MyPreferences = getSharedPreferences(PREFERENCES_NAME, Activity.MODE_PRIVATE);
34 //獲得SharedPreferences.Editor對(duì)象
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 //提交保存的結(jié)果
41 editor.commit();
42 super.onStop();
43 }
44 }
代碼寫好后,你運(yùn)行程序,你會(huì)發(fā)現(xiàn),你輸入完退出后,當(dāng)你再次進(jìn)入該程序的時(shí)候,你就會(huì)發(fā)現(xiàn),你上次寫的東東還在上面,而且是一模一樣。
并且你會(huì)在data目錄下找到一個(gè)名字叫survey.xml文件:
然后把它導(dǎo)出來,打開之后的格式以及內(nèi)容如下所示:
1 <?xml version='1.0' encoding='utf-8' standalone='yes' ?>2 <map>
3 <int name="sex" value上海企業(yè)網(wǎng)站制作="2131034115" />
4 <string name="name">name</string>
5 <string name="age">10</string>
6 </map>
7
從上面的內(nèi)容可以看出,它是把那些字段都保存到了xml文件中,當(dāng)你開啟這個(gè)應(yīng)用的時(shí)候,它會(huì)自動(dòng)的去data下面找到相應(yīng)的xml并且把相應(yīng)的數(shù)據(jù)顯示出來。
這是我做的有關(guān)SharedPreferences例子,后面我還會(huì)介紹一些有關(guān)數(shù)據(jù)庫的例子,希望大家繼續(xù)關(guān)注。(本來我是想上傳例子的,但是找了半天也沒找到,你們?nèi)绻l知道,請(qǐng)告我一聲,謝謝!)
總結(jié)
以上是生活随笔為你收集整理的Android的移动存储解决方案“.NET研究”之SharedPreferences的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 跳转到系统默认的Home
- 下一篇: Silverlight 5 Beta新特