2011-08-22 3 views
0

처음 활동을 실행했을 때 URL 문자열을 다운로드하여 설정합니다.활동 작성시 사용할 번들에 문자열 [] 저장

문자열 목록 ...

public String [] myRemoteImages = {imageUrl,imageUrl2,imageUrl3,imageUrl4}; 

이미지 URL의 내부에 4 URL의 다운로드 변수로 설정되어 있는지 .. 내가 이것들을 절약 할 수있는 방법 활동이 폐쇄되거나 파괴

, url은 변수가 있으므로 활동이 파괴되면 지워지지 않습니까?

번들로 저장 한 다음 onRestoreInstanceState로 가져올 수 있습니까?

답변

1

을 다음 방법을 사용하십시오. 당신이 살아 이러한 문자열을 유지하려면 응용 프로그램이 사용자에 의해 폐쇄 될 때

public String [] myRemoteImages = /* ... */; 
private static final String KEY_URLS = "urls"; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    if (savedInstanceState != null) { 
     myRemoteImages = savedInstanceState.getStringArray(KEY_URLS); 
    } 
} 

@Override 
protected void onSaveInstanceState(Bundle outState) { 
    super.onSaveInstanceState(outState); 
    outState.putStringArray(KEY_URLS, myRemoteImages); 
} 

당신은 더 나은 SharedPreferences을 사용하십시오.

onRestoreInstanceState()은 활동이 복원 될 때 호출됩니다. 즉, 구성 변경 후 또는이 활동이 포함 된 프로세스가 종료되고 다시 시작된 후이 활동이 다시 생성됨을 의미합니다. 따라서 앱을 종료하기 전에 상태를 저장하려면 onPause()/onResume() 메서드를 사용하여 저장하고 복원하십시오.

+0

위와 같이해야합니까? 일단 응용 프로그램이 죽으면, 위의 방법은 문자열을 다시로드하지 않습니다. [] – yoshi24

+0

작업이 종료되면 문자열 []을 저장할 수 있기를 원합니다. – yoshi24

+0

이러한 문자열을 가져올 때나 변경 될 때이 문자열을 'SharedPrefererences'에 저장할 수 있습니다. 예를 들어 onCreate()에서 이러한 문자열을로드하려고 시도 할 수 있습니다. 주요 아이디어는 앱이 죽을 때까지 기다리지 않는 것입니다.이 경우에는 아무 것도 할 수 없기 때문입니다. – Michael