天天看點

如何向SharedPreferences中讀取和寫入資料,判斷應用是否是第一次啟動

SharedPreferences調用edit()方法即可擷取它對應的Edit()對象。Editor()提供如下方法來向SharedPreferences
        寫入資料:
    一:SharedPreferences.Editor clear() :清空shareSharedPreferences裡面的所有資料
    二:SharedPreferences.Editor putxxx(String key,xxx value):向SharedPreferences存入指定的key對應的資料
        其中xxx可以是int,String等各種資料類型
    三: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來記錄程式啟動的次數,當使用者點一次啟動應用程式時,系統建立一個
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();

    }
           

繼續閱讀