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)操作。
具体的存入和获取操作,我已经把代码贴出来了,你们可以看一下:
package org.sharedPreferences.test;
import android.app.Activity; import android.content.SharedPreferences; import android.os.Bundle; import android.widget.EditText; import android.widget.RadioGroup; public class ShaPreTestActivity extends Activity{ /** Called when the activity is first created. */ private final String PREFERENCES_NAME="survey"; private EditText etName; private EditText etAge; private RadioGroup sex; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); etName = (EditText)findViewById(R.id.name); etAge = (EditText)findViewById(R.id.age); sex = (RadioGroup)findViewById(R.id.sex);
SharedPreferences preferences = getSharedPreferences(PREFERENCES_NAME, Activity.MODE_PRIVATE); etName.setText(preferences.getString("name", "")); etAge.setText(preferences.getString("age", "")); sex.check(preferences.getInt("sex", -1)); }
@Override protected void onStop() { //获得SharedPreferences对象
SharedPreferences MyPreferences = getSharedPreferences(PREFERENCES_NAME, Activity.MODE_PRIVATE); //获得SharedPreferences.Editor
SharedPreferences.Editor editor = MyPreferences.edit(); //保存组件中的值
editor.putString("name", etName.getText().toString()); editor.putString("age", etAge.getText().toString()); editor.putInt("sex", sex.getCheckedRadioButtonId()); //提交保存的结果
editor.commit(); super.onStop(); } }
|
代码写好后,你运行程序,你会发现,你输入完退出后,当你再次进入该程序的时候,你就会发现,你上次写的东东还在上面,而且是一模一样。
并且你会在data目录下找到一个名字叫survey.xml文件:
然后把它导出来,打开之后的格式以及内容如下所示:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?> <map> <int name="sex" value="2131034115" /> <string name="name">name</string> <string name="age">10</string> </map>
|
从上面的内容可以看出,它是把那些字段都保存到了xml文件中,当你开启这个应用的时候,它会自动的去data下面找到相应的xml并且把相应的数据显示出来。
阅读(1997) | 评论(1) | 转发(0) |