Jetpack Compose Navigation 정리

 Navigation 구성요소 Navigation은 크게 3가지 구성요소로 이뤄진다. NavController: 대상(즉, 앱의 화면) 간 이동을 담당한다.  NavGraph: 이동할 컴포저블 대상을 매핑을 담당 NavHost: NavGraph의 현재 대상을 표시하는 컨테이너 역할을 하는 컴포저블 NavController NavController는 Navigation 구성요소의 중심 API로, 스테이트풀(Stateful)이며 앱의 화면과 각 화면 상태를 구성하는 컴포저블의 백 스택을 추적한다. 컴포즈 환경에서 NavController는 rememberNavController()를 이용하여 가져올 수 있다. val navController = rememberNavController() rememberNavController()를 호출하여 NavContoller 인스턴스를 생성할 때 유의해야 할 점은 상태호이스팅에 유의해야 한다. 컴포저블 계층 구조에서 NavController를 만드는 위치는 이를 참조해야 하는 모든 컴포저블이 액세스할 수 있는 곳이어야 한다. 이러한 구조가 상태 호이스팅의 원칙을 준수하는 것이다.   NavGraph NavGraph는 ID로 가져올 수 있는 NavDestination 노드의 집합이다. NavGraph는 '가상' 대상 역할을 합니다. NavGraph 자체는 백 스택에 나타나지 않지만 NavGraph로 이동하면 시작 대상이 백 스택에 추가된다. 새로운 NavGraph는 대상을 추가하고 시작 경로을 설정할 때까지 유효하지 않다. 대상을 추가하는 방법은 NavGraphBuilder.composable() 함수를 이용한다. 자세한 내용은 아래에서 설명한다. NavHost NavHost는 자체 포함된 탐색이 발생할 수 있도록 Compose 계층 구조에 제공한다. 지정된 NavGraphBuilder 내의 모든 컴포저블을 제공된 navController에서 탐색할 수 있다. 즉 각 NavController를 단일 NavHost

Jetpack Compose 기초정리

 Jetpack Compose 기초는 다음의 링크에서 확인 가능 https://developer.android.com/codelabs/jetpack-compose-basics?hl=ko *최근 진행중인 개인 프로젝트는 다음의 구조로 진행 MVVM 디자인 패턴(통신 Retrofit) + DI(Dagger Hilt) + Compose 프로젝트를 위해 접해보지 못했던 Compose를 먼저 이해해 보기로 함. *Compose 정리 **Compose로 Layout을 어떻게 구성하는지 공부 1) 기본적으로 사용되는 레이아웃은 3가지가 있습니다. Column , Row, Box (단순한 컨테이너로, Compose의 레이아웃을 구성하는데 사용) - 수직 Column - 수평 Row - 중첩 Box 2) 수정자 (Modifier.함수()로 사용 ) - **Modifiers는 순서가 매우 중요함 - Composable의 크기, 레이아웃, 동작 및 모양 변경 - 접근성 라벨과 같은 정보 추가 - 사용자 입력 처리 - UI요소를 클릭 가능, 스크롤 가능, 드래그 가능 또는 확대/축소 가능하게 만드는 것과 같은 높은 수준의 상호작용 추가 Column(modifier = Modifier     .padding(24.dp)     .fillMaxWidth()   ) {     Text(text = "Hello,")     Text(text = name)   } (1) 지정한 크기가 레이아웃의 상위 요소를 무시하고 Composable의 크기를 고정해야 하는 경우 requiredSize 수정자를 사용     Box(Modifier.size(90.dp, 150.dp).background(Color.Green)) {         Box(Modifier.requiredSize(100.dp, 100.dp).background(Color.Red))     }     - 가장 하위에 있는  Box가 상위 Box 90.dp 크기를 무시하고 100.dp로 설정      (2) 레이아웃

ABC 알파벳 개인정보처리방침

  개인정보처리방침 ABC 알파벳 어플리케이션은 개인정보보호법에 따라 이용자들의 개인정보 보호 및 권익을 보호하고자 다음과 같은 처리방침을 두고 있습니다. 해당 앱은 아동들이 처음 알파벳을 배울때 발음을 교정하기 위한 앱이며, 어떠한 개인정보도 취급하지 않습니다. 개인정보처리방침을 개정하는 경우 해당 페이지를 통하여 공지할 것입니다. 개인정보의 처리 목적 본 어플리케이션은 개인정보를 수집하지 않는 독립 실행형 어플리케이션으로 별도의 서버를 운영하거나 정보를 수집하지 않습니다. 당사에서 개인정보를 별도로 저장하거나 이용하지 않습니다. 개인정보 파일 현황 당사는 별도의 개인정보 파일을 사용하지 않으며 저장하지 않습니다. 개인정보의 처리 및 보유기간 당사는 개인정보를 직접적으로 저장하거나 보유하지 않습니다. 개인정보처리 위탁 당사는 개인정보를 위탁하고 있지 않습니다. 개인정보의 파기 당사의 어플리케이은 독립 실행 방식의 어플리케이션으로 별도의 서버를 사용하지 않고 있습니다. 또한 개인정보를 저장하지 않으므로 파기할 것이 없습니다. 그러나 사용자가 원할 경우 어플리케이션을 '삭제'함으로서 모든 데이터를 파기할 수 있습니다. 앱 권한 * 앱을 사용하기위한 어떠한 권한도 필요하지 않습니다. 개인정보  보호책임자 작성 이메일 : sunguy119@gmail.com

