안드로이드24 registerForActivityResult 사용 방법과 startActivityForResult가 Deprecated된 이유 registerForActivityResult 사용과 startActivityForResult가 Deprecated된 이유 startActivityForResult가 Deprecated된 이유를 확인한다 registerForActivityResult을 사용해서 Activity를 열고 닫을 때 callback을 받는다 registerForActivityResult을 사용해서 갤러리를 열고 그림 파일을 받아온다 HTML 삽입 미리보기할 수 없는 소스 startActivityForResult가 Deprecated된 이유 기존에는 Activity나 Fragment 내부에 startActivityForResult를 정의했다 그 결과 새롭게 연 Activity에서 메모리를 많이 사용할 경우 이전에 열려있던 Acti.. 2023. 1. 7. 리사이클러뷰의 생명주기 분석 및 메모릭의 원인 리사이클러뷰의 라이프 사이클 (화면에 보여지기까지의 순서) onAttachedToRecyclerView - 리사이클러뷰를 화면에 붙임 onCreateViewHolder - 홀더를 생성 onBindViewHolder - 홀더와 뷰를 바인딩 onViewAttachedToWindow - 홀더가 화면에 온전히 보여짐 onViewDetachedFromWindow - 홀더가 화면에 보여지지 않음 onViewRecycled - 재사용할 홀더 가져오기 onDetachedFromRecyclerView - 리사이클러뷰를 화면에서 떼냄 HTML 삽입 미리보기할 수 없는 소스 작성한 RecyclerView의 코드 TestAdapter.kt class TestAdapter: RecyclerView.Adapter() { priv.. 2023. 1. 5. Navigation을 사용한 화면 이동 시 라이프사이클 변화 Jetpack의 Navigation을 사용하여 화면 이동을 했을 때 Activity, Fragment가 정확히 어떤 타이밍에 어떻게 lifecycle이 순환하는지 확인한다 HTML 삽입 미리보기할 수 없는 소스 필요한 종속 항목 선언 https://developer.android.com/jetpack/androidx/releases/lifecycle#kotlin def lifecycle_version = "2.6.0-alpha01" def arch_version = "2.1.0" // ViewModel implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" // ViewModel utilities for Compose .. 2022. 12. 24. 안드로이드(Kotlin)를 SOLID로 설계하기 SOLID 설계란 무엇인가? S : Single Responsibility Principle (SRP) = 단일 책임 원칙 O : Open/Closed Principle (OCP) L : Liskov Substitution Principle (LSP) = 리스코프 치환 원칙 I : Interface Segregation Principle (ISP) = 인터페이스 분리 원칙 D : Dependency Inversion Principle (DIP) = 의존성 반전 원칙 SOLID 설계를 통해 이하기 쉽고 변경하기 쉬운 코드를 만들 수 있습니다. 하지만 반드시 모든 앱을 만들 때 SOLID 설계를 적용할 필요는 없으며 자신의 프로젝트에 적절하게 사용하면된다. HTML 삽입 미리보기할 수 없는 소스 S - 단일.. 2022. 12. 19. 이전 1 ··· 3 4 5 6 다음