본문 바로가기

전체 글324

안드로이드 이벤트 버스 ( otto 라이브러리 ) 특정 이벤트를 발생시키고 싶은 경우에 쓰이는 라이브러리입니다. ex) 데이터를 보냈을 때, 그 시점에 특정 실행을 하고 싶은 경우 activity fragment 또는 Service에서 activity 간의 데이터 전달 등등 이런 경우 Intent, Bundle 등 여러 가지 방법이 있지만 너무 불편하다고 느끼시는 분들도 있을 겁니다. 여기서 편리하게 전역 변수처럼 데이터를 전달하고, 전달된 시점에서 특정 메서드를 실행할 수 있습니다. 자세한 사항은 아래 라이브러리 주소 링크로 확인하세요. https://github.com/square/otto square/otto An enhanced Guava-based event bus with emphasis on Android support. - square/o.. 2020. 4. 29.
안드로이드 멀티퍼미션 라이브러리 (Dexter) 이번 예제는 안드로이드에서 퍼미션을 요청하는 다이얼 로그를 자동으로 띄워주는 편리한 라이브러리입니다. 싱글 퍼미션 및 멀티 퍼미션에 대한 자세한 사항은 아래 깃허브 주소를 확인해 주세요. https://github.com/Karumi/Dexter Karumi/Dexter Android library that simplifies the process of requesting permissions at runtime. - Karumi/Dexter github.com 편리하게 권한을 요청할 수 있습니다. ( 예제에서는 카메라와 위치 권한을 이용했습니다. ) 예제에서는 여러 퍼미션(멀티 퍼미션)을 요청할 시 코드입니다. 우선 라이브러리를 사용하기 위해 추가해줍니다. ( 추가하고 Sync Now를 눌러줍니다. ).. 2020. 4. 27.
경제 전쟁 시대 ( 성웅 이순신 ) 성웅 이순신을 아시나요? "잠자리에 들었으나 잠을 이루지 못하고 밤새도록 뒤척거렸다. 온갖 근심이 치밀었다." -난중일기 中에서 - 우리가 사는 시대도 경쟁을 피할 수 없고, 어려움을 겪고, 고뇌합니다. 이렇게 본다면 무력 전쟁이든 경제 전쟁이든 본질은 같다고 할 수 있습니다. 이순신 장군은 23전 23승을 했습니다. 영국의 전설적인 해군 넬슨 제독 프랑스와 스페인 연합 함대를 격멸시킨 영웅이죠. 그리고 러·일 전쟁 때 러시아 해군을 무찌른 일본의 해군 사령관 도고 헤이하치로는 일본의 영웅입니다. 도고 제독은 자신을 넬슨에 버금가는 군신이라고 치켜세우는 말을 듣고 "영국의 넬슨은 군신이라 할 정도의 인물이 못된다. 해군 역사상 군신이라고 할 수 있는 제독이 있다면 이순신 한 사람뿐이다. 이순신과 비교하면.. 2020. 4. 26.
안드로이드 Service ( 자동 종료되지 않는 서비스 주의점 ) Android 8.0(API 레벨 26)는 사용자 환경을 개선하기 위해 백그라운드에서 실행되면서 앱의 동작을 제한합니다. (자세한 사항은 아래 안드로이드 개발자 사이트를 참고 바랍니다.) https://developer.android.com/about/versions/oreo/background 백그라운드 실행 제한 | Android 개발자 | Android Developers Android 8.0 이상을 대상으로 하는 앱에 대한 새로운 백그라운드 제한. developer.android.com 또한 알아두어야 할 점은 서비스를 지속적으로 실행할 때는 여러 가지 제한이 있습니다. 배터리 최적화 모드 해제- 플러그를 뽑거나, 화면을 꺼두거나, 같은 자리에 계속 있을 경우 잠자기 모드 실행되므로, 만약 지속적.. 2020. 4. 24.
안드로이드 ExpandableListAdapter( 하위 목록까지 보여주기 ) 목록을 보여줄 때는 보통 RecyclerView를 이용하여 RecyclerAdapter를 사용할 것입니다. 그러나 한 항목에 하위 항목까지 보여주려고 하면 많이 불편하실 겁니다. 그래서 편하게 하위 항목까지 보열 줄 수 있는 ExpandableListAdapter 예제입니다. RecyclerView를 사용하고 Adapter만 ExpandableListAdapter로 사용하는 것입니다. 리스트만 보여줄 것이기 때문에 화면에는 RecyclerView만 놓습니다. activity_main.xml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 상위 목록 모양과 하위 목록 모양을 만들어 줍니다. list_header.xml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1.. 2020. 4. 23.
안드로이드 베터리 최적화 풀기 ( 잠자기 모드 해제 ) 도즈 모드, 잠자기 모드일 시 제한사항과 관련 자세한 사항은 아래 개발자 사이트를 참조하시기 바랍니다. https://developer.android.com/training/monitoring-device-state/doze-standby?hl=ko 잠자기 및 앱 대기 모드에 맞게 최적화하기 | Android 개발자 | Android Developers 앱에서 Android 6.0의 절전 기능을 테스트하고 최적화합니다. developer.android.com 잠자기 모드 이해 사용자가 플러그를 뽑고 화면이 꺼진 채로 기기를 일정 기간 정지 상태로 두면 기기는 잠자기 모드를 시작합니다. 제한사항 네트워크 엑세스 정지 wake lock 무시 유지보수 기간 지연 동기화 어댑터 실행 X JobScheduler .. 2020. 4. 22.
CLEARTEXT communication to not permitted by network security policy 안드로이드 0.9 버전 이상부터는 http -? https로 사용해야 한다. (안드로이드 개발자 사이트 PI버전 변경 사항은 아래 링크를 확인하세요.) https://developer.android.com/about/versions/pie/android-9.0-changes-28?hl=ko 동작 변경사항: API 레벨 28+를 타겟팅하는 앱 | Android 개발자 | Android Developers Android 9(API 레벨 28)에서는 Android 시스템에 많은 변경사항이 도입됩니다. 다음과 같은 동작 변경사항은 API 레벨 28 이상을 타겟팅하는 앱에만 적용됩니다. targetSdkVersion이 API 레벨 28 이상으로 설정된 앱은 이러한 동작을 적절히 지원하도록 앱을 수정해야 합니다. .. 2020. 4. 21.
안드로이드 Blutooth 권한 활성화 요청 ( BlutoothAdapter ) 블루투스 권한 활성화 블루투스를 이용하여 작업을 할 경우, 블루투스가 켜져 있어야 정상적인 작동을 할 수 있습니다. Blutooth 권한 요청 하기 우선 블루투스 권한을 요청하기 위해 AndroidManifest에 등록을 합니다. 1 2 MainActivity.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 package com.example.ex_blutoothadapter; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; i.. 2020. 4. 20.
안드로이드 AltBeacon ( 비콘 연결 ) 비콘을 연결했다가, 감지가 안되면 연결이 끊깁니다. 그리고 다시 신호 영역에 들어오면 자동적으로 연결이 됩니다. 우선 블루투스를 이용하기 위해선 권한이 필요합니다. 권한 요청을 쉽게 하기 위해 AutoPermissions 라이브러리를 사용하였습니다. ( AutoPermissions라이브러리 사용은 아래 링크를 확인하세요. ) 2020/03/17 - [안드로이드/개발자 일상] - 안드로이드 앱 권한 요청 라이브러리 AutoPermissions 우선 AutoPermissions, AltBeacon 라이브러리를 추가합니다. build.gradle 1 2 3 4 5 allprojects { repositories { maven { url 'https://jitpack.io' } } } 1 2 3 4 implem.. 2020. 4. 19.