본문 바로가기

프로그래밍/Android131

[Android] Fragment에서 뒤로가기 Android App을 개발하다 보면 화면을 구성할 때 하나의 액티비티에 다수의 프래그먼트를 사용해서 구성하는 경우가 많습니다. 그러나 안드로이드의 Fragment에는 Activity의 onBackPressed()와 같은 콜백 메소드가 없기 때문에 별도의 리스너를 만들어 액티비티에서 back press 이벤트가 발생했을 시 해당 프래그먼트에서 구현한 콜백 함수를 호출하는 형식으로 구현해주는 방법 등 야매스러운(?) 방법들을 사용했어야만 했습니다. 하지만 이 방식은 프래그먼트의 생명주기를 잘 관리하면서 사용해야 한다는 단점이 있었습니다. 그렇다면 정녕 방법이 없는 걸까요? 아닙니다. 다행스럽게도 Androidx 패키지에서 이에 대한 대책이 나왔습니다. 바로 OnBackPressedDispatcher() 입.. 2023. 1. 15.
[Android] isNullOrBlank, isNullOrEmpty의 차이점 fun main() { val thisIsBlank = " " println(thisIsBlank.isNullOrEmpty()) println(thisIsBlank.isNullOrBlank()) } 출력결과 false true 아무것도 없는 단순 공백은 isNullOrBlank가 true를 반환하고, isNullOrEmpty는 false를 반환한다. 출처 : https://stackoverflow.com/questions/60979747/kotlin-what-is-difference-between-isnullorempty-and-isnullorblank kotlin : what is difference between isNullOrEmpty and isNullOrBlank? I want check val.. 2023. 1. 10.
[Android] 여러버전으로 빌드 (projectFlavors) Flavor을 이용한 1개의 소스로 여러가지 버전의 앱 만들기 projectFlavors 를 사용하면 기능은 같지만 이름만 다르게 한 앱, 무료/유료 버전의 앱을 구분, SDK 버전에 따른 앱이라던지 하나의 소스로 여러 버전의 앱을 만들 수 있습니다. 먼저 build.gradle(app) 파일에 flavor 설정이 필요합니다. productFlavors {} 블록에 원하는 설정을 구성합니다. defaultConfig 는 ProductFlavor 클래스에 속해 있으므로 모든 defaultConfig {} 블록 안의 기본 구성을 사용할 수 있습니다. 예) productFlavors {} 블록 내부에 versionCode를 명시하지 않아도 defaultConfig {} 블록의 versionCode를 사용함. .. 2023. 1. 6.
[Android] 앱 빌드후 자동으로 실행되지 않을때 해결법 AVD 옆의 app을 클릭하면 Edit Configurations를 클릭하면 Run/Debug Configuration 창이 열릴것이다. 필자는 Run/Debug Configurations - Launch Options - Launch를 Default Activity로 수정해서 해결했다. 2023. 1. 5.