본문 바로가기

안드로이드37

안드로이드 스튜디오 빨간색 글씨 ( 프로젝트에 존재 하는데..) layout, font, drawable 등등.. 생성하고 적용을 하려면 자동 완성이 안되거나, 빨간색 글씨로 보인다면 아래 방법을 사용 방법 1) Build -> Clean Project 방법 2) Build -> Rebuild Project 방법 3) File -> Invalidate Cache & Restart 2020. 5. 22.
안드로이드 BottomNavigationView ( icon, text 색상 변경 ) BottomNavigationView 사용을 위해 라이브러리를 추가해줍니다. Gradle dependencies { implementation 'com.android.support:design:29.0.0' // bottomNavigationView } activity_main.xml에 사용을 합니다. ( menu는 미리 이름을 작성했습니다. 아래에서 menu를 만들 것입니다. ) BottomNavigationView에 보여줄 menu, item을 만들어 줍니다. my_navigation_items.xml 작성에 앞서 미리 아이콘을 준비합니다. ( Android Studio - Vector Asset 이미지를 이용했습니다. ) my_navigation_items.xml BottomNavigationVie.. 2020. 5. 21.
EditText 그림자 효과 (background 적용) EditText에 그림자 효과를 주고 싶은 경우가 있을 때, 배경 layout을 만들고 에 android:background 속성을 이용하는 방법도 있습니다. drawable에 edittext_shadow.xml을 만들어 줍니다. edittext_shadow.xml 에 적용합니다. background 적용 EditText와 기본 EditText 2020. 5. 20.
코틀린을 배워야 하는 이유 코틀린은 11년 7월 19일에 등장했습니다. 또한 구글에서 공식적으로 지원한 언어입니다. (2017년 5월 18일) 안드로이드 스튜디오 3.0부터 코틀린이 기본으로 지원됩니다. 아래는 코틀린 사이트에서 코틀린을 사용하는 이유를 가져왔습니다. https://kotlinlang.org/ Why Kotlin? Drastically reduce the amount of boilerplate code 코드의 길이를 줄여 간결한 코드를 작성할 수 있습니다. Avoid entire classes of errors such as null pointer exceptions 기본적으로 null 참조를 못하기 때문에, null 값을 가지려면 nullable로 선언해야 합니다. 그러니 null 값으로 인한 오류를 방지할 수 .. 2020. 5. 7.
안드로이드 이벤트 버스 ( 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.
안드로이드 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.