Trung tâm Tin học – ĐH KHTN Save 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 Trung tâm Tin học – ĐH KHTN setContentView(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 Trung tâm Tin học – ĐH KHTN Mọ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 . 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. StatePersistence extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Lập trình. <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