一、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