jetpack jetpack Compose를 사용하는 Android 맞춤 대화상자 이 대화 상자를 만드는 동안 사용된 구성 — 버전 작성: 1.1.0-alpha06 코틀린 버전: 1.5.31 안드로이드 스튜디오 : 안드로이드 스튜디오 범블비 | 2021.1.1 패치 3 이 튜토리얼의 최종 출력 스크린샷은 아래 이미지와 같습니다. 이 사용자 지정 대화 상자를 빌드하는 동안 일부 재료 아이콘을 사용할 예정이므로 앱 수준 build.gradle 파일에 종속성을 아래에 배치해야 ... dialogandroidjetpackcompose LazyColumn을 사용한 시차 스크롤 Jetpack Compose를 사용하면 이 효과를 상당히 쉽게 구현할 수 있습니다. 이 예에서는 텍스트 항목이 있는 목록 위에 이미지가 있습니다. 이는 이미지 뒤에 LazyColumn이 있음을 의미할 수 있지만 API LazyColumn을 볼 때 항목 메서드를 호출하고 항목을 생성할 데이터가 포함된 목록을 제공할 수 없습니다. LazyColumn 범위에서 여러 항목 및 항목 메서드를 호출할 ... androidjetpackkotlincompose Jetpack Compose를 사용한 재료 및 맞춤 테마 Jetpack Compose를 사용하여 Material 및 Custom 테마를 보여주는 샘플 프로젝트입니다. 목표는 디자인이다 재사용 가능한 기능 모듈은 여러 앱에서 사용할 수 있으며 각 앱은 테마를 제공합니다. 해당 기능 모듈에 필요한 것입니다. 이 프로젝트에는 다음과 같은 모듈이 있습니다. :components - 재사용 가능한 UI 구성 요소를 포함합니다 :기능:등록 - 사용자 정의 가... androidjetpackkotlincompose LiveData를 StateFlow로 마이그레이션하지 않는 3가지 이유 주기적으로 서버에서 최신 데이터를 가져오거나 Room을 사용할 때 쿼리 결과의 실시간 업데이트를 받는 것과 같이 흐름을 사용하는 유효한 사용 사례가 있습니다. 이것은 작동하지만 제 생각에는 특별한 이유없이 추가 코드 줄을 추가했습니다. 흐름 없이 StateFlow 또는 SharedFlow를 생성할 수도 있습니다. 하지만 다시 말하지만, 여러 값을 순차적으로 내보내지 않는 경우 코드를 더 추가... androidkotlinjetpackcoroutines 새로운 Android 개발자는 Compose 또는 XML을 배워야 합니까? 새로운 개발자에게 Compose를 가르쳐야 할까요 아니면 XML을 가르쳐야 할까요? 제 생각에는 야심 찬 Android 개발자는 Compose를 배우기 시작해야 합니다. 1년 동안 백엔드 엔지니어로 일하다가 안드로이드 개발로 돌아오면 Compose로 복잡한 UI를 만들 수 있을지 궁금합니다. 개념 증명으로 실제 앱의 일반적인 요구 사항(계층화된 UI, 사용자 지정 동작, 여러 UI 섹션 등)... androidkotlinjetpackcomposejetpack Jetpack Compose를 사용한 Android 로그인 화면 [Part-1] 거의 모든 Android 애플리케이션에는 사용자를 인증하기 위해 로그인 또는 등록 프로세스가 있습니다. 이 기사에서는 jetpack Compose를 사용하여 Android 로그인 및 등록 화면 디자인을 디자인하는 방법을 시연합니다. 이것은 다양한 Android 구성 요소를 다루려고 시도하는 여러 게시물의 시리즈가 될 것입니다. 이 게시물을 공유하고 좋아요를 눌러 저를 격려해주세요. 이 스피너... logincomposeandroidjetpack Jetpack Compose를 사용한 Android 로그인 화면 [Part-2] 이 부분에서는 더 많은 화면을 추가하고 몇 가지 공통 구성 요소를 만들어 앱 전체에서 재사용할 것입니다. 이 스피너를 만드는 동안 사용된 구성 — , 작성 버전: 1.1.0-alpha06 코틀린 버전: 1.5.31 안드로이드 스튜디오 : 안드로이드 스튜디오 범블비 | 2021.1.1 패치 3 1단계: 먼저 공통 TopAppBar 구성 요소를 생성해 보겠습니다. 이 패키지 안에 componen... uxcomposeandroidjetpack [Android] viewLifeCycleOwner 프래그먼트에서 LiveData를 위해서 관찰자를 두거나, Flow를 위해 lifecycleScope가 필요할 때 viewLifeCycleOwner가 심심찮게 보이곤 합니다. 위 코드에서 viewLifecycleOwner를 지우고 실행시켜도 물론 잘 돌아갑니다. 그렇지만 왜 사용하는 것일까요? 1. 프래그먼트의 생명 주기 이 글을 읽는 모든 분들이 잘 아시겠지만, 프래그먼트의 생명주기는 onA... jetpackkotlin안드로이드android코틀린android Jetpack Paging3 - 1. 기본개념 알아보기 Paging은 데이터를 로딩할 때 한 번에 모든 데이터를 가져오는 것이 아니라 일정한 Chunk(덩어리) 단위로 나눠 가져오는 것을 의미합니다. 위처럼 Jetpack 에서 제공하는 Paging3 라이브러리는 데이터를 작은 Chunk 단위로 로드하여 표시할 수 있도록 제공합니다. 따라서, 데이터 전체가 아닌 일부를 요청에 따라 Request하게 되면 통신에 사용되는 네트워크 대역폭 뿐만 아니라... jetpackPaging3Paging3 Jetpack Paging3 - 3. PagingData 구성하기 지금부터는 Repository Layer에서 구현된 PagingSource 객체를 통해 반응형 Stream을 구성하기 위해 사용할 방법을 결정합니다. 이 방법은 Paging을 사용하지 않고 Network 통신에 따른 전체 데이터를 가져오는 방식입니다. 효과적으로 Paging을 사용하기 위해 Flow<RepoSearchResult>를 Flow<PagingData<Repo>>형태로 변경하게 됩니... jetpackPaging3Paging3 Jetpack Paging3 - 2. DataSource 정의하기 DataSource를 정의하기 위해 구현하는 PagingSource 클래스와 사용되는 메서드에 대해 알아봅니다. 데이터를 가져오는 위치 여기서 Key는 데이터를 로드하는데 사용되는 식별자 유형을 정의하며 Value는 데이터 자체의 유형입니다. 추가로 데이터를 가져오기 위한 API 인터페이스를 생성자로 제공하게 됩니다. load() 함수는 실제 데이터를 가져오는 로직을 구현하는 함수입니다. 간... jetpackPaging3Paging3 [안드로이드] Jetpack Compose 찍먹 해보기 - 4편: 텍스트를 꾸며보자 안녕하세요 이번에는 위 사진 처럼 텍스트 스타일링을 해볼거에요! 에 들어가셔서 원하시는 폰트를 다운받아주세요! 그 다음, res 폴더에 font 리소스 폴더를 만들고 다운 받은 font family를 넣어주세요. 붙여 넣으실때 네이밍 컨벤션을 준수하셔야 합니다. (소문자, - 대신 _ 사용) 다음, onCreate안에 다음과 같이 폰트를 정의해줍니다. 일단, 텍스트를 채워넣을 검은 배경의 B... compose코틀린jetpack안드로이드compose Jetpack DataStore 및 이를 구현하는 방법. DataStore는 데이터 저장 및 읽기를 위한 비동기 API(Flow를 통해)를 제공하지만 SharedPreferences는 데이터 읽기만을 위한 비동기 API를 제공합니다. DataStore는 Dispatchers.IO를 사용하기 때문에 UI 스레드에서 호출하는 것이 안전하지만 SharedPreferences는 UI 스레드를 차단합니다. 또한 DataStore에는 두 가지 다른 구현이 있... androiddatastorejetpackkotlin
jetpack Compose를 사용하는 Android 맞춤 대화상자 이 대화 상자를 만드는 동안 사용된 구성 — 버전 작성: 1.1.0-alpha06 코틀린 버전: 1.5.31 안드로이드 스튜디오 : 안드로이드 스튜디오 범블비 | 2021.1.1 패치 3 이 튜토리얼의 최종 출력 스크린샷은 아래 이미지와 같습니다. 이 사용자 지정 대화 상자를 빌드하는 동안 일부 재료 아이콘을 사용할 예정이므로 앱 수준 build.gradle 파일에 종속성을 아래에 배치해야 ... dialogandroidjetpackcompose LazyColumn을 사용한 시차 스크롤 Jetpack Compose를 사용하면 이 효과를 상당히 쉽게 구현할 수 있습니다. 이 예에서는 텍스트 항목이 있는 목록 위에 이미지가 있습니다. 이는 이미지 뒤에 LazyColumn이 있음을 의미할 수 있지만 API LazyColumn을 볼 때 항목 메서드를 호출하고 항목을 생성할 데이터가 포함된 목록을 제공할 수 없습니다. LazyColumn 범위에서 여러 항목 및 항목 메서드를 호출할 ... androidjetpackkotlincompose Jetpack Compose를 사용한 재료 및 맞춤 테마 Jetpack Compose를 사용하여 Material 및 Custom 테마를 보여주는 샘플 프로젝트입니다. 목표는 디자인이다 재사용 가능한 기능 모듈은 여러 앱에서 사용할 수 있으며 각 앱은 테마를 제공합니다. 해당 기능 모듈에 필요한 것입니다. 이 프로젝트에는 다음과 같은 모듈이 있습니다. :components - 재사용 가능한 UI 구성 요소를 포함합니다 :기능:등록 - 사용자 정의 가... androidjetpackkotlincompose LiveData를 StateFlow로 마이그레이션하지 않는 3가지 이유 주기적으로 서버에서 최신 데이터를 가져오거나 Room을 사용할 때 쿼리 결과의 실시간 업데이트를 받는 것과 같이 흐름을 사용하는 유효한 사용 사례가 있습니다. 이것은 작동하지만 제 생각에는 특별한 이유없이 추가 코드 줄을 추가했습니다. 흐름 없이 StateFlow 또는 SharedFlow를 생성할 수도 있습니다. 하지만 다시 말하지만, 여러 값을 순차적으로 내보내지 않는 경우 코드를 더 추가... androidkotlinjetpackcoroutines 새로운 Android 개발자는 Compose 또는 XML을 배워야 합니까? 새로운 개발자에게 Compose를 가르쳐야 할까요 아니면 XML을 가르쳐야 할까요? 제 생각에는 야심 찬 Android 개발자는 Compose를 배우기 시작해야 합니다. 1년 동안 백엔드 엔지니어로 일하다가 안드로이드 개발로 돌아오면 Compose로 복잡한 UI를 만들 수 있을지 궁금합니다. 개념 증명으로 실제 앱의 일반적인 요구 사항(계층화된 UI, 사용자 지정 동작, 여러 UI 섹션 등)... androidkotlinjetpackcomposejetpack Jetpack Compose를 사용한 Android 로그인 화면 [Part-1] 거의 모든 Android 애플리케이션에는 사용자를 인증하기 위해 로그인 또는 등록 프로세스가 있습니다. 이 기사에서는 jetpack Compose를 사용하여 Android 로그인 및 등록 화면 디자인을 디자인하는 방법을 시연합니다. 이것은 다양한 Android 구성 요소를 다루려고 시도하는 여러 게시물의 시리즈가 될 것입니다. 이 게시물을 공유하고 좋아요를 눌러 저를 격려해주세요. 이 스피너... logincomposeandroidjetpack Jetpack Compose를 사용한 Android 로그인 화면 [Part-2] 이 부분에서는 더 많은 화면을 추가하고 몇 가지 공통 구성 요소를 만들어 앱 전체에서 재사용할 것입니다. 이 스피너를 만드는 동안 사용된 구성 — , 작성 버전: 1.1.0-alpha06 코틀린 버전: 1.5.31 안드로이드 스튜디오 : 안드로이드 스튜디오 범블비 | 2021.1.1 패치 3 1단계: 먼저 공통 TopAppBar 구성 요소를 생성해 보겠습니다. 이 패키지 안에 componen... uxcomposeandroidjetpack [Android] viewLifeCycleOwner 프래그먼트에서 LiveData를 위해서 관찰자를 두거나, Flow를 위해 lifecycleScope가 필요할 때 viewLifeCycleOwner가 심심찮게 보이곤 합니다. 위 코드에서 viewLifecycleOwner를 지우고 실행시켜도 물론 잘 돌아갑니다. 그렇지만 왜 사용하는 것일까요? 1. 프래그먼트의 생명 주기 이 글을 읽는 모든 분들이 잘 아시겠지만, 프래그먼트의 생명주기는 onA... jetpackkotlin안드로이드android코틀린android Jetpack Paging3 - 1. 기본개념 알아보기 Paging은 데이터를 로딩할 때 한 번에 모든 데이터를 가져오는 것이 아니라 일정한 Chunk(덩어리) 단위로 나눠 가져오는 것을 의미합니다. 위처럼 Jetpack 에서 제공하는 Paging3 라이브러리는 데이터를 작은 Chunk 단위로 로드하여 표시할 수 있도록 제공합니다. 따라서, 데이터 전체가 아닌 일부를 요청에 따라 Request하게 되면 통신에 사용되는 네트워크 대역폭 뿐만 아니라... jetpackPaging3Paging3 Jetpack Paging3 - 3. PagingData 구성하기 지금부터는 Repository Layer에서 구현된 PagingSource 객체를 통해 반응형 Stream을 구성하기 위해 사용할 방법을 결정합니다. 이 방법은 Paging을 사용하지 않고 Network 통신에 따른 전체 데이터를 가져오는 방식입니다. 효과적으로 Paging을 사용하기 위해 Flow<RepoSearchResult>를 Flow<PagingData<Repo>>형태로 변경하게 됩니... jetpackPaging3Paging3 Jetpack Paging3 - 2. DataSource 정의하기 DataSource를 정의하기 위해 구현하는 PagingSource 클래스와 사용되는 메서드에 대해 알아봅니다. 데이터를 가져오는 위치 여기서 Key는 데이터를 로드하는데 사용되는 식별자 유형을 정의하며 Value는 데이터 자체의 유형입니다. 추가로 데이터를 가져오기 위한 API 인터페이스를 생성자로 제공하게 됩니다. load() 함수는 실제 데이터를 가져오는 로직을 구현하는 함수입니다. 간... jetpackPaging3Paging3 [안드로이드] Jetpack Compose 찍먹 해보기 - 4편: 텍스트를 꾸며보자 안녕하세요 이번에는 위 사진 처럼 텍스트 스타일링을 해볼거에요! 에 들어가셔서 원하시는 폰트를 다운받아주세요! 그 다음, res 폴더에 font 리소스 폴더를 만들고 다운 받은 font family를 넣어주세요. 붙여 넣으실때 네이밍 컨벤션을 준수하셔야 합니다. (소문자, - 대신 _ 사용) 다음, onCreate안에 다음과 같이 폰트를 정의해줍니다. 일단, 텍스트를 채워넣을 검은 배경의 B... compose코틀린jetpack안드로이드compose Jetpack DataStore 및 이를 구현하는 방법. DataStore는 데이터 저장 및 읽기를 위한 비동기 API(Flow를 통해)를 제공하지만 SharedPreferences는 데이터 읽기만을 위한 비동기 API를 제공합니다. DataStore는 Dispatchers.IO를 사용하기 때문에 UI 스레드에서 호출하는 것이 안전하지만 SharedPreferences는 UI 스레드를 차단합니다. 또한 DataStore에는 두 가지 다른 구현이 있... androiddatastorejetpackkotlin