SharedPrederences

在這裏插入圖片描述

//MainActivity
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        /*
        *                      不能傳this, 內存泄漏  ↓
        */
        MyData myData = new MyData(getApplicationContext());
        myData.number = 23;
        myData.save();
        int y = myData.load();
        String TAG = "mytag";
        Log.d(TAG, "onCreate: " + y);
    }
}
//MyData
public class MyData {
    public int number;
    //新建一個域,保存傳入的內容
    private Context context; 
	//初始化構造函數 
    public MyData(Context context) {
        this.context = context;
    }
// 
    public void save() {
        String name = context.getResources().getString(R.string.MY_DATA);
        String key = context.getResources().getString(R.string.MY_KEY);
        
        // 創建SP的對象
        SharedPreferences shp = context.getSharedPreferences("name",Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = shp.edit();
        //寫入數據
        editor.putInt(key,number);
        //異步提交
        editor.apply();
    }

    public int load() {
        String name = context.getResources().getString(R.string.MY_DATA);
        String key = context.getResources().getString(R.string.MY_KEY);
        
        SharedPreferences shp = context.getSharedPreferences("name",Context.MODE_PRIVATE);
        
        int x =shp.getInt(key,context.getResources().getInteger(R.integer.defvalue));
        number = x;
        return x;
    }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章