본문 바로가기

Android24

[Android] Framework의 core에 리소스를 추가했으나 불러오지 못하는 현상 SystemUI의 GlobalActionsDialogLite 작업 중 core의 res에 drawable과 string을 추가했으나, 해당 리소스를 불러오지 못하고 빌드 에러가 발생하는 현상을 발견했다. SystemUI는 기본적으로 core의 리소스를 불러와 사용하기 때문에,import com.android.internal.R;packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialogLite.java - platform/frameworks/base - Git at Googlestring과 drawable을 core 쪽에 추가해 구현했다. 분명 이전 버전 작업(Android 9 ~ 12)과 동일하게 작업했음에도 불구하고, 계속 .. 2024. 6. 24.
[Android] Coroutine을 이용해 AsyncTask 만들어 보기 [Android] Coroutine을 이용해 AsyncTask 만들어 보기 AsyncTask가 deprecated 되었지만 AsyncTask의 기능은 여전히 필요하다. 때문에 Coroutine을 이용해 AsyncTask와 똑같이 동작하는 CoroutineTask라는 클래스를 만들어 보았다. CoroutineTask는 추상 클래스로 생성하고 제네릭 타입으로 T1, T2를 받아 함수들을 처리한다. abstract class CoroutineTask { private var argument: T1? = null private var result: T2? = null } AsyncTask의 함수와 동일한 함수를 추상 함수로 선언했다. abstract class CoroutineTask { ... protecte.. 2024. 3. 20.
[Android] 앱이 종료되더라도 작업을 진행해야 하는 경우, WorkManager, BroadcastReceiver, ForegroundService 사용 후기 이번 게시물에서 DB에 데이터 저장과 같은 앱이 종료되더라도 작업을 보장해야 하는 경우가 있는데, 이 작업을 위해 각 각 WorkManager, BroadcastReceiver, ForegroundService를 구현해 보고 어떤 결과가 있는지 확인해보려 한다. 내가 해볼 것: 메시지 앱의 메시지 리스트 화면으로 이동 첨부 또는 메시지를 입력 Overview(Recent) 버튼 클릭 스와이프로 앱 종료 앱을 다시 실행 결과 확인: 임시보관함에 데이터가 잘 저장됐는지 얼마나 걸리는지 확인 WorkManager, BroadcastReceiver, ForegroundService를 1부터 5까지 경로를 진행해 보고 결과를 확인해 볼 예정이다. WorkManager를 이용하기 먼저 WorkManager를 이용해.. 2023. 12. 14.
[Android] https://jitpack.io import 하기 시작 GitHub의 라이브러리 중에 https://jitpack.io을 import 해줘야 추가되는 라이브러리들이 있다. (예를 들면 Android-SpinKit) 그런데 문제는 AndroidStudio 버전이 올라가면서 세팅해 주는 부분이 변경되어 헤매다 이 게시물을 정리하게 됐다. 예전 버전은 build.gradle: Project에 아래처럼 코드를 추가해 줬으면 됐다. allprojects { repositories { google() jcenter() maven { url "" } } } Android Studio Dolphin 버전에서 위에서 한 것처럼 내가 쓰고 있는 버전에서 정의 하면 라이브러리를 가져오지 못한다. 따라서 settings.gradle 에 아래처럼 정의 해줘야 한다. depen.. 2023. 12. 11.