액티비티의 수명주기(Life Cycle)

액티비티의 상태는 (실행/ 일시정지/ 중지/ 소멸) 로 분류될 수 있다.

액티비티의 상태에 따라 내부적으로 그에 해당하는 함수들이 호출 되면서 상태를 바꾼다.

예를들면 onCreate(), onStart(), onPause()등

 

구동 -> onCreate(), onStar()t, onResume() -> [실행] <- onPause(), onResume() -> [일시정지]

[일시정지] -> onStop() -> [중지] -> onDestroy() -> [소멸]

[중지] -> onRestart(), onStart(), onResume() -> [(다시)실행]

 

기억해야 할 사항(1)

액티비티 상태가 화면에 디스플레이 되려할 때는 onResme()이 호출되고,

보여지던 화면이 뒤로 숨게 될 때에는 onPause()가 호출된다.

 

기억해야 할 사항(2)

액티비티 전환이 필요한 시점 사용자의 데이터를 임시로 저장해야 할 필요가 있다.

(예를들어 게임 진행 중 전화가 오는 경우, 전화 통화 종료 후 다시 게임 재개)

SharedPreferences 객체를 이용한다.

onPause()에서 구현할 부분은 getSharedPreference()를 이용하여 현재 상태 저장

String값을 저장할 경우 putString(); commit(); 의 순서로 구현

SharedPreferences myPref = getSharedPreferences("myPref", Activity.MODE_WORLD_WRITABLE);

SharedPreferences.Editor myEdit = myPref.edit(); 

myEditor.putString("name","홍길동");

myEditor.commit();

 

onResume()에서는 getSharedPreference를 이용하여 저장된 값을 불러오는 부분을 구현

SharedPreferences myPref = getSharedPreferences("myPref", Activity.MODE_WORLD_WRITABLE);

if(myPref != null && myPref.contains("name")) {

String name = myPref.getString("name","")

}

 

 

 

 

 

 

by wisegirl 2013. 2. 18. 13:29