전체 글(80)
-
AAC
AAC(Android Architecture Components)Jetpack이 2017년도에 발표한 라이브러리. LifeCycles생명주기 모니터링을 도움Lifecycle OwnerLifecycle Observer LiveData관찰자(activity, fragment)의 생명주기를 알고있는 간단한 observable보통 viewModel과 같이 사용됨observable 패턴을 구현하기위해 사용됨수명주기를 수동으로 처리하지 않아도 되고, 메모리 누수도 사라짐 ViewModel수명주기를 고려해 ui관련 데이터를 저장하고 관리하도록 설계됨. 보존 가능한 이유; activity → LifecycleObserver(), fragment → FragmentStateManager 로 view의 lifycycle을..
2023.07.26 -
알아두면 좋은 Kotlin extension
💡자주 사용하는 extension들을 모아봤다 showToast()fun Context.showToast(message: String) { Toast.makeText(this, message, Toast.LENGTH_SHORT).show() } hideKeyboard()fun View.hideKeyboard() { val inputMethodManager = context.getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManager inputMethodManager.hideSoftInputFromWindow(windowToken, 0) } loadUrl()fun WebView.loadUrl(url: String?) { if (!url.isN..
2023.07.26 -
Kotlin Unpacking params
현재 대부분의 옵저버에서 데이터를 아래와 같은 형식으로 받아오고있다. //class data class Person(val name:String,val age:Int) //instantiate val person = Person("ch8n", 25) //access val name = person.name val age = person.age 그러나 아래와 같은 형식으로 간략화가 가능해보인다.. //class data class Person(val name:String,val age:Int) //instantiate val developer = Person("Ch8n", 25) //access val (name,age) = developer etc//Data Class Destructuring val p..
2023.07.26 -
Kotlin <in, out, where>
in 키워드 들어오는 타입을 제한하는 genericinterface Consumer { fun consume(item: T) } class StringConsumer : Consumer { override fun consume(item: String) { println("Consuming string: $item") } } class AnyConsumer : Consumer { override fun consume(item: Any) { println("Consuming any type: $item") } } fun main() { val stringConsumer = StringConsumer() stringConsumer.consume("Hello") // prints "Consuming string..
2023.07.26 -
RxKotlin
Reactive Programming데이터의 흐름의 개념과 데이터의 변화를 강조하는 programming RxKotlinKotlin 용 Rx. 아래는 rxkotlin의 세 가지 구성요소.Observable : 데이터 또는 이벤트의 스트림. 관찰자가 사용할 항목 방출Observer : 위의 Observable이 내보낸 항목을 수신하고 처리함. 관찰자는 onNext, onError, onComplete와 같은 이벤트에 반응할 수 있음.Operator : 관찰 가능한 항목을 변환, 필터링, 결합하는데 사용할 수 있는 함수 설정 방법dependencies { implementation 'io.reactivex.rxjava2:rxkotlin:2.4.0' implementation 'io.reactivex.rxja..
2023.07.26 -
Android Macrobenchmark
💡해당 내용은 성능측정 및 개선을 위한 macrobenchmark를 사용하는 방법이다 Jetpack Macrobenchmark앱의 성능을 측정 및 벤치마킹 하기위한 라이브러리이다. Android Studio에서 직접 결과를 제공하고, 결과를 JSON 파일에 기록한다. 로컬 측정 및 CI의 성능 테스트에도 모두 적합하다 프로젝트에 benchmark추가→ 최소 arctic fox 2020.3.1이 필요함 모듈 새로 만들기 모듈 템플릿에서 벤치마크로 생성벤치마크 모듈 유형으로 macrobenchamark를 선택벤치마킹의 최소 sdk는 android6(API 레벨 23)이상이 필요함 마법사는 아래와 같은 작업을 수행함매크로벤치마크용 모듈을 생성함. com.android.testdebuggable 을 false로..
2023.07.26