• 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 目录下

    实例:  用户登录界面的记住密码功能

        

    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 文件:

     

  • 相关阅读:
    Selenium RC For Python:教程2
    sql server 获取同比或环比
    C#泛型泛型集合Dictionary<K,V>
    C# FileStream
    c# 强命名的作用
    装箱与拆箱的概念及意义
    SQL Server中Rollup关键字使用技巧
    Javascript内存泄露
    几条复杂的SQL语句
    Group by与having理解
  • 原文地址:https://www.cnblogs.com/igoogleyou/p/androidsharedpreferences.html
Copyright © 2020-2023  润新知