김누누
close
프로필 배경
프로필 로고

김누누

  • 분류 전체보기 (252)
    • Deep Dive (49)
      • Kotlin Coroutine (18)
      • Kotlin Flow (6)
      • Test Code (12)
      • Android Jetpack Compose (9)
      • Flutter (4)
    • [Android] Architecture (14)
      • Architecture Pattern (5)
      • [Android] Multi Module (3)
      • [Android] DI (4)
    • [Kotlin] Tech,Study (18)
    • [Android] Tech,Study (65)
      • [Android] Trouble Shoot (20)
      • [Android] Custom (9)
    • Algorithm (13)
    • Computer Science (29)
      • 독서 (8)
      • 프로그래밍 (14)
      • 운영체제 (4)
      • 자료구조 (1)
      • 네트워크 (1)
    • GitHub (1)
    • Python,Django,DRF (13)
    • IOS,Swift (10)
    • 회고 (7)
  • 깃허브
  • 글쓰기
  • 설정
[Android] Resource Provider

[Android] Resource Provider

💡안드로이드에서 리소스를 쉽게 관리하기 위해 사용하는 Resource Provider에 대하여 기록하였습니다. Resource ProviderResource Provider는 안드로이드에서 리소스를 더 쉽게 관리하고 테스트 가능성을 높이기 위해 사용하는 패턴입니다.XML리소스(문자열, 색상, 배열 등)와 같은 리소스를 코드 내에서 주입하고 ViewModel이나 다른 클래스에서 사용하면서도 리소스에 직접 접근하지 않도록 만들어줍니다.ViewModel이나 Repository에서는 Context에 직접 접근하는 것이 권장되지 않습니다. Resource Provider 패턴을 사용하여 리소스에 대한 접근을 인터페이스로 추상화할 수 있습니다.Resource Provider의 역할Context에 대한 의존성을 줄..

  • format_list_bulleted [Android] Tech,Study
  • · 2024. 9. 10.
  • textsms
[Android] UI Event with SingleLiveData

[Android] UI Event with SingleLiveData

💡구성 변경 시 한 번의 데이터 변화를 관찰하기 위한 UI Event 활용법에 대하여 기록하였습니다. EventLiveData와 같은 Observable 타입을 활용하면 변경 사항을 구독하여 데이터를 지속적으로 노출하고 관찰할 수 있습니다.하지만 스낵바, 토스트, navigation 전환 등의 일회성 이벤트는 한 번의 데이터 변화만을 필요로 합니다.이 때 여러 번 노출되지 않도록 별도의 Event wrapper class를 활용하거나 SingleLiveData 타입 등을 활용할 수 있습니다.안드로이드에서 활용할 수 있는 방안은 SingleLiveData와 Event 패턴을 사용할 수 있습니다. LiveData를 이러한 환경에 활용할 경우 활성화될 때마다 데이터를 다시 전달하게 되며, 비효율적인 리소스를..

  • format_list_bulleted [Android] Tech,Study
  • · 2024. 9. 10.
  • textsms
[Android] LiveData

[Android] LiveData

💡Android Jetpack 구성요소인 LiveData에 대하여 기록하였습니다. LiveDataLiveData는 안드로이드 아키텍처 컴포넌트 중 하나로, 관찰 가능한 데이터 홀더 클래스입니다.UI와 데이터의 변경 사항을 반영하고, Observer에게 자동으로 알려줍니다.일반 클래스와 달리 생명 주기를 인식하여 Activity, Fragment, Service 등 다른 앱 구성요소의 생명 주기를 인식합니다.LiveData 개요  |  Android Developers LiveData 개요  |  Android DevelopersLiveData를 사용하여 수명 주기를 인식하는 방식으로 데이터를 처리합니다.developer.android.com생명주기 인식LiveData는 Activity, Fragment..

  • format_list_bulleted [Android] Tech,Study
  • · 2024. 9. 8.
  • textsms
