[챕터 2-3-5] 라이프 사이클
2020. 2. 10. 20:11ㆍAndroid/Android 챕터 2-3
반응형
화면결과
텍스트 입력
뒤로가기 버튼 클릭
앱 재실행
데이터가 사라지지않고 남겨져 있음을 확인 : 자동 기억
(SharedPreferences)
로그캣에서 라이프 사이클 로그 확인할 것
프로젝트명 : MyLifeCycle
MainActivity.java
더보기
package org.minokuma.mylifecycle;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity {
EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = findViewById(R.id.editText);
Log.d("Main", "onCreate()");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d("Main", "onDestroy()");
}
@Override
protected void onStart() {
super.onStart();
Log.d("Main", "onStart()");
}
@Override
protected void onStop() {
super.onStop();
Log.d("Main", "onStop()");
}
@Override
protected void onPause() {
super.onPause();
saveState();
Log.d("Main", "onPause()");
}
@Override
protected void onResume() {
super.onResume();
loadState();
Log.d("Main", "onResume()");
}
public void saveState (){
SharedPreferences pref = getSharedPreferences("pref", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putString("name", editText.getText().toString());
editor.commit();
}
public void loadState (){
SharedPreferences pref = getSharedPreferences("pref", Activity.MODE_PRIVATE);
if (pref != null){
if (pref != null){
String name = pref.getString("name", "");
editText.setText(name);
}
}
}
}
반응형
'Android > Android 챕터 2-3' 카테고리의 다른 글
[챕터 2-3-4] Parcelable (0) | 2020.02.10 |
---|---|
[챕터 2-3-3] 인텐트 2 (0) | 2020.02.10 |
[챕터 2-3-2] 인텐트 (0) | 2020.02.10 |
[챕터 2-3-1] 인플레이션 (0) | 2020.02.10 |