Save trạng tháiSau đây mình sẽ demo cách thức save trạng thái của Android Thông qua ứng dụng save Text.. Bạn sẽ tạo 1 EditText, Viết lên đó, tắt ứng dụng, và mở lại ứng dụng thì các câu
Trang 1Save trạng thái
Sau đây mình sẽ demo cách thức save trạng thái của Android (Thông qua ứng dụng save Text) Bạn sẽ tạo 1 EditText, Viết lên đó, tắt ứng dụng, và mở lại ứng dụng thì các câu bạn viết lên đó đều được lưu lại (Ứng dụng ko reset trạng thái).
1/ Các bạn tạo Project như sau:
Project name: StatePersistence
Build Target: Google APIs
Application name: StatePersistence
Package name: com.sample.StatePersistence
Create Activity: StatePersistence
2/ Trong file main.xml bạn code như sau:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<EditText android:id ="@+id/saved"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:freezesText="true">
<requestFocus />
</EditText>
</LinearLayout>
3/ Trong file StatePersistence.java bạn code như sau:
package com.sample.StatePersistence;
import android.app.Activity;
import android.os.Bundle;
import android.content.SharedPreferences;
import android.widget.EditText;
import android.widget.TextView;
public class StatePersistence extends Activity {
/** Called when the activity is first created */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Lập trình Android – http://laptrinhdidong.vn Page 1
Trang 2setContentView(R.layout.main);
editBox =(EditText)findViewById(R.id.saved);
}
protected void onResume() {
super.onResume();
SharedPreferences prefs = getPreferences(0);
String restoredText = prefs.getString("text", null);
if (restoredText != null) {
editBox.setText(restoredText, TextView.BufferType.EDITABLE); int selectionStart = prefs.getInt("selection-start", -1); int selectionEnd = prefs.getInt("selection-end", -1);
if (selectionStart != -1 && selectionEnd != -1) {
editBox.setSelection(selectionStart, selectionEnd);
}
}
}
protected void onPause() {
super.onPause();
SharedPreferences.Editor editor = getPreferences(0).edit();
editor.putString("text", editBox.getText().toString());
editor.putInt("selection-start", editBox.getSelectionStart()); editor.putInt("selection-end", editBox.getSelectionEnd());
editor.commit();
}
private EditText editBox;
}
Cuối cùng thực hiện debug và làm các thao tác như mình đã miêu tả ở trên.
Lập trình Android – http://laptrinhdidong.vn Page 2
Trang 3Mọi ý kiến đóng góp các bạn vui lòng post bài lên forum của trang web
www.laptrinhdidong.vn Rất mong nhận được ý kiến đóng góp của các bạn Mình sẽ cập nhật trang web thường xuyên
Lập trình Android – http://laptrinhdidong.vn Page 3