갑자기 아래와 같은 에러가 뜬다면,java.lang.IllegalArgumentException: Wrong state class -- expecting Preference State아무리... 코드를 봐도... 구글링을 해봐도.... 나에게 맞는 처방전을 쉽게 찾기가 거의 불가능에 가깝다.... 원인 조차도.....1. preference XML 에 같은 ID를 쓰는 놈이 있는지 찾아본다.2. 동적 코드에서도 같은 ID를 쓰는 놈..
사용자가 직접 시간대를 변경하거나, 비행기를 타고 가다가 새로운 타임존을 만났을 때 안드로이드는 2가지 이벤트를 발생시킨다. 만약, 시간에 민감한 어플리케이션을 운영한다면 이러한 돌발? 변수에 대한 고려를 하지 않았다면.... 뒤통수가 엄청 가려워질 것이다.사용자가 시간을 변경 했을 때ACTION_TIME_CHANGED타임존을 변경 했을 때ACTION_TIMEZONE_CHANGED위 브로드캐스트 메시지를 Manifest 에 등록하고 Receiver에..
Preference를 overide 한 경우 OncreateView를 사용하여 새롭게 만들어 준다. 하지만, 이미지가 PreferenceScreen 자리에 들어가게 된다면 고려해야 할 것이 있다. UI에서 매번 다른 동작이 발생 할 때마다(다이얼로그 열리고 닫히는 등) 이 OnCreateView가 불려지면서 안드로이드 내부를 들쑤시고 다닐 수 있다. @Override protected View onCrea..
기본적으로 SharedPreferences pref = getContext().getSharedPreferences(key, Context.MODE_PRIVATE);위와 같은 코드를 사용하면 SharedPreference를 사용하여 앱에서 필요한 부분을 저장하고 불러올 수 있다. 하지만, Service(onReceive 등)와 같은 곳에서는 아래와 같이 getApplicationContext를 사용하여야 sharedPreferenc..
아이스크림 샌드위치 버전까지는 안드로이드에서 TTS를 사용할 때 setOnUtteranceCompletedListener를 사용했으나, 이후 버전 부터는 setOnUtteranceProgressListener를 사용해서 Speaking의 시작과 끝에 대응할 수 있다. 또한, HashMap을 사용하도록 한 것도 큰 변화의 특징이다. 1개의 앱에서만 TTS를 사용한다면 문제가 없지만, 만약 2개 이상의 앱에 TTS를..
- Total
- 193,034
- Today
- 122
- Yesterday
- 313