안드로이드 개발 질문/답변
(글 수 45,052)
어플 실행중 전화가 왔을때 혹은 알람 후
보통 아래의 함수에다가 임시로 저장을 하고 전화가 끝나면 복구를 하는데요.
onSaveInstanceState()
보통 아래의 함수에다가 임시로 저장을 하고 전화가 끝나면 복구를 하는데요.
onSaveInstanceState()
onRestoreInstanceState()
예제들을 살펴보니깐 임시로 저장할 변수나, state 등을 모두 따로 지정을 해주던데..
변수를 일일이 다 저장을 해야 하나요?
프로젝트가 방대할경우 그 많은 변수들을 일일이 저장하기기 힘이 든데
Activity를 한꺼번에 저장하는 방법은 없을까요??
예제들을 살펴보니깐 임시로 저장할 변수나, state 등을 모두 따로 지정을 해주던데..
변수를 일일이 다 저장을 해야 하나요?
프로젝트가 방대할경우 그 많은 변수들을 일일이 저장하기기 힘이 든데
Activity를 한꺼번에 저장하는 방법은 없을까요??
2010.06.24 23:52:16
...예를 들어 Uri contect를 저장하려한다면
Uri contect=null;
oncreate(){
...
restore();
...
public Object onRetainNonConfigurationInstance(){
return contect;
}
...
private void restoreMe(){
contact=null;
if(getLastNonConfigurationInstance()!=null){
contact=(Uri)getLastNonConfigurationInstance();
}
}
이런게 있나보네요. onRetainNonConfigurationInstance()는 onSaveInstanceState() 처럼 번들 객체가 아닌 어떤 객체라도 넣을수 있다네요. 액티비티 자체도 넣을수 있는데 주로 스레드나 연결된 소켓을 주로 보관 한다고...제가 보는 교제에 써있네요.
검색해보시려면 onRetainNonConfigurationInstance() 와 getLastNonConfigurationInstance() 입니다.
Activity 생성시 나오는
public void onCreate(Bundle savedInstanceState) {}
메소드를 이용하면 될듯..