본문 바로가기

안드로이드73

안드로이드에 애드몹 최신 라이브러리 적용 시 오류 발생 대응법. 안드로이드에 애드몹 최신 라이브러리를 적용하고, Activity등에 배너를 적용 후 앱이 강제종료가 되는 현상이 발생했습니다. App의 build.gradle을 아래와 같이 최신 라이브러리로 적용하였습니다. [변경전] dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:26.1.0' compile 'com.google.android.gms:play-services-ads:9.2.0' compile(name:'AdfitSDK-3.0.1', ext:'aar') } [변경후] dependencies { compile fileTree(dir: 'libs', include: .. 2018. 11. 25.
React Native Error : Could not delete path 리액트 네이브트 안드로이드 개발 시 안드로이드 스튜디오에서 빌드 후 아래와 같은 오류가 발생하는 경우가 있습니다. FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:processDebugResources'. > java.io.IOException: Could not delete path 'D:\ReactNativeProject\android\app\build\generated\source\r\debug\com\facebook\drawee\backends'. 해결 방법은 안드로이드 스튜디오에서 Clear Project를 수행 후 리액트 네이트브에서 빌드를 수행하면 됩니다. 안드로이드 스튜디오에.. 2018. 10. 13.
안드로이드 TTS 실행 시 중간에 딜레이 주기 안드로이드에서 TTS로 여러 문장을 읽어 줄때 중간에 딜레이를 주고 싶을 때가 있습니다. 이런경우 TTS의 메소드 playSilence를 활용하면 됩니다. tts.speak("안녕하세요.", TextToSpeech.QUEUE_FLUSH, null) // 딜레이를 1초 주기 tts.playSilence(1000, TextToSpeech.QUEUE_ADD, null); tts.speak("반갑습니다.", TextToSpeech.QUEUE_FLUSH, null) 2018. 7. 10.
안드로이드 - appcompat-v7:26.0.1에서 액션바(Actionbar) 이미지 깨지는 현상. 안드로이드 프로젝트에서 com.android.support:appcompat-v7:26.0.1 사용시 아래와 같이 이미지가 찌그러지는 현상이 발생한다.26.01.에 버그가 있다고 합니다. 이런 경우 com.android.support:appcompat-v7의 버전을 26.1.0으로 지정하면 정상적으로 표시됩니다. 2018. 7. 10.
안드로이드 API 레벨로 서로 다른 앱버전 관리하기. 안드로이드를 개발하다 보면, 하위 API와 상위 API로 두 앱을 관리 해야 하는 경우가 발생합니다. 즉 최신 기술을 사용하기 위해 상위 API를 사용해야하는데, 하위 API를 사용하고 있는 사용자도 계속 유지하려면 두개의 앱을 구글플레이 콘솔에서 관리 해야 합니다. 물론 소스도 두개로 관리가 되겠죠. 아래의 이미지는 구글플레이 콘솔에서 API 레벨로 두개의 앱이 등록된 화면입니다. 버전 201은 API 14~20인 안드로이드 폰에서 다운로드가 가능합니다. 번전 308은 API 21 이상인 안드로이드 폰에서 다운로드가 가능합니다. API레벨로 안드로이드 앱을 관리하기 위해서는 각각의 두 앱의 build.gradle에서 defaultConfig에 API를 설정하고 구글플레이 콘솔에서 두 앱(apk 파일)을.. 2018. 4. 10.
웹에서 안드로이드 apk 디컴파일하기. 안드로이드 apk를 디컴파일 하려면 여러가지를 세팅해야합니다.하지만 웹에서 apk 파일을 업로드하여 디컴파일된 zip 파일을 받을 수 있습니다. 아래의 URL을 방문해보세요. http://www.javadecompilers.com/apk 2018. 2. 7.
안드로이드 오류 - 시스템 UI 앱을 중지하였습니다. 오늘 새로운 아이디어가 있어, 개발을 하고 디버깅을 진행하였습니다.대부분의 기능이 완료되어 앱의 아이콘을 배치하고, 앱의 아이콘도 적용하였습니다.그리고 안드로이드 스튜디오로 개발중인 앱을 설치하였는데 아래의 이미지와 같이 "시스템 UI 앱을 중지하였습니다."라는 메세지가 계속 표시되었습니다.해결 방법을 찾지 못해 폰을 공장초기화 했는데, 개발 중인 앱을 다시 설치하니 동일한 현상이 계속 발생했습니다.그래서 개발중이 앱을 이것 저것 찾아보이니... ㅠㅠ실수로 앱의 아이콘 이미지를 3000 X 3000(3Mb)으로 생성 사용 했기 때문이었습니다.정말 어이가 없는 실수를 하고 말았네요. 2017. 3. 26.
안드로이드 카드보드 VR 서적 2017년도 1월에 출간된 안드로이드 카드보드 VR 책입니다.짬짬히 공부는 하고 있었는데, 이 책으로 한번 개념을 잡고 다시 도전해야겠습니다. 안드로이드 카드보드 VR 프로젝트 : 구글 카드보드 SDK를 이용한 가상현실 앱 개발저자 : 조나단 리노위즈, 매트 쇤역자 : 이지훈출판사 : 에이콘출판사발행 : 2017년 01월 26일쪽수 : 484가격 : 3만원ISBN : 9788960779686 2017. 1. 25.
안드로이드 앱에 Firebase 적용시 Failed to find : com.google.firebase:firembase-core:9.6.1 해결 방법 안드로이드 앱에 Firebase 적용시 Failed to find : com.google.firebase:firembase-core:9.6.1 해결 방법입니다. 1. 아래와 같이 App의 build.gradle에 compile 'com.google.firebase:firebase-core:9.6.1'을 추가하고, Sync Gradle을 수행합니다. 2. 아래와 같이 com.google.firebase:firebase-core:9.6.1를 찾을 수 없다는 메세지가 표시됩니다. 아래의 오류를 해결하기 위해서는 Google Play services와 Google Repository를 최신으로 업데이트 해야 합니다. 3. 안드로이드 스튜디오의 메뉴에서 Tools > Android > SDK Manager를 클릭.. 2016. 11. 23.
안드로이드 스튜디오 업데이트 하기. 최신 기능을 적용하여 안드로이드 앱을 개발하기 위해서는 안드로이드 스튜디오를 최신으로 업데이트 해야합니다.안드로이드 스튜디오에서 업데이트 하는 방법은 아래와 같습니다. 1.안드로이드 스튜디오의 메뉴 Help > Check for Update...를 클릭합니다. 2. Update Info 화면에서 Download를 클릭합니다. 3. 안드로이드 스튜디오를 다운로드 할 수 있는 사이트로 이동합니다. 최신 버전을 클릭합니다. 4. Windows IDE의 링크를 클릭하여 다운로드 후 실행 파일을 실행하면, 기존의 안드로이드를 삭제하고, 최신의 안드로이드 스튜디오를 설치합니다. 2016. 11. 23.
com.android.dex.DexException: Multiple dex files define Lpackagename/BuildConfig 오류 안드로이드 스튜디오에서 모듈을 추가하고 컴파일하니 아래와 같은 오류가 발생했습니다. 구글링을 해보니 libs의 Jar와 Package Name이 동일한 경우 발생한다고 합니다. 모듈의 Package Name을 변경하니 오류 없이 잘 컴파일됩니다. UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define Lpackagename/BuildConfig; at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:579) at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:535) at co.. 2016. 10. 14.
애드몹 SDK 업그레이드 메일. 몇일전에 애드몹으로부터 메일을 받았습니다.내용은 애드몹의 SDK의 버젼을 7.0이상으로 업그레이드 하라는 내용이며, 예시도 함께 포함 되어있습니다.제가 사용하는 애드몹의 SDK는 6.x.x라 전부 수정을 해야 할 듯 합니다. 아래는 메일 내용을 캡쳐한 것이니 참고하세요. 2016. 7. 6.
안드로이드 - 커스텀 리스트뷰(Custom ListView) 만들기 안드로이드 앱의 커스텀 리스트뷰(Custom ListView)를 만드는 방법을 알아보겠습니다. 1. Start a new Android Studio Project를 클릭하여 안드로이드 프로젝트를 생성합니다. 2. Application Name과 Company Domain을 입력 후 Next 버튼을 클릭합니다. (Application Name과 Company Domain은 Package 명이 됩니다.) 3. Phone and Tablet을 체크하고, Next 버튼을 클릭합니다. 4. Blank Activity를 선택 후 Next 버튼을 클릭합니다. 5. Activity Name과 Layout Name 등을 입력 후 Finish 버튼을 클릭합니다. 6. 아래와 같이 Activity Layout에 ListVi.. 2016. 4. 20.
안드로이드 화면(Activity)를 항상 켜짐 상태로 유지하기. 안드로이드을 개발하다 보면 화면(Activity)를 항상 켜짐 상태로 유지하거나 이를 해제해야 할 경우가 발생합니다. 여러 음원파일(mp3 같은)을 연속으로 들을 때 화면을 항상 켜짐으로 유지하고, 음원 재생이 끝나면 이를 해제하고자 할 때 유용하게 사용할 수 있는 방법입니다. 코드는 생각보다 매우 간단합니다, Activity의 getWindow()로 윈도우를 얻어서 Flag를 설정해주면 끝납니다. 아래의 코드를 참고하세요. 1. 화면 켜짐 상태 유지 public class KeepScreenOnActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { ... // Activity가 실행 될 때 항상 화.. 2016. 3. 8.
안드로이드 ListView에 데이터 추가 또는 변경 시 갱신(Update)하기. ListView에서 데이터를 추가 또는 변경이 되었을 떄 ListView를 갱신(Update)하는 방법입니다. 그런데 주의해야 할 점은 안드로이드의 화면이 Activity를 상속받았는지 아니면 Fragment를 상속받았는지에 따라 약간의 구현 방법이 다릅니다. ListView를 갱신하는 방법을 알아보겠습니다. 단, ArrayAdapter를 적용한 예이니 참고해서 보시길 바랍니다. 1. 안드로이드의 화면이 Activity를 상속 받은 경우 ArrayAdapter adapter = listView.getAdapter(); adapter.notifyDataSetChanged(); 2. 안드로이드의 화면이 Fragment를 상속 받은 경우 - Activity를 상속 받은 경우 같이 adapter.notifyDa.. 2016. 3. 4.
안드로이드 TextView의 Text Style 지정 방법 Java Code로 TextView의 텍스트 스타일 지정 방법입니다. TextView의 setTypeface 메소드를 이용하여 아래의 속성으로 텍스트 스타일을 지정 할 수 있습니다. (1) 굵게 + 이텔릭체 : Typeface.BOLD_ITALIC (2) 굵게 : Typeface.BOLD (3) 이텔릭체 : Typeface.ITALIC (4) 기본 : Typeface.NORMAL TextView textView = (TextView)this.findViewById(R.id.text_view); textView.setTypeface(null, Typeface.BOLD_ITALIC); textView.setTypeface(null, Typeface.BOLD); textView.setTypeface(null,.. 2015. 12. 15.
안드로이드 ListView에서 CheckBox 사용 시 OnItemClickListener 이벤트 문제 ListView에 CheckBox를 적용하면, OnItemClick 이벤트가 처리되지 않는 현상이 발생합니다. 아래의 이미지에서와 같이 CheckBox가 있을 경우입니다. Layout XML의 CheckBox의 속성 중 focusable와 focusableInTouchMode의 값을 false로 하면 OnItemClick 이벤트를 적용할 수 있습니다. 2015. 12. 14.
안드로이드 Tabs Swipe 앱 만들기 안드로이드를 어느정도 공부하면서 이것저것 앱을 만들다 보면 조금 더 효율적인 앱을 만들고자 합니다.그중의 하나가 Tabs Swipe 앱인데, Tabs Swipe은 사용자가 페이지를(Fragment) 옆으로 밀면 반대편 옆의 페이지가 표시되면서 상단의 Tab에도 표시되는 형식입니다.(옆으로 밀어서 페이지를 이동하는 방식이 뭐라고 해야 하는지 몰라서 구글링을 해서 Tabs Swipe이라는 것을 알아습니다. ㅠㅠ) 동작방식은 아래의 영상을 확인하세요. 1. 안드로이드 스튜디오에서 새로운 프로젝트를 생성합니다. 2. Application Name과 Company Domain을 입력 후 Next 버튼을 클릭합니다. 3. Phone and Tablet을 체크하고, Android SDK 버전을 선택 후 Next 버튼.. 2015. 11. 26.
Error android:TextAppearance.Material.Widget.Button.Inverse 안드로이드 스튜디오에서 Tab + Swipe에 대한 구현 테스트를 하려고 프로젝트를 생성하였습니다.그런데 컴파일을 하니 아래와 같은 오류가 발생하였습니다.리소스를 찾지 못한다는 에러가 발생입니다. Error:Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.Error:Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Colored'. 해결 방법은 2가지가 나와있더군... 2015. 11. 24.
안드로이드 스튜디오 프로젝트명 변경하기 안드로이드 스튜디오 프로젝트명 변경하는 방법입니다. 1. 안들로이드 스튜디오의 왼쪽 상단의 프로젝트 이름을 변경하겠습니다. 2. ".idea"폴더의 ".name" 파일을 찾아 파일을 엽니다. 3. ".name" 파일의 내용에 안드로이드 스튜디오의 왼쪽 상단과 동일한 이름이 기록되어 있습니다. 4. 자신이 원하는 프로젝트 명으로 변경 후 저장합니다. 5. 프로젝트를 닫고 다시 열면 자신이 변경한 프로젝트 명으로 변경이 됩니다. 2015. 11. 16.
안드로이드 Action Bar 만들기 안드로이드 Action Bar 만들기이며, ActionBar의 배경 및 타이틀, Action Button 추가 및 이벤트, Home icon 추가 및 이벤트에 대해서 알아보도록 하겠습니다. Action Bar의 명칭은 아래의 URL을 참고하세요. 안드로이드 액션바(ActionBar) 명칭 1. ActionBar ActionBar를 사용하기 위해서는 ActionBarActivity를 상속받아야 합니다. [코드] public class TestActivity extends ActionBarActivity [전체코드] public class TestActivity extends ActionBarActivity{ } 2. ActionBar의 타이틀과 배경색 - 위의 이미지와 같이 ActionBar의 타이틀과 배.. 2015. 11. 2.