2011-10-22 5 views
0

환경 설정이 변경되었는지 확인하는 좋은 방법이 필요합니다. 이 확인은 preferenceActivity가 완료 될 때 수행되어야합니다.sharedpreferences를 이전 상태와 비교하십시오.

내 생각은 oldInterval과 같은 이름을 사용하여 onCreate에 관심 값을 저장하고 onDestroy의 시간 값과 비교하는 것입니다. 그러나 나는 관심사의 각 특혜를 위해 이것을 지정해야 할 것입니다. 오히려 onCreate에 전체 SharedPreferences 객체의 백업을 저장하고 싶습니다. 따라서 onDestroy에서 쿼리 할 수 ​​있습니다. 내 질문이 명확하고 당신이 도울 수 있기를 바랍니다.

답변

1

두 가지 옵션이 있습니다. SharedPreferences.getAll()은 SharedPreferences 개체의 모든 값 중 Map을 반환합니다. 이를 사용하여 전후 비교할 수 있습니다.

아마도 더 나은 옵션은 SharedPreferences.registerOnSharedPreferenceChangeListener()을 사용하는 것입니다.이 옵션은 공유 환경 설정 중 하나가 변경 될 때마다 호출되는 수신기를 설정합니다. 그들은 단지 부울을 설정할 수 있으며 즉시 알 수 있습니다.

모두를 getAll 방법은 내가 원하는입니다 SharedPreferences Javadoc 페이지

+0

에 설명되어 있습니다. 나는 문서를 더 분명히 읽었어야했다. 미안. –

관련 문제