CleanArchitecture 링크 모음

  https://github.com/DroidKaigi/conference-app-2020 https://github.com/bufferapp/android-clean-architecture-boilerplate https://github.com/skydoves/DisneyMotions https://github.com/skydoves/MarvelHeroes https://github.com/odaridavid/Clean-MVVM-ArchComponents- https://github.com/android10/Android-CleanArchitecture-Kotlin https://github.com/BrianSpace/Android-App-Architecture-MVVM-Databinding https://github.com/igorwojda/android-showcase https://github.com/arifnadeem7/mvvmcoroutinesandflow https://github.com/sanogueralorenzo/Android-Kotlin-Clean-Architecture   sanogueralorenzo/Android-Kotlin-Clean-Architecture Android Sample Clean Architecture App written in Kotlin - sanogueralorenzo/Android-Kotlin-Clean-Architecture github.com   arifnadeem7/mvvmcoroutinesandflow An application which demonstrates usage of Kotlin coroutines and Flow with Android's MVVM architecture. - arifnadeem7/mvvmcoroutinesandflow github.com   igorwojda/android-showcase 💎 Android application following best practi

플래쉬라이트 어플리케이션 개인정보처리방침

  개인정보처리방침 플래쉬라이트 어플리케이션은 개인정보보호법에 따라 이용자들의 개인정보 보호 및 권익을 보호하고자 다음과 같은 처리방침을 두고 있습니다. 당사는 개인정보처리방침을 개정하는 경우 앱 화면 및 웹사이트 공지사항을 통하여 공지할 것입니다. 개인정보의 처리 목적 본 어플리케이션은 개인정보를 수집하지 않는 독립 실행형 어플리케이션으로 별도의 서버를 운영하거나 정보를 수집하지 않습니다. 당사에서 개인정보를 별도로 저장하거나 이용하지 않습니다. 당사는 안드로이드 서비스 기능을 이용하기 위한 기능과 광고서비스 등에서 특정 개인과 직접적인 관련이 없는, 개인식별이 불가능한 정보를 수집할 수 있습니다. Google AdMob Firebase Analytics Firebase Crashlytic 개인정보 파일 현황 당사는 별도의 개인정보 파일을 사용하지 않으며 저장하지도 않습니다. 당사는 쿠키를 저장하지 않으며 이용하지 않습니다. 단, 스토어 서비스가 이용하는 정보 및 광고서비스가 이용하는 정보는 해당 서비스의 SDK를 거쳐 이용하게 됩니다. 이는 당사에 저장되는 정보가 아닙니다. 이용자가 이에 대해 의문이 있다면 해당 서비스(구글 및, 각 광고 미디어)로 직접 연락해야 합니다. 개인정보의 처리 및 보유기간 당사는 개인정보를 직접적으로 저장하거나 보유하지 않습니다. 당사의 어플리케이션은 모두 해당 미디어서비스(구글 ,광고미디어)의 SDK를 통해 간접적으로 이용합니다. 따라서 당사는 이용자의 개인정보를 처리하는 내용도 보유기간도 없습니다. 개인정보의 제3자 제공에 관한 사항 당사는 개인정보를 제3자에게 제공하지 않고 있습니다. 개인정보처리 위탁 당사는 개인정보를 위탁하고 있지않습니다. 정보주체의 권리, 의무 및 그 행사방법 이용자는 개인정보주체로서 권리 행사할 수 있습니다. 개인정보 열람요구 오류 등이 있을 경우 정정 요구 삭제요구 처리 정지 요구 당사는 개인정보를 저장하거나 위탁하지 않습니다. 개인정보의 파기 당사의 어플리케이은 독립 실행 방식의 어플리케이션으로

