일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- NDK
- flutter firestore
- livedata
- C
- 안드로이드
- mfc
- RxJava
- Python
- C/C++
- Rxjava2
- UWP
- Django REST Android
- Flutter TextField
- android push
- 알고리즘
- RxAndroid
- dart
- FLUTTER
- Java
- 프로그래머스
- Android P
- 코틀린
- 안드로이드 구글맵
- Django REST
- android architecture component
- kodility
- Android
- C++
- Django REST framework
- Kotlin
- Today
- Total
목록Android (35)
개발하는 두더지
안드로이드에 admob을 적용하는 도중 아래와 같은 이슈가 발생했다. admob The webview is destroyed. Ignoring action. 뷰홀더 안에 광고 뷰가 있는데 새로운 광고가 업데이트되는 중에 스크롤을 해서 생기는 이슈 같다. 그리고 테스트 admob을 사용시 상당히 느려지는 경우가 있는데 릴리즈 빌드를 해보니 속도가 빠른 것으로 보아 테스트 광고에서 뭔가 속도 저하를 발생시키는 것 같다..
Support 라이브러리 (android.support.* ) v4, v7, v13 의 숫자는 api 4 이상, api 7 이상, api 13 이상을 의미함. 요즘같이 카카오, 금융권 min 19 를 사용하는데 그 숫자가 점점 무의미해지고 있음. 그런데 v4의 경우 support 24.2.0 에서 api 8 이하 지원을 중단해서 v4가 api 4이상이 아님. 심지어 support 26 에서는 최소 api 14로 올라감. Android 9.0(API 레벨 28)의 출시와 함께 Jetpack의 일부인 새로운 버전의 지원 라이브러리 AndroidX가 출시됨 support 28.0.0 기반 + Jetpack의 최신기능을 포함한 서포트 라이브러리임. AndroidX 는 core 를 비롯하여 ui dependenc..
JUnit @Before 에서 필드 초기화 과정 중에 안드로이드 프레임워크 코드를 사용하게되면 아래와 같은 에러 메시지가 나옵니다. java.lang.RuntimeException: Method getMainLooper in android.os.Looper not mocked. See http://g.co/androidstudio/not-mocked for details. at android.os.Looper.getMainLooper(Looper.java) at androidx.arch.core.executor.DefaultTaskExecutor.isMainThread(DefaultTaskExecutor.java:77) at androidx.arch.core.executor.ArchTaskExecutor..
[안드로이드] Picture In Picture, 액티비티 안에 액티비티 띄우기 ( Oreo 추가 사항) Android API 24 ( 7.0 ) 부터 다중 창을 제공하는데 바로 액티비티 안에 액티비티를 띄울 수 있는 기능입니다. 안드로이드 폰에서는 오버뷰 버튼을 이용해 화면을 분할해서 두 앱의 액티비티를 분할로 보여주는 기능이 있었고 PIP(Picture In Picture)의 경우 안드로이드 TV에서만 지원이 가능했습니다. 하지만 API 26 ( 8.0 ) 부터 PIP를 안드로이드 폰에서 가능합니다. 카카오톡에서 대화방에서 동영상이 상단에 나오고 채팅을 그대로 진행하거나 유튜브를 보다가 창을 밑으로 내리고 다른 영상을 찾아본적이 있을 겁니다. 바로 그 기능이 Oreo 버전부터 지원이 가능하게 되었습니..
[안드로이드] onSaveInstanceState(), onRestoreInstanceState() 로 액티비티 상태 저장 화면전환의 경우 onPause() -> onStop() -> onDestory() 과정을 거쳐 액티비티가 종료되고 다시 onCreate() -> onStart() -> onResume() 과정으로 다시 실행이 됩니다. 이전 상태를 저장하지 않았기 때문에 이미 화면에 보여줬던 데이터는 사라지게 됩니다. onSaveInstanceState(), onRestoreInstanceState() 함수를 이용하여 Bundle로 데이터를 보관하고 다시 가져오면 데이터 유실을 막을 수 있습니다.@Override protected void onSaveInstanceState(Bundle outStat..
디바이스 맨 위에 시간, 배터리등을 표시하는 상태바(Status Bar)를 없애는 방법은 간단합니다.간단하게 Style을 지정해서 적용할 수 있습니다. styles.xml AndroidManifest.xml
간단하고, 배터리 효율적인 위치 API 앱은 기기의 여러 센서가 제공하는 신호를 활용하여 기기 위치를 파악할 수 있습니다. 그러나 여러 환경에서 적합한 신호 조합을 선택하는 것은 쉽지 않습니다. 배터리 효율적인 방법을 찾는 것 또한 복잡합니다. FusedLocationProvider 는 위치 정보를 제공하기 위해 여러 신호를 지능적으로 조합하는 Google Play Service에서 제공하는 위치 API 입니다. 코드로 살펴보겠습니다. build.gradle 에 구글 플레이 서비스에서 제공하는 API를 주입시켜줍니다. // google map api & location implementation 'com.google.android.gms:play-services-maps:16.0.0' implementa..
안드로이드 디바이스에서 백그라운드로 진입했을 때 작업을 수행하려면 서비스를 사용해야합니다.하지만 서비스를 사용할때 고려해야될 사항들이 있습니다. 1. 서비스는 프로세스가 계속 실행되고 있으므로 배터리 소모가 상당합니다.2. 마시멜로우 버전부터 잠자기 모드( doze mode )가 생겼습니다.3. 잠자기 모드는 누가버전에서 발전시키고 오레오 버전에서 더욱 강화되었습니다. 잠자기 모드는 유저가 디바이스 스크린을 끄고나면 네트워크, Sync, GPS, 알람, 와이파이 스캔 등을 비활성화 시켜버립니다.스크린을 켜거나 충전기에 연결할때 까지 이 상태가 유지되버립니다. 그리고 중요하지 않은 작업/앱을 종료시켜버림으로써 디바이스의 배터리를 절약하는 전략을 사용합니다. 그리고 오레오 버전으로 타겟팅된 앱이 백그라운드에..