ดาวโหลด บทความ สถิติผู้ใช้ เกี่ยวกับเรา ติดต่อเรา
HomeAndroid

การเก็บและอ่านค่าตัวแปร สำหรับใช้ใน App ของเรา

แก้ไข res > values > strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">My App</string>
    <string name="hello_world">Hello world!</string>
    <string name="menu_settings">Settings</string>
    <string name="iResume">0</string>

</resources>
แก้ไข MainActivity.java
ในส่วนของ onDestroy แก้ตามนี้
	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		Toast.makeText(this, "onDestroy", 1).show();
		
		SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
		SharedPreferences.Editor editor = sharedPref.edit();
		editor.putInt(getString(R.string.iResume), iResume);
		editor.commit();
	}
ในส่วนของ onCreate แก้ตามนี้
	@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        iStart +=1;
		Toast.makeText(this, "onCreate " + iStart, 1).show();

		Button btn = (Button) findViewById(R.id.button1);
        btn.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
            	Toast.makeText(MainActivity.this, "กดเบาๆ ", Toast.LENGTH_LONG).show(); 
            }
        });   
        
        SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
        iResume = sharedPref.getInt(getString(R.string.iResume), iResume);
    }
อธิบาย
1. สร้างตัวแปรชื่อ iResume เก็บไว้ใน Resource
2. เมื่อปิด App เกิดเหตุการณ์ onDestroy ให้บันทึกค่า iResume เก็บไว้
3. เมื่อเปิด App เกิดเหตุการณ์ onCreate ให้อ่านค่า iResume มาเก็บไว้ในตัวแปร iResume
ดังนั้น ค่า iResume จะนับต่อไปเรื่อยๆ แม้เราจะปิด App ไปแล้ว ค่าก็จะไม่เริ่มต้นจาก 0

16 พ.ค. 57
© 2000 - 2024 palthai.com. All rights reserved.