내가 개발하고있는 LiveWallpaper 앱에 문제가 있습니다. 두 클래스를 고려하십시오 : LiveWallpaperService
및 LiveWallpaperSettings
. LiveWallpaperSettings
은 PreferencyActivity
입니다. 예 : boolean displaySprite
(true => 화면에 스프라이트 표시, false 표시 안 함)은 을 나타내며 사용자가 선택한 환경 설정을 나타내는 데이터 예제는 SharedPreferences
을 통해 LiveWallpaperSettings
에 저장/지속됩니다.SharedPreferences에 액세스하기
응용 프로그램 (설정 -> 디스플레이 -> 라이브 벽지 -> MyLiveWallpaper)을 시작하면 저장된 기본 설정을 알아야 스프라이트를 표시 할 수 있습니다. 그러나 LiveWallpaperSettings
은 설정 버튼을 클릭 할 때까지 인스턴스화되지 않으므로 SharedPreferences
을 사용할 수 없으며 그때까지는 저장된 설정을 사용할 수 없습니다.
나는 LiveWallpaperService.onCreateScene()
이 시도하지만, 그 안에 데이터가 없습니다 :
SharedPreferences startupPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
내가 무엇을 할 수 있습니까?
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
boolean display = settings.getBoolean("display", true);
"공공 추상 부울 getBoolean (문자열 키, 부울 defValue)"
추가 된 API 레벨을 1 검색 : 입/sharedpref 파일이 존재하지 않는 경우
당신이 몇 가지 코드를 게시 할 수 있습니다를 추가 오해 didnt한다! – lelloman