안드로이드 수명주기 에 관한 것 (저장)에 대한 방법임
00. 새로운 프로젝트를 만들고 Script로 이동.
01. onCreate가 작동할때를 알아보기위해 아래코드를 입력하자.
Toast.makeText(getApplicationContext(),"onCreate() 호출됨.", Toast.LENGTH_SHORT).show();
02. 시작할때의 구동되는것들을 알아보기위해 마우스오른쪽버튼 - Generate 를 누른다.
03. Override Methods 를 눌러서 원하는 것을 오버라이딩 시킨다.
04. 다음과 같은 창이 뜨게된다.
05. onStop()/ onDestroy()/ onStart()/ onPause()/ onResume() 을 선택해서 불러온다.
06. 다음과 같이 보여진다.
07. 작동 순서를 알기위해 각각에다 토스트 기능을 부여하자.
08. onCreate() 가 먼저 뜨는것을 확인 할 수 있다.
09. onStart() 가 이어서 뜨는것을 확인 할 수 있다.
10. onResume() 이 마지막에 뜨는것을 확인 할 수 있다.
11. 종료될때도 순서대로 종료된다. onPause() 가 먼저 뜨는것을 확인 할 수 있다.
12. onStop() 이 이어서 뜨는것을 확인 할 수 있다.
13. onDestroy() 가 마지막에 뜨는것을 확인 할 수 있다.
14. 강제종료될때 내용을 저장하기위해 아래와같은 코드를 입력하자.
@Override
protected void onPause() {
Toast.makeText(getApplicationContext(),"onPause() 호출됨.", Toast.LENGTH_SHORT).show();
saveScore();
super.onPause();
}
@Override
protected void onResume() {
Toast.makeText(getApplicationContext(),"onResume() 호출됨.", Toast.LENGTH_SHORT).show();
loadScore();
super.onResume();
}
private void saveScore(){
SharedPreferences pref = getSharedPreferences("game", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putInt("score", 9999);
editor.commit();
}
private void loadScore(){
SharedPreferences pref = getSharedPreferences("game", Activity.MODE_PRIVATE);
int score = pref.getInt("score",0);
Toast.makeText(getApplicationContext(),"gotten point : " + score, Toast.LENGTH_SHORT).show();
}
15. 다시한번다갔다가 들어가면 9999로 저장된 것을 확인 할 수 있다.