전체 글 324

내가 만드는 정각알림 앱? (말하는 시계)

시간이 흘러간다는 것은 아시나요? 시간의 흐름과 함께 가고 계신건 아시나요?시간의 흐름 속에서 세월의 흐름을 잊고 계신건 아시나요? 이제 당신의 시간을 되찾아 와보세요. 시간을 세상에 맡겨두지 마시고, 이젠 항상 곁에 두세요. 소중한 나의 인생의 흐름을 느껴보세요.시간과 함께 호흡하며 살아 보세요.가을 하늘 높아지는 낭만과 함께...구글플레이에서 무료로 다운로드 받기 정말 사용하기 쉽습니다. 앱 전원을 켜기만 하면 매일 오전 8시부터 오후 10시까지 정각에 알림음과 함께 시간을 음성으로 알려드립니다!(아무 설정을 하지 않아도 말 해드리니 걱정 마세요! 전혀 어렵지 않아요!) 우측의 동그란 플레이 버튼을 누르면 언제든지 미리 들어 볼 수 있습니다! 내가 직접 만든 문구를 매 시간 정각에 (알람: 음성, 벨..

눈 감고도 시간을 알려주는 숙면 어플이 있다?

자다가 뒤척이면 으레 현재 시간을 확인하고 싶어진다. 이때 더듬더듬 휴대폰(스마트폰)을 찾은 뒤 전원 버튼을 누르고 눈을 뜨면 천국인지 어디서인지 내려오는 눈 부신 빛이 나를 맞이하고, 멍한 상태에서 시간을 확인하고 나면 잠이 확 깨버린 날들이 많으실 겁니다. 현재시간을 말해줘(몇시?) 그래서 코모가 특별히 제작한 앱을 소개해드립니다.잠 잘때 특히 빛에 취약하신 분들을 위해 '숙면 시계(현재 시간을 말해줘(몇시?))'라는 앱을 출시했습니다. 보기만 해도 금방 아시겠죠? 체크박스에 체크만 해두면 언제나 손 안 대고 시간을 알 수 있습니다. 보통 카메라 근처에 근접센서가 있는데요, 이 부분을 공중에서 스치듯이 지나가면 시간을 말해 줍니다. 또는 폰을 뒤집어도 말을 해줍니다. 또 한가지 재미있고 실용적인 부분..

구글 Analytics context와 ApplicationContext ....

구글 아날리틱스를 사용하면 기본적으로 아래 코드가 들어 가야 한다. AnalyticsApplication application = (AnalyticsApplication) context.getApplicationContext(); 하지만 context.getApplicationContext() 가 아니라 context 또는 this 등을 넣으면 java.lang.ClassCastException: cannot be cast to com.xxxx.AnalyticsApplication 이놈을 만나게 된다.. 당연한 얘기지만.... context와 ApplicationContext는 항상 구분해서 잘 쓰도록 하자. Service에서 SharedPreference 사용하기(context와 getApplicati..

안드로이드에서 Super를 쓰지 않으면? Wrong state class -- expecting Preference State

갑자기 아래와 같은 에러가 뜬다면,java.lang.IllegalArgumentException: Wrong state class -- expecting Preference State 아무리... 코드를 봐도... 구글링을 해봐도.... 나에게 맞는 처방전을 쉽게 찾기가 거의 불가능에 가깝다.... 원인 조차도..... 1. preference XML 에 같은 ID를 쓰는 놈이 있는지 찾아본다.2. 동적 코드에서도 같은 ID를 쓰는 놈이 있는지 찾아본다. 여기까지 해서 해결이 안되면,3. onResume() 을 체크 해본다.4. 되도록 onResume()에서 refresh()를 구현 해준다. --> final ListPreference key = (ListPreference) findPreference(..

[안드로이드 스튜디오] avd 패스 설정하기

1G 넘는 avd를 여러 개 만들다 보니 디스크 공간 부족 알림이 뜬다.C: 드라이버에 avd가 생성되어 생긴 현상이다.공간이 넓은 D: 드라이버에 avd를 생성하고 싶어 방법을 찾아보았다. 1. ADNROID_AVD_HOME을 윈도우 환경변수에 지정했다. -> avd 생성은 되나 실행할 때 에러 발생한다. 2. ANDROID_SDK_HOME을 지정해 보았다.윈도우 환경변수에서 ANDROID_SDK_HOME 을 D:\Android\sdk 로 지정해 주었다.avd 매니저로 avd 만들어 보니 $ANDROID_SDK_HOME/.android/avd 폴더 아래에 avd가 생성되는 게 확인된다.(1. 에서 지정했던 ANDROID_AVD_HOME 환경변수는 삭제했다.)-> 문제 해결. 이제 C: 드라이버 공간부족..

[로그 자동화] 안드로이드 디버그 팁

클래스 마다 태그를 넣고 쓰지 말고, 한 곳에서 로그를 관리하도록 하면 편하다. 아래 처럼 Log 클래스를 따로 만들고 필요 한 곳에서 LOG_TAG 함수를 부르면 알아서 클래스 명까지 딱 찍어준다. public static String LOG_TAG = ""; public static String LOG_TAG(Context context){ LOG_TAG = ""; return LOG_TAG = "[" + context.getClass().getSimpleName() + "] "; } 그리고, 디버그 모드 일때만 사용하도록 자동화 시켜 놓자. public static final boolean LOGIF = BuildConfig.DEBUG ? true : false; 결국 이렇게 불러서 쓰면 if(Lo..

[안드로이드 스튜디오] 패키지명 변경시 에러 발생 주의

안드로이드 스튜디오에서 패키지명 변경을 하다가, 갑자기 manifest에 빨간불이 들어 올 수도 있다.기본적으로 패키지명 변경은 좌측 메뉴의 Package 또는 mafifest에서 com.comostudio.xxx를 블럭한 뒤 refactor 하면 된다. 하지만, 일반 소스에서 찾아서 변경하기를 할 경우 갑자기 아래와 같은 에러를 만나게 되니 주의 바람. uri is not registered (settings project settings schemas and dtds) attri android:icon not allowed here 인터넷 검색을 아무리 해봐도 setting에서 위와 같이 추가 해주란 말 밖에 찾을 수 없다... 분명히 잘 되던 소스였는데 갑자기 매니페스트에 대부분이 빨간 불이라면 저..