RipAgu's Devlog
close
프로필 배경
프로필 로고

RipAgu's Devlog

  • 분류 전체보기 (95)
    • Python (3)
    • flutter (3)
    • 대외활동 (1)
    • 알고리즘 (78)
    • Android (5)
  • 홈
  • 태그
  • 방명록

[Compose] viewmodel을 다른 Screen에서 공유하기

같은 로직을 공유하는 화면에서는 종종 동일한 viewmodel 인스턴스를 공유해야 하는 일이 생긴다.compose를 사용하지 않던 기존 viewmodel에서는 ActivityViewModel을 사용하여 Fragment간 Viewmodel을 공유했으나 compose로 바뀌면서 화면단위가 Screen으로 변경되어 방법이 달라졌다. 결론적으로 NavBackStackEntry를 사용한다.NavBackStackEntry는 네비게이션 백스택의 각 항목을 나타내며, 각 항목에 ViewModelStore가 포함되어 있다. 따라서 특정 화면의 viewModel을 가져오고 싶다면 NavBackStackEntry를 사용하여 해당 화면에 viewModel 인스턴스에 접근하면 된다. 방법은 다음과 같다. 먼저 NavHost에서..

  • format_list_bulleted Android
  • · 2024. 5. 19.
  • textsms

[Compose] Splash Screen 및 초기 데이터 로딩

Compose로 개발 중 Splash Screen을 사용할 일이 생겼다. 적용을 하기위해 두가지 필요성이 있었는데 다음과 같다.1. 최신 안드로이드 기기에서 사용2. Splash Screen은 데이터 로딩 후 종료되어야함 먼저 스플래쉬 스크린을 사용하기 위해 build.gradle에 추가한다.implementation 'androidx.core:core-splashscreen:1.0.1' 이제 splash screen의 기본적인 설정을 적용해줄 테마를 만든다.해당 테마로 스플래쉬 스크린의 배경, 아이콘등을 설정할 수 있다. 이제 적용을 위해 manifest를 수정하였다. applicaton단과 activity단의 them..

  • format_list_bulleted Android
  • · 2024. 5. 17.
  • textsms
[Kotlin오류] NavController오류 (does not have a NavController set on 2131230920) 해결법

[Kotlin오류] NavController오류 (does not have a NavController set on 2131230920) 해결법

Kotlin으로 NavContoller를 연결 중 다음과 같은 오류를 발견하였다.발생 이유는 기존에 xml에서 사용하던 Fragment태그를 fragmentContainerView로 변경했기 때문이다.기능은 거의 같지만 Navcontroller를 연결하는 코드가 변경되었기 때문에 해당 오류가 발생하였다. 따라서 다음과 같은 코드 수정으로 해결하였다. 전val navController = findNavController(R.id.fragmentContainerView) 후val navController = supportFragmentManager.findFragmentById(R.id.fragmentContainerView)?.findNavController() as NavHostController 해당코..

  • format_list_bulleted Android
  • · 2023. 6. 17.
  • textsms
[Kotlin 오류] unknown kotlin jvm target: 20 원인과 해결법

[Kotlin 오류] unknown kotlin jvm target: 20 원인과 해결법

Android Studio로 새로운 프로젝트를 빌드하던 중unknown kotlin jvm target: 20 이란 오류가 발생하였다.오류의 원인은 Gradle과 Kotlin이 아직 해당 버전의 JDK를 지원하지 않기 때문에 발생합니다. 즉, JDK 20은 현재 Gradle 8.1과 Kotlin 1.8.20에 대해 너무 새로운 버전입니다.라고 하는데.. 결국 JDK20이 너무 상위 버전이라 생긴 문제였다.Kotlin 버전 1.9.0-Beta버전에서는 해결 되었다고 하는데 2023년 7월에 정식 릴리즈가 된다하니 현재로서는 해결방안이 될 수 없다. 결론적으로 jvmTarget버전과 compile 버전을 낮추는 것이 해결방법이다.방법은 다음과 같다. build.gradle(Module :app)파일에 들어가..

  • format_list_bulleted Android
  • · 2023. 5. 29.
  • textsms
[kotlin] 갤러리에서 이미지 가져오기

[kotlin] 갤러리에서 이미지 가져오기

Kotlin을 이용한 앱개발 중 프로필사진을 설정하기 위한 갤러리 이미지 접근이 필요했다. 12345678910111213141516171819imageResult = registerForActivityResult( //oncreate에서만 정의가능 -> 모듈화 불가능            ActivityResultContracts.StartActivityForResult()        ){            result ->            if(result.resultCode == RESULT_OK){ // 이미지를 선택하면..                progressOff()                //uri형태로 받아온 데이터 저장                val imageUri = ..

  • format_list_bulleted Android
  • · 2022. 11. 10.
  • textsms
  • navigate_before
  • 1
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (95)
    • Python (3)
    • flutter (3)
    • 대외활동 (1)
    • 알고리즘 (78)
    • Android (5)
최근 글
인기 글
최근 댓글
태그
  • #14940
  • #dart
  • #Unkown kotlin jvm target
  • #소마14기 합격
  • #백준
  • #error
  • #Kotlin
  • #python
  • #소마 면접후기
  • #flutter
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바