如何向SharedPreferences中讀取和寫入數據,判斷應用是否是第一次啓動

SharedPreferences調用edit()方法即可獲取它對應的Edit()對象。Editor()提供如下方法來向SharedPreferences
        寫入數據:
    一:SharedPreferences.Editor clear() :清空shareSharedPreferences裏面的所有數據
    二:SharedPreferences.Editor putxxx(String key,xxx value):SharedPreferences存入指定的key對應的數據
        其中xxx可以是intString等各種數據類型
    三:SharedPreferences.Editor remov(String key):刪除sharepreference裏面指定key對應的數據項
    四:Editor.commit():調用該方法提交修改

代碼如下:(ps:read和write兩個按鈕,在xml佈局文件裏面定義
public class MainActivity extends Activity {

    SharedPreferences preferences;
    SharedPreferences.Editor editor;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        super.setContentView(R.layout.main);
       

        //返回一個SharedPreferences,第一個參數:創建名爲createFile的文件,如果不存在成爲就自動創建
        preferences = getSharedPreferences("createFile", MODE_PRIVATE);//MODE_PRIVATE指定改sharedpreference數據只能被本應用讀寫
        editor = preferences.edit();
        Button read = (Button)findViewById(R.id.read);
        Button write = (Button)findViewById(R.id.write);

        //SharedPreferences讀取數據操作
        read.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
               String time = preferences.getString("time",null);//返回名爲time的preferen,如果該preference不存在則返回默認值
                int random = preferences.getInt("random", 0);

                String result = time == null ? "暫時還未寫入數據" : "寫入的時間爲:"
                        +time+"上次生成的隨機數爲: "+random;

                Toast.makeText(MainActivity.this,result,1000).show();

            }
        });

//SharedPreferences寫入數據操作
        write.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SimpleDateFormat adf = new SimpleDateFormat("yyyy年mm月dd日"+"hh:mm:ss");//獲取當前時間
                editor.putString("time",adf.format(new Date()));//存入當前時間
                editor.putInt("random", (int) (Math.random() * 101));//存入一個隨機數

                editor.commit();//提交所有保存的數據
            }
        });
    }
}
SharedPreferences的數據總是保存在/data/data/<包名>/shared_prefs目錄下,總是以xml文件的形式保存寫入的內容
擴展:可以用SharedPreferences來記錄程序啓動的次數,當用戶點一次啓動應用程序時,系統創建一個
SharedPreferences來記錄使用次數,以後用戶每啓動一次,然後使用次數就甲一。可以用於判斷程序是否是第一次啓動,如果是
第一次啓動那麼就展示引導頁,否則直接進入主頁
代碼如下:
    SharedPreferences preferences;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        super.setContentView(R.layout.main);
        preferences = getSharedPreferences("count",MODE_PRIVATE);
        //用count來記錄程序啓動的次數
        int count = preferences.getInt("count",0);
        SharedPreferences.Editor editor = preferences.edit();
        editor.putInt("count",count++);
        editor.commit();

    }





發佈了31 篇原創文章 · 獲贊 44 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章