분류 전체보기 316

[안드로이드] java.lang.IllegalStateException: Cannot execute task: the task is already running.

AsyncTaks를 아래 방법으로 호출 하면 두 번 실행 하게 되는 효과를 발휘 한다. aAsyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR).executor(params); java.lang.IllegalStateException: Cannot execute task: the task is already running. aAsyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, params) 요렇게 바꿔 줘야 한다.

[안드로이드] 6.0 마시멜로 DOZE 모드 adb 명령

마시멜로우는 배터리 미 충전 중, 오래 동안 폰 켜지 않을 경우 Doze 모드로 들어가서 낮잠을 주무신다... 이때는 알람이고 뭐고... 거의 받을 수 없는 상태가 되기에 꼭 실행 해야 할 작업이 있을 경우는 Doze모드를 해제 해야 한다. 그 때 필요한 작업은? 1. 다음 명령어를 통해 배터리가 충전되지 않도록 변경 합니다. $ adb shell dumpsys battery unplug2. 디바이스 스크린을 끕니다. 3. 다음 명령어를 반복 실행 하여, 디바이스 상태가 idle이 되도록 합니다.$ adb shell dumpsys deviceidle step4. 화면을 켜거나, 디바이스를 크게 움직이면 Doze 모드에서 빠져나옵니다. 5. 다음 명령어를 통해 배터리 충전 상태를 원래되로 되돌릴 수 있습니..

[안드로이드] 스트링으로 동적 값 적용하기

string.xml에 아래와 같이 작성을 하면, 동적인 값을 보여 주는 스트링을 만들 수 있다. 매번 스트링을 만드는 수고를 덜 수 있다. string파일 예) 08:%02d분, 09:%02d분, 10:%02d분 2%d는 두 자리수로 표기, 02%d는 01, 02, 03 처럼 표기 한다. 코드getString(R.string.test, Integer.parseInt(tempMinute), Integer.parseInt(tempMinute), Integer.parseInt(tempMinute));

[안드로이드] 프리퍼런스가 업데이트 안된다면?

말그대로 프리퍼런스(preference) summary가 없데이트 안 될 경우에는 어떻게 하느냐? 다른 화면을 갔다 올 경우에는 비교적 summary가 업데이트 잘 되지만, 한 화면에서 바로 바로 수정이 필요 할 경우에는 쉽지 않다. 만약, 잘 되다가 destory를 한 뒤 다시 들어 왔는데 이 때 부터 작동이 안된다면 ? 이전 글(BadTokenException)과 같은 내용의 해결 방법을 사용하면 된다. Preference를 static으로 만들어서 setSummary를 하면 된다. 어디서? onPreferenceChange(Preference pref, Object newValue) { 에서 받아온 pref로 pref.setSummary() 하지 말고 전역으로 선언해 놓고 하면 된다. 즉, publ..

[안드로이드] BadTokenException -is your activity running? 프리퍼런스에서 발생한다면?

이 에러는 참으로 갑자기 불쑥 나오기로 유명하다. 액티비티 종료 중에 컨텍스트를 사용하다가 잘 발생한다. android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@40b47bd8 is not valid; is your activity running? 1. 그래서 액티비티 종료 후에도 핸들러가 돌아 갈수도 있기에 갑자기 다이얼로그를 띄우는 등의 행동은 하지 말아야 할 것이다. 이럴때는 isFinishing()을 사용해서 예방 할 수 있다. 2. 또는 다른 액티비티와 연계되어서 발생 할 경우에는 getContext(), this.activity가 아닌 getParent()를 사용 하면 해결..

[말하는 시계] 전원키 두번, 근접센서, 잠금화면 위젯으로 언제 어디에서나 원하는 문장과 함께 시간을 말한다. (수면 중, 운전 중, 라이딩 중, 근무중, 설거지 중, 산책 중, 시각장애인)

내가 만드는 말하는 시계 무료! 구글 플레이로 받으러 가기 많은 분들의 관심 속에 내가 만드는 말하는 시계가 완전히 새로워 졌습니다. 무려 14가지 신 기능을 탑재하고 돌아왔습니다. 뿐만 아니라 완전히 무료 입니다. 언제 어디에서나 손 쉽게 시간을 확인 해보세요! 나의 생활이 편하고 즐거워 질 것입니다 ^^ 2.0.4버전에서는 전면 광고를 제거 하고 마시멜로우(6.0)버전에 최적화 되었습니다. ** 정말 사용법이 쉽습니다. (유치원생 부터 200세까지 누구나) 0. 시간 알림 문구를 내 마음대로 만들 수 있습니다. 1. 단말기를 뒤집거나 손바닥으로 카메라 부분(근접센서)을 가리면 현재 시간을 말로 해줍니다. 2. 전원 키(파워 키)를 두 번 연속으로 클릭하면 현재 시간을 말 해줍니다. 3. 홈화면 위젯 ..

CheckBoxPreference - check상태에 따라 활성, 비활성 바뀌게 하기

활성상태일때만 설정을 가능하게 하고픈 메뉴가 있을 것이다.체크박스프리퍼런스를 사용하고 있다면,이럴때 유용한 field가 android:dependency 이다. android:dependency 자리에 CheckBoxPreference의 key값을 넣어주면 별도 .java 코딩없이 xml파일 만으로도 아래와 같은 결과를 얻을 수 있다. [그림]정각알림 사용하기 설정이 check되지 않았을 때는 분 설정하기 메뉴가 비활성화되고,check되었을 때에는 분 설정하기 메뉴가 활성화 된다. -> [소스]