안드로이드 스튜디오 48

[안드로이드 스튜디오] 간단하고 쉬운 위젯 만들기

안드로이드 스튜디오에서 간단한 위젯은 클릭 몇 번 만으로 나타나게 할 수 있다. 프로젝트 화면 - app 클릭 - 마우스 오른쪽 메뉴 - New - Widget - App Widget 을 클릭하면 다음과 같은 창이 나타난다. [Finish] 버튼을 누르고 바로 실행해서 에뮬레이터 화면에 위젯 추가한 화면 이다. 클릭만으로 위젯 껍데기는 완성되는 셈이다. 실행 되는 걸 봤으니 위 위젯 추가로 어떤 파일이 추가/수정 되었는지 보자. 추가된 파일 > ./MyAppWidget.java ./xml/my_app_widget_info.xml ./layout/my_app_widget.xml 수정된 파일 > ./AndroidManifest.xml 위젯을 만드는데 필요한 예제가 그대로 만들어 지는 셈이다. 위젯 버튼을 클..

SwitchPreference 이벤트 중복 버그

CheckboxPreference를 사용 할 때는 분명히 onPreferenceTreeClick으로 이벤트가 들어왔다. 하지만 SwitchPreference를 사용하면 onPreferenceChange로 이벤트가 들어오니 주의 하여야 한다. onPreferenceTreeClick if (KEY_SETTINGS.equals(preference.getKey())) { ..... return true; } 그러나, 더 심각한 문제는... 스위치를 끄고 켤 때 마다 이벤트가 2번씩 들어 온다는 것이다. 이를 해결 하기 위해서는 아래처럼 새 이벤트 헌 이벤트를 검사해주어야 한다. 이것이 더 웃긴 것이 단말기 마다 다르다는 점이다. 어떤 단말기는 2번 이벤트를 1번으로 줄여서 보내주고 어떤 단말기는 2번 다 보내니..

[안드로이드 스튜디오] 애드몹 lib 추가하기

앱에서 구글 admob 광고를 넣으려면 필요한 lib가 있는데, 안드로이드 스튜디오 사용자는 툴에서 추가 가능하다. Open Module Settings 창(프로젝트 창에서 [app] 을 클릭한 상태에서 마우스 오른쪽 메뉴, 또는 F4 누르면 뜸)에서Ads를 체크해서 추가하면 필요한 dependencies가 추가된다. build.gradle 파일을 확인해 보면 아래와 같이 추가 되었음을 확인 할 수 있다.dependencies { compile 'com.android.support:support-v4:23.0.1' compile 'com.google.android.gms:play-services-ads:7.3.0' } 위 과정후 코드로 광고 추가하면 된다. 개발 할 때는 테스트모드로 광고 확인하자. 애드..

[환불 불가] 안드로이드 브로드캐스트 기차 놓치지 않기!

브로드캐스트를 날리면 티켓을 끊어 놓은 리시버가 무조건 받겠지 하고 생각 할 수도 있지만, 회사 내부 사정으로 티켓을 취소 해버리는 경우도 발생 할 수 있다는 점도 알고 있어야 한다. 리시버에 등록 해놓으면 OS가 기억 하고 있다가 보낼 시간이 되거나 보낼 타이밍이 되면 브로드캐스트를 날린다. 하지만 OS도 내부적으로 바쁘거나 여타 기타 사정으로 브로드캐스트 메시지에 유효기간을 정해 놓았을 경우가 발생 할 수도 있다. 즉, 분명 어떠한 순간에는 이 메시지를 놓칠 수도 있다는 거다. 그럼 어떻게 해야 할까? 어떻게?? public class InitReceiver extends BroadcastReceiver { @Override public void onReceive(final Context contex..

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

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

[안드로이드 스튜디오] 디버그툴 사용하기

예전엔 매니페스트에서 디버그 모드 설정을 해주었는데, 안드로이드 스튜디오로 넘어 오면서 부터는 그래들에 설정을 해주면 된다. Waiting for device.Cannot debug application com.comostudio.xxxxx on device pantech-xxxxxx.This application does not have the debuggable attribute enabled in its manifest.If you have manually set it in the manifest, then remove it and let the IDE automatically assign it.If you are using Gradle, make sure that your current varia..

[안드로이드 스튜디오] 패키지명, 프로젝트명 변경

안드로이드 스튜디오에서 1. 패키지명 변경 하기. com.a.b --> com.b.c로 변경 하기 위해서는Android로 되어있는 상태에서 패키지를 누르고 오른쪽 마우스로 아무리 Refator를 해봐야 안된다. (com.a.b --> com.a.c)로의 변경은 된다. 아래와 같이 해줘야 된다.Android가 아닌 Packages를 선택 하고 Refactor를 선택한뒤 변경 하면 중간 패키지 명을 변경 할 수 있다. 2. 프로젝트명 변경하기 파란 색 부분에서 아무리 우측 키를 눌러서 리팩터 해봐야 안된다.그냥, 프로젝트의 최상위 폴더 이름만 바꾸고 안드로이드 스튜디오를 재 부팅하면 해결 된다. (탐색기나 파인더) 더 간단한 방법이 나왔어요(2015/12/19)--> [안드로이드 스튜디오] 정말 쉬운 패키지..