쉐이크손전등 어플리케이션 개인정보처리방침

  개인정보처리방침 쉐이크손전등 어플리케이션은 개인정보보호법에 따라 이용자들의 개인정보 보호 및 권익을 보호하고자 다음과 같은 처리방침을 두고 있습니다. 당사는 개인정보처리방침을 개정하는 경우 앱 화면 및 웹사이트 공지사항을 통하여 공지할 것입니다. 개인정보의 처리 목적 본 어플리케이션은 개인정보를 수집하지 않는 독립 실행형 어플리케이션으로 별도의 서버를 운영하거나 정보를 수집하지 않습니다. 당사에서 개인정보를 별도로 저장하거나 이용하지 않습니다. 당사는 안드로이드 서비스 기능을 이용하기 위한 기능과 광고서비스 등에서 특정 개인과 직접적인 관련이 없는, 개인식별이 불가능한 정보를 수집할 수 있습니다. Google AdMob 개인정보 파일 현황 당사는 별도의 개인정보 파일을 사용하지 않으며 저장하지도 않습니다. 당사는 쿠키를 저장하지 않으며 이용하지 않습니다. 단, 스토어 서비스가 이용하는 정보 및 광고서비스가 이용하는 정보는 해당 서비스의 SDK를 거쳐 이용하게 됩니다. 이는 당사에 저장되는 정보가 아닙니다. 이용자가 이에 대해 의문이 있다면 해당 서비스(구글 및, 각 광고 미디어)로 직접 연락해야 합니다. 개인정보의 처리 및 보유기간 당사는 개인정보를 직접적으로 저장하거나 보유하지 않습니다. 당사의 어플리케이션은 모두 해당 미디어서비스(구글 ,광고미디어)의 SDK를 통해 간접적으로 이용합니다. 따라서 당사는 이용자의 개인정보를 처리하는 내용도 보유기간도 없습니다. 개인정보의 제3자 제공에 관한 사항 당사는 개인정보를 제3자에게 제공하지 않고 있습니다. 개인정보처리 위탁 당사는 개인정보를 위탁하고 있지않습니다. 정보주체의 권리, 의무 및 그 행사방법 이용자는 개인정보주체로서 권리 행사할 수 있습니다. 개인정보 열람요구 오류 등이 있을 경우 정정 요구 삭제요구 처리 정지 요구 당사는 개인정보를 저장하거나 위탁하지 않습니다. 개인정보의 파기 당사의 어플리케이은 독립 실행 방식의 어플리케이션으로 별도의 서버를 사용하지 않고있습니다. 또한 개인정보를 저장하지 않으므로

나침반 플래쉬 어플리케이션 개인정보처리방침

  개인정보처리방침 나침반 플래쉬 어플리케이션은 개인정보보호법에 따라 이용자들의 개인정보 보호 및 권익을 보호하고자 다음과 같은 처리방침을 두고 있습니다. 당사는 개인정보처리방침을 개정하는 경우 앱 화면 및 웹사이트 공지사항을 통하여 공지할 것입니다. 개인정보의 처리 목적 본 어플리케이션은 개인정보를 수집하지 않는 독립 실행형 어플리케이션으로 별도의 서버를 운영하거나 정보를 수집하지 않습니다. 당사에서 개인정보를 별도로 저장하거나 이용하지 않습니다. 당사는 안드로이드 서비스 기능을 이용하기 위한 기능과 광고서비스 등에서 특정 개인과 직접적인 관련이 없는, 개인식별이 불가능한 정보를 수집할 수 있습니다. Google AdMob Firebase Analytics Firebase Crashlytic 개인정보 파일 현황 당사는 별도의 개인정보 파일을 사용하지 않으며 저장하지도 않습니다. 당사는 쿠키를 저장하지 않으며 이용하지 않습니다. 단, 스토어 서비스가 이용하는 정보 및 광고서비스가 이용하는 정보는 해당 서비스의 SDK를 거쳐 이용하게 됩니다. 이는 당사에 저장되는 정보가 아닙니다. 이용자가 이에 대해 의문이 있다면 해당 서비스(구글 및 각 광고 미디어)로 직접 연락해야 합니다. 개인정보의 처리 및 보유기간 당사는 개인정보를 직접적으로 저장하거나 보유하지 않습니다. 당사의 어플리케이션은 모두 해당 미디어서비스(구글, 광고미디어)의 SDK를 통해 간접적으로 이용합니다. 따라서 당사는 이용자의 개인정보를 처리하는 내용도 보유기간도 없습니다. 개인정보의 제3자 제공에 관한 사항 당사는 개인정보를 제3자에게 제공하지 않고 있습니다. 개인정보처리 위탁 당사는 개인정보를 위탁하고 있지않습니다. 정보주체의 권리, 의무 및 그 행사방법 이용자는 개인정보주체로서 권리 행사할 수 있습니다. 개인정보 열람요구 오류 등이 있을 경우 정정 요구 삭제요구 처리 정지 요구 당사는 개인정보를 저장하거나 위탁하지 않습니다. 개인정보의 파기 당사의 어플리케이은 독립 실행 방식의 어플리케이션으로