[Android] ViewModel

[Android] ViewModel

💡AAC의 ViewModel에 대하여 학습한 내용을 기록하였습니다. ViewModelViewModel은 안드로이드 아키텍처 컴포넌트(AAC)의 일부로 UI 관련 데이터를 저장하고 관리하는 역할을 합니다.화면 회전 같은 구성 변경이 발생해도 데이터를 유지할 수 있으며, 사용자에게 지속적으로 일관된 데이터를 보여줄 때 유용합니다.ViewModel 개요  |  Android Developers ViewModel 개요  |  Android DevelopersViewModel을 사용하면 수명 주기를 인식하는 방식으로 UI 데이터를 관리할 수 있습니다.developer.android.com 특징Activity나 Fragment 생명주기와 독립적으로 데이터를 유지하기 위해 사용할 수 있습니다.UI 데이터와 비즈니스..

  • format_list_bulleted [Android] Tech,Study
  • · 2024. 9. 7.
  • textsms

[Android, Room] Room Database 스터디 기록 (2)

Room Database 스터디 기록 (1) https://jinudmjournal.tistory.com/129 [Android, Room] Room Database 스터디 기록 (1) https://developer.android.com/training/data-storage/room?hl=ko#components Room을 사용하여 로컬 데이터베이스에 데이터 저장 | Android 개발자 | Android Developers Room 라이브러리를 사용하여 더 쉽게 데이터를 유지하는 jinudmjournal.tistory.com Type Converter 커스텀한 데이터 객체를 저장해야 할 경우, Convertes 클래스를 만들어야 하는 경우가 있다. 예를 들어서 특정 Timestamp와 Date 객체..

  • format_list_bulleted [Android] Tech,Study
  • · 2023. 9. 10.
  • textsms
[Compose] Preview에 Viewmodel 연결하기

[Compose] Preview에 Viewmodel 연결하기

Jetpack Compose로 개발 중에 Preview에 Viewmdodel을 적용하는 코드를 작성한다. @Preview(showBackground = true) @Composable fun DefaultPreview2() { MyFoodDiaryBookAOSTheme { MainUi(todayViewModel = TodayViewModel()) } } Main화면을 담당하는 MainUi 적용 시, 위와 같이 뷰 모델을 적용해야 했다. 하지만 ComponentActivity 내부에서 viewmodel을 선언해서 사용해야하는데, MainUi 함수의 경우 따로 뷰 모델을 선언할 수 있는 코드를 작성할 수 없다. 따라서 적용하려 하는 뷰 모델의 껍데기 역할을 담당하는 FakeViewModel을 만들어서 Pre..

  • format_list_bulleted Deep Dive/Android Jetpack Compose
  • · 2023. 7. 26.
  • textsms
  • navigate_before
  • 1
  • 2
  • navigate_next
전체 카테고리
  • 분류 전체보기 (252)
    • Deep Dive (49)
      • Kotlin Coroutine (18)
      • Kotlin Flow (6)
      • Test Code (12)
      • Android Jetpack Compose (9)
      • Flutter (4)
    • [Android] Architecture (14)
      • Architecture Pattern (5)
      • [Android] Multi Module (3)
      • [Android] DI (4)
    • [Kotlin] Tech,Study (18)
    • [Android] Tech,Study (65)
      • [Android] Trouble Shoot (20)
      • [Android] Custom (9)
    • Algorithm (13)
    • Computer Science (29)
      • 독서 (8)
      • 프로그래밍 (14)
      • 운영체제 (4)
      • 자료구조 (1)
      • 네트워크 (1)
    • GitHub (1)
    • Python,Django,DRF (13)
    • IOS,Swift (10)
    • 회고 (7)
전체 방문자
오늘
어제
전체
태그
  • #Android
  • #코루틴
  • #ViewModel
  • #compose
  • #안드로이드
  • #kotlin
  • #알고리즘
  • #코틀린
  • #우테코
  • #Coroutine
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바