1. SharedPreference
SharedPreference可以很容易的保存key-value对,通常用于保存配置信息。
保存的步骤
1. 获得SharedPreferences对象 (最后一个参数指定了文件的建立模式,设置文件属性)
SharedPreferences mySharedPreference = getSharedPreferences(PREFERENCE_NAME, Activity.MODE_PRIVATE);
2. 获得SharedPreferences.Editor对象
SharedPreferences.Editor editor = mySharedPreference.edit();
3. 保存组件中的值
editor.putString("name",edtname.getText().toString());
editor.putInt("age",Integer.valueOf(edtage.getText().toString()));
4. 提交保存的结果
editor.commit();
demo界面如下,实现的功能:点击保存信息将姓名、年龄保存。重启demo后,点击显示信息,将之前保存的内容显示到界面。
MainActivity.java
import android.app.Activity; import android.content.SharedPreferences; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends ActionBarActivity { //SharedPreference可以很容易的保存key-value对,因此通常用于保存配置信息 //SharedPreference会将key-value对保存在survey.xml文件中 private final String PREFERENCE_NAME = "survey"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final EditText edtname = (EditText)findViewById(R.id.edt1); final EditText edtage = (EditText)findViewById(R.id.edt2); Button btn1 = (Button)findViewById(R.id.btn1); Button btn2 = (Button)findViewById(R.id.btn2); btn1.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { //1. 获得SharedPreferences对象 (最后一个参数指定了文件的建立模式,设置文件属性) SharedPreferences mySharedPreference = getSharedPreferences(PREFERENCE_NAME, Activity.MODE_PRIVATE); //2. 获得SharedPreferences.Editor对象 SharedPreferences.Editor editor = mySharedPreference.edit(); //3. 保存组件中的值 editor.putString("name",edtname.getText().toString()); editor.putInt("age",Integer.valueOf(edtage.getText().toString())); //4. 提交保存的结果 editor.commit(); Toast.makeText(MainActivity.this, "信息已保存", Toast.LENGTH_SHORT).show(); } }); btn2.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { //获得SharedPreferences对象 SharedPreferences mySharedPreference = getSharedPreferences(PREFERENCE_NAME, Activity.MODE_PRIVATE); //获得保存的值 String name = mySharedPreference.getString("name", ""); int age = mySharedPreference.getInt("age", 0); Toast.makeText(MainActivity.this, "姓名:"+name+" 年龄:"+age, Toast.LENGTH_SHORT).show(); edtname.setText(name); edtage.setText(String.valueOf(age)); } }); } @Override protected void onStop(){ super.onStop(); } }