본문 바로가기

안드로이드20

안드로이드 현재 액티비티 Stack 확인하기 앱 디버깅을 할 때 한번씩 현재 열고 있는 액티비티들의 Stack을 확인해야할 때가 있습니다. 그럴 때는 다음과 같은 방법으로 현재 앱에서 갖고 있는 Activity의 Stack을 확인할 수 있습니다. 현재 Activity의 Stack 확인하기 Activity나 Fragment에 있는 context를 사용해서 다음과 같이 정의하면 현재 액티비티의 스택을 확인할 수 있습니다. import android.app.ActivityManager import androidx.core.content.getSystemService val activityManager = checkNotNull(requireContext().getSystemService()) // shortClassName을 사용해서 해당 액티비티의 클.. 2023. 12. 27.
안드로이드 앱 파일 만들기(APK) Android에서는 인증서를 사용해 디지털 방식으로 서명된 APK만 기기에 설치하거나 업데이트할 수 있습니다. Android App Bundle을 사용하여 출시하는 경우 업로드 키로 App Bundle에 서명한 후 Play Console에 업로드해야 합니다. 안드로이드와 구글 플레이스토어에선 다음과 같은 과정으로 키를 사용합니다. 안드로이드 스튜디오에선 Upload Key라는 것을 생성하여 앱 파일을 만들어야 합니다 업로드 키 생성 앱을 만들 때 업로드 키가 아직 없다면 다음과 같이 Android 스튜디오를 사용하여 생성할 수 있습니다. 메뉴 바에서 Build > Generate Signed Bundle/APK를 클릭합니다. Generate Signed Bundle or APK 대화상자에서 Android.. 2023. 4. 26.
MVVM에서 viewModel 이벤트를 받을 수 있는 방법-3 MVVM에서 viewModel 이벤트를 받을 수 있는 방법 SharedFlow, Sealed class로 이벤트 처리하기 SharedFlow & Sealed class & LifeCycle로 이벤트 처리하기 EventFlow & Sealed class Lifecyle로 이벤트 처리하기 이전 블로그에서는 아래의 내용에 대해 알아봤습니다. LiveData만 사용해서 이벤트 처리하기 LivieData에 EventFlow를 래핑해서 처리하기 SingleLiveData로 이벤트 처리하기 StateFlow, SharedFlow로 이벤트 처리하기 MVVM에서 viewModel 이벤트를 받을 수 있는 방법-1 MVVM에서 viewModel 이벤트를 받을 수 있는 방법 LiveData만 사용해서 이벤트 처리하기 Livi.. 2023. 4. 1.
코틀린에서 abstract 클래스는 무엇이고 어떻게 사용할까? 코틀린에서 abstract 키워드는 다음과 같은 특성을 갖습니다. 추상 클래스는 일반적인 클래스와는 달리 객체를 직접 생성할 수 없습니다. 추상 메서드는 구현이 없이 선언만 되어 있습니다. 그렇기 때문에 abstract는 다음과 같은 상황에서 주로 사용합니다. 추상 클래스나 추상 메서드를 정의할 때 사용됩니다. 추상 클래스 및 메서드 정의 예시 추상 클래스 및 메서드는 다음과 같이 상속을 통해서만 사용할 수 있습니다. // 추상 클래스 선언 abstract class Shape { // 추상 메소드 선언 abstract fun draw() } // Shape 클래스를 상속받는 하위 클래스 class Circle : Shape() { override fun draw() { println("원을 그립니다.".. 2023. 3. 30.