Android app 을 개발 하다 보면 앱의 동작화면을 녹화해야 하는 경우가 생긴다. 비단 앱 개발 외에도 블로그를 포스팅할 때 앱의 동작화면을 GIF 로 만들때도 화면 녹화가 필요하다. 이번 포스팅에서는 Android 화면을 녹화하는 방법에 대해 알아보자. (Android Studio Arctic Fox 기준) Logcat 의 'Screen recorder' 이용하기 Step 1 : Logcat 실행하기 View > Tool Windows > Logcat Step 2 : Screen Recorder icon 실행하기 Logcat 의 대상이 원하는 device 인지 확인 후 'Screen recorder' icon 을 클릭한다. Step 3 : 녹화 실행하기 녹화를 원하는 시점에서 'Start Reco..
Android app 을 개발 하다 보면 '프로그램이 돌아간다' or '진행중' 같은 상황을 유저에게 설명해야 할 때가 종종 있다. 가장 많이 사용하는 방식으로 progress bar 로 진행 상황을 나타낼 수 있지만, 이런 전통적인 방식은 사용자를 지루하게 만들 수 있다. 좋은 사용자 경험을 위해 모바일 앱에서 Lottie 를 사용한다면 하단과 같은 멋진 진행률 표시를 만들 수 있다. 이번 포스팅에서는 Lottie animation library 에 대해 알아보자. [출처 : https://github.com/airbnb/lottie-android] Lottie? Lottie 는 Airbnb 에서 공개한 Android, iOS, Web 에서 사용 가능한 에니메이션 라이브러리다. Adobe After E..
Fragment 를 사용하다 보면 종종 Context 나 Activity 가 필요할 때가 있다. Java 에서는 getContext(), getActivity() 를 써왔지만 Kotlin 에서는 null 을 return 할 수 있어 하단과 같이 많이 쓴다. 이번 포스팅에서 위와 같은 상황의 대안으로 Support Library 27.1.0 부터 제공하고 있는 requireContext(), requireActivity() 를 알아보자. requireContext, requireActivity 구현부 하단은 Fragment 에 있는 requireContext(), requireActivity() 함수의 구현부다. 막상 보면 별거 없다. context 나 activity 가 null 인 경우는 Illegal..
Android studio 를 최신버전(Arctic Fox) 으로 update 후 신규 프로젝트를 만들었는데 이상한 에러가 발생했다. 이번 포스팅에서는 해당 오류를 해결하는 방법에 대해 알아보자 Error message An exception occurred applying plugin request [id: 'com.android.application'] > Failed to apply plugin 'com.android.internal.application'. > Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8. You can try some of the following options: - changing..
이전 포스팅에서 알아봤던 Glide 는 ImageView 에 이미지를 로딩하기 참 쉽고, 예제도 많이 있다. 하지만 의외로 Glide 를 이용해 layout (RelativeLayout, LinearLayout ......) 에 background image 를 어떻게 설정하는지 질문을 많이 한다. 이번 포스팅에서는 Glide 를 이용하여 background image 를 설정하는 방법에 대해 알아보자. [Android] - 유용한 이미지 라이브러리 - Glide (1) [Android] - 유용한 이미지 라이브러리 - Glide (2) Precondition 하단은 이번 포스팅에서 사용할 background image layout 과 image file 이다. ◼ Image ◼ Layout Custom..
오랫동안 android extensions 를 쓰다가 view binding 을 쓰기위해 gradle 을 수정하니 이상한 에러가 발생했다. 이번 포스팅에서는 해당 오류를 해결하는 방법에 대해 알아보자 Error message A problem occurred evaluating root project 'PhDday'. > Could not find method buildFeatures() for arguments [build_ar2f13v9yojwzyqlj26tn9zw6$_run_closure3$_closure11@615a9a2b] on object of type com.android.build.gradle.internal.dsl.BaseAppModuleExtension. Cause 안드로이드 스튜디오 ..
Activity Result API 의 registerForActivityResult 사용 시 IllegalStateException 오류가 발생했다. 이번 포스팅에서는 해당 오류를 해결하는 방법에 대해 알아보자 [Android] - Activity Result API Error message java.lang.IllegalStateException: LifecycleOwner XXX is attempting to register while current state is RESUMED. LifecycleOwners must call register before they are STARTED. Solution 해당 IllegalStateException registerForActivityResult 를 전..
Activity 간 데이터를 주고받을 때 사용했던 startActivityForResult(), onActivityResult() 가 deprecated 되었다. 이번 포스팅에서는 deprecated 된 API 를 대신하여 도입된 registerForActivityResult() 에 대해 알아보자. startActivityForResult - onActivityResult 하단은 전통적인 startActivityForResult(), onActivityResult() 방식이다. 코드만 봐도 알겠지만, 이 방식은 여러 문제점들이 있다. ◼ Tight Coupling (강한 결합) 해당 code 와 logic 을 추상화 시키거나 다른 곳으로 분리 시킬 수 없는 구조이다. (delegate 정도는 가능하겠지만..
Kotlin 으로 compile 하던 중 JVM target 이 맞지 않는다며 오류가 발생했다. 이번 포스팅에서는 해당 오류를 해결하는 방법에 대해 알아보자 Error message Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target 1.6. Please specify proper '-jvm-target' option Solution 하단과 같이 gradle 에 jvmTarget 을 명시하거나 kotlin compiler 설정을 변경하여 해결 할 수 있다. ◼ Gralde 에 jvmTarget 명시하기 ◼ Kotlin compiler 설정하기
이번 포스팅에서는 Glide 의 placeholder, thumbnail, imagecaching 에 대해 알아보자. 참고로, 지난 포스팅에서는 Glide 의 loading, override, transforming 에 대해 알아 보았다. [Android] - 유용한 이미지 라이브러리 - Glide (1) PlaceHolder 요청받은 이미지가 나타나기 전까지 지정한 이미지를 보여준다. ◼ PlaceHolder 네트워크로 이미지를 요청하거나 큰 이미지를 요청하여 시간이 오래 걸릴 때 PlaceHolder 로 지정한 이미지를 보여준다. ◼ Error PlaceHolder 이미지 로드에 실패할 경우 PlaceHolder 로 지정한 이미지를 보여준다. ◼ Fallback PlaceHolder 요청된 URl o..
- Total
- Today
- Yesterday
- task
- Android Service
- bindservice
- 앱테크 추천
- StartService
- task 생성
- 안드로이드 인텐트
- onCreateContextMenu
- RoomDatabase
- 앱테크
- 안드로이드 서비스
- Intent
- 리워드앱
- onContextItemSelected
- BroadcastReceiver
- notifyDataSetChanged
- 리워드 어플
- registerForContextMenu
- WEMIX
- android task
- mPANDO
- 무료 채굴
- StringUtils
- android intent
- 채굴앱
- p2e
- M2E
- android activity flag
- android flag activity
- 무료채굴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |