Android sharedPreferences 用法

业无高卑志当坚,男儿有求安得闲?这篇文章主要讲述Android sharedPreferences 用法相关的知识,希望能为你提供帮助。
    android 提供了一种数据轻量级的数据持久化方法。使用SharedPreferences 接口 将 key-value 形式的primitive data 存储到文件中。多用于保存软件偏好配置信息。
    注意的几点:
        1.存储内容:primitive data。(booleans, floats, ints, longs, and strings.)
        2. 存储形式:key-value 键值对,存储到xml文件中。
使用的方法:
    getSharedPreferences(String name, int mode)【或者  getPreferences()】 获得 SharedPreferences 对象。
    读操作:
          通过 SharedPreferences 对象 直接调用  getBoolean getInt 等等方法获取 。
    写操作:
    通过 SharedPreferences 获取 Editor 对象 ,适应Editor对象调用  putBoolean 等方法写文件。
 
SharedPreferences 的文件存储地址:/data/data/< packagename> /shared_prefs 目录下
【Android sharedPreferences 用法】 
实例:   用户登录界面的记住密码功能
     

Android sharedPreferences 用法

文章图片

public class MainActivity extends Activity { EditText user_name, pass_word; CheckBox rememberCheck; Button btnlogin; // SharedPreferences setting; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); user_name = (EditText) findViewById(R.id.etusername); pass_word = (EditText) findViewById(R.id.etpassword); rememberCheck = (CheckBox) findViewById(R.id.checkBox1); btnlogin = (Button) findViewById(R.id.btnlogin); // 读取sharedpreference中的值 SharedPreferences sharepre = getSharedPreferences("data", MODE_PRIVATE); // 如果 data 文件不存在,创建一个 //String isCheckedStr = sharepre.getString("isChecked", ""); boolean isChecked = sharepre.getBoolean("isChecked", false); // 带默认值的 if(isChecked){ String username = sharepre.getString("username",""); String password = sharepre.getString("password", ""); user_name.setText(username); pass_word.setText(password); rememberCheck.setChecked(true); } // 登录事件响应 btnlogin.setOnClickListener(new OnClickListener() {@Override public void onClick(View arg0) { // TODO Auto-generated method stub SharedPreferences.Editor editor = getSharedPreferences( "data", MODE_PRIVATE).edit(); if (rememberCheck.isChecked()) { // 保存值到 sharedPreferences editor.putBoolean("isChecked", true); editor.putString("username", user_name.getText().toString()); editor.putString("password", pass_word.getText().toString()); }else{editor.clear(); } editor.commit(); Intent i = new Intent(MainActivity.this,SettingActivity.class); startActivity(i); } }); }

 在 DDMS 的file explorer 中可以找到生成的 xml 文件:
Android sharedPreferences 用法

文章图片

 

    推荐阅读