业无高卑志当坚,男儿有求安得闲?这篇文章主要讲述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 用法】
实例:
用户登录界面的记住密码功能
文章图片
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 studio设置参数提示
- Android stdio中遇到的小问题
- Android Studio里面配置Tesseract
- Android实战技巧(Fragment的那些坑(转))
- 华为荣耀 4x 刷机体验 直奔 Android 6.0
- Android 判断当前thread 是否是UI thread
- Android 导入 aar 库文件
- android-Intent and IntentFilter
- How to acquire an Android phone with locked bootloader?