SharedPreference

适合存储少量数据,如app的配置等。


// 如果test.xml文件不存在,则会在editor.commit()时创建。
    	// 如果没有调用commit()方法,写入的内容不会保存,而且不会创建文件。
    	SharedPreferences prefs = getSharedPreferences("test", MODE_PRIVATE);
    	SharedPreferences.Editor editor = prefs.edit();
    	editor.putBoolean("bVal", true);
    	editor.putString("sVal", "allei");
    	editor.putFloat("fVal", 10.12f);
    	editor.putInt("iVal", 1000);
    	editor.putLong("lVal", 100l);
    	editor.commit(); // 千万不要忘记commit。否则,如果文件存在,那么写入的内容不会保存。如果文件不存在,则不会创建文件。
    	
    	Log.i("xxxxxxxxxx", "bVal: " + prefs.getBoolean("bVal", false));
    	Log.i("xxxxxxxxxx", "sVal: " + prefs.getString("sVal", ""));
    	Log.i("xxxxxxxxxx", "fVal: " + prefs.getFloat("fVal", 0.0f));
    	Log.i("xxxxxxxxxx", "iVal: " + prefs.getInt("iVal", 0));
    	Log.i("xxxxxxxxxx", "lVal: " + prefs.getLong("lVal", 0l));
    	
    	prefs.registerOnSharedPreferenceChangeListener(myListener); // 注册
    	
    	editor = prefs.edit();
    	editor.putString("sVal", "boss");
    	editor.commit();  // 不要忘记commit。否则不会触发监听器。
    	
    	prefs.unregisterOnSharedPreferenceChangeListener(myListener);  // 解除注册,不会再相应改变
    	editor = prefs.edit();
    	editor.putString("sVal", "bosssss");
    	editor.commit(); // 因为监听器已经解除注册,所以不会再触发监听器。
// 监听器的定义
private OnSharedPreferenceChangeListener myListener = new OnSharedPreferenceChangeListener() {
		@Override
		public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
			Log.i("xxxxxxxx", "key: " + key + " = " + sharedPreferences.getString(key, "default"));
		}
	};



你可能感兴趣的:(String,存储)