Android(38)
-
[Compose navigation Bug] java.lang.ArrayIndexOutOfBoundsException: length=13; index=13
이슈 내용 : NavGraphBuilder.composable 이 13개 이상일 경우 발생하는 이슈 java.lang.ArrayIndexOutOfBoundsException: length=13; index=13 at androidx.collection.SparseArrayCompat.valueAt(SparseArrayCompat.java:379) at androidx.navigation.NavController.setGraph(NavController.kt:948) at androidx.navigation.NavController.setGraph(NavController.kt:95) at androidx.navigation.compose.NavHostKt.NavHost(NavHost.kt:112) at ..
2021.12.21 -
[Android/안드로이드] detect a URL in a String / String 에서 URL 찾아내기
autolink 라이브러리도 사용해보고 이것 저것 시도를 해보다 http(s)://, www 모두다 없을 경우 url 로 인식하지 못하는 이슈가 있어 찾고 찾다 Linkify 란 text util 을 찾게 되었다 1. String 에 url 이 있는지 확인 /** * String 에 url 이 포함되어 있는지 확인하는 메소드 * @return true > 링크 포함 , false > 링크 미포함 */ fun String.isContainUrl(): Boolean { val spannableString = SpannableString.valueOf(this) return LinkifyCompat.addLinks(spannableString, Linkify.WEB_URLS) } 2. (1.) 에서 true ..
2020.11.30 -
[Android/안드로이드] region/endregion 으로 코드블럭 접기 (code folding in Android]
아주 소소하지만 알아두면 좋은 팁 // region ... // endregion ... 주석을 사용하여 원하는 코드블럭 접기 사용이 가능하다 사용방법 1. 주석 처리 (endRegion 뒤에는 생략 가능) // region onBackPressed() override fun onBackPressed() { super.onBackPressed() } // endregion onBackPressed() 2. 코드 블럭 접었을때 onBackPressed() 끝!!!
2020.08.04 -
[Kotlin/코틀린] Scope Functions / 기본 제공 함수 정리 let(), with(), apply(), run(), also()
1. let() 함수 - let() 함수는 블록에 자기 자신을 인수로 전달하고 수행된 결과를 반환 - 인수로 전달한 객체는 it으로 참조 - let()함수는 ?. (안전한 호출 연산자) 와 함께 사용하면 null 값이 아닐 때만 실행하는 코드로 사용할 수 있다 - 사용 : null 이 아닌 경우에 코드를 실행해야 하는 경우 // fun T.let(block: (T) -> R) : R val result = str?.let{ Integer.parseInt(it) } 2. with() 함수 - with() 함수는 인수로 객체를 받고 블록에 리시버 객체로 전달하며 수행된 결과를 반환 - 리시버 객체로 전달된 객체는 this로 접근 (this는 생략 가능) - 안전한 호출이 불가능 하므로 인수가 null이 아닌..
2020.06.11 -
[Firebase PUSH] Android 앱에서 background(백그라운드), foreground(포그라운드) 메시지 수신 정리
Firebase 알림의 동작은 수신하는 앱의 포그라운드/백그라운드 상태에 따라 달라집니다. 따라서 각각 어떻게 처리해야 하는지 정리해보겠습니다. 수신되는 메시지 유형 1. 알림 메시지 - 종종 '표시 메시지'로 간주됩니다. FCM SDK에서 자동으로 처리합니다. - 알림 메시지에는 사용자에게 표시되는 키 모음이 사전 정의되어 있습니다 - 백그라운드의 경우 notification.title, notification.body 가 기기 작업 표시줄에 나타나며, 탭 했을 경우 앱 런처가 열립니다. { "message":{ "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...", "notification":{ "title":"Portugal vs. Denmark", "..
2020.06.11 -
[Android Stuido/안드로이드 스튜디오] AVD(Android Virtual Devices)에 Z플립(Galaxy z flip) 추가하기
Z플립 대응을 위해 안드로이드 스튜디오 AVD(Android Virtual Devices)에 Z플립을 추가하는 방법을 포스팅하겠습니다~! 1. 삼성 개발자 사이트에 들어간다 https://developer.samsung.com/galaxy-emulator-skin/overview.html 상단 탭 Build> Modlie 화면 하단에 Emulator Skin을 클릭한다 2. 원하는 device의 [DOWNLOAD SKIN] 버튼 클릭하여 스킨을 다운로드한다 3. 다운로드한 스킨 패키지를 Android/sdk/skins 에 옮긴다 4. 안드로이드 스튜디오에서 [AVD Manager] > [+ Create Virtual Device...] > [New hardware Profile] 버튼 클릭하여 디바이스를..
2020.06.09