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后,点击显示信息,将之前保存的内容显示到界面。
Android学习笔记--存储方案(SharedPreference、文件IO)

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();        
    }
}
View Code

相关文章: