一、SharedPreferences是什么來的?
SharedPreferences是Android四種數據存儲技術中的一種(SharedPreferences、SQLite、Content Provider和File),SharedPreferences處理的就是一個key-value(鍵值對),常用來存儲一些輕量級的數據。
(官網是學習android最好的地方)
官網鏈接:http://developer.android.com/reference/android/content/SharedPreferences.html
二、簡單使用
1、創建一個ShareContents類,用於保存key-value的key
public class ShareContents {
public static String ShareName="shareName";
public static String myName = "myName";
public static String isGood = "isGood";
}
2、創建一個ShareManager類,用於統一管理SharedPreferences的get和set方法,相當於設置或者key-value的value。
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
public class ShareManager {
private SharedPreferences share;
private Editor editor;
private String TAG = "ShareManager";
private ShareManager() {
super();
}
public void clear() {
editor.clear().commit();
};
public ShareManager(Context context) {
super();
share = context.getSharedPreferences(ShareContents.ShareName, Context.MODE_PRIVATE);
editor = share.edit();
}
/**
* 獲取myName
*
* @return
*/
public String getMyName() {
String result = share.getString(ShareContents.myName, "");
return result;
}
/**
* 設置myName
*
* @param myName
*/
public void setMyName(String myName) {
editor.putString(ShareContents.myName, myName).commit();
}
/**
* 獲取isGood
* @return
*/
public boolean isGood(){
boolean result = share.getBoolean(ShareContents.isGood, false);;
return result;
}
/**
* 設置isGood
* @param isGood
*/
public void setIsGood(boolean isGood){
editor.putBoolean(ShareContents.isGood, isGood).commit();
}
}
3、SharedPreferences的演示demo
public class SharePreferencesActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Button button = new Button(this);
setContentView(button);
button.setText("點擊一下屏幕哦,就可以設置SharedPreferences並獲取值顯示在屏幕上");
// 生成對象shareManager
final ShareManager shareManager = new ShareManager(this);
// 設置名稱
shareManager.setMyName("li xiao long");
// 設置isGood為true
shareManager.setIsGood(true);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
button.setText("myName:"+shareManager.getMyName()+" ; "+"isGood:"+shareManager.isGood());
};
});
}
}
你可以點擊這里找到本節的demo
