월 15,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결모던 안드로이드 - Jetpack Compose 입문
뷰 모델에 관련하여 질문합니다!
안녕하세요~ 오준석 선생님 강의는 잘 듣고 클론하면서 공부하고 있습니다. 지금 현재 저희가 하고 있는 앱 클론들은 매우 간단한 예제들인데, viewModel을 사용해서 상태관리를 하시던데, 특별히, viewModel을 사용해서 상태관리하시는 이유가 있으신가요?
- 미해결모던 안드로이드 - Jetpack Compose 입문
안녕하세요 음원 링크가 어디 있는지 모르겠습니다
실로폰 예제 작성 중 음원 파일 링크에 관하여 언급하시는데 도저히 못 찾겠습니다 혹시 알려주실 수 있을까요?
- 미해결모던 안드로이드 - Jetpack Compose 입문
Todo List 01 - UI와 로직 연결 7분 13초 즈음
Todo List 01 - UI와 로직 연결 7분 13초 즈음 실행 화면과 그 다음 실행 화면이 달라지면서 할일이 많이 생성이 되어있는데요.. 강의의 흐름이 끊기는 것 같습니다. 이전 완성된 버전을 띄운 것인지... 물론 처음부터 다 타이핑하겠지만, 혹시나 알아두어야 할 부분이 있다면 말씀해주시면 좋겠습니다. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 미해결모던 안드로이드 - Jetpack Compose 입문
왜 update 내부에서 코루틴으로 launch 하면 버그가 발생하나요?
03나만의웹브라우저 왜 update 내부에서 코루틴으로 launch 하면 버그가 발생하나요? 초기에 웹뷰에서 빈 공백으로 검색한 후 뒤로가기 두번 하는 경우 뒤로 더이상 갈 수 없다는 스낵바가 계속 뜨는 버그인데 컴포지션이 일어날 때 update 를 하면.. 새로운 url 이 오면 실행되고.. flow 의 collectaLatest 를 통해서 뒤로가기가 canGoBack 이 아닐 때 collectLatest 로 한번만 받아오면 똑같이 한번 떠야하는게 아닌가요? 왜 무한 반복으로 뜨는지 버그에 대한 자세한 설명이 부족한것 같습니다 ㅠㅠ scope.launch { viewModel.undoSharedFlow.collectLatest { if (webView.canGoBack()) { webView.goBack() } else { scaffoldState.snackbarHostState.showSnackbar("더 이상 뒤로 갈 수 없음") } }}scope.launch { viewModel.redoSharedFlow.collectLatest { if (webView.canGoForward()) { webView.goForward() } else { scaffoldState.snackbarHostState.showSnackbar("더 이상 앞으로 갈 수 없음") } } }
- 미해결모던 안드로이드 - Jetpack Compose 입문
Composeable 추가하실 때 자동완성
Composable 추가하실 때 필수 파라미터가 자동완성으로 들어가는데 혹시 어떻게 설정해야 할까요..? 입력이 빨라서.. 일시정지해놓고 코딩해야하네요
- 미해결모던 안드로이드 - Jetpack Compose 입문
TodoList project 빌드에러가 발생하는데 확인 부탁드리겠습니다!
https://github.com/junsuk5/android-compose/tree/master/examples/TodoList 위 프로젝트 빌드에러가 발생하네요.. Execution failed for task ':app:kaptDebugKotlin'. > A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction > java.lang.reflect.InvocationTargetException (no error message) * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
- 미해결모던 안드로이드 - Jetpack Compose 입문
개인공부중에 화면구현 관련해서 질문드려봅니다..
기존 리액트 네이티브 개발하다가 컴포즈 한번 해보고있는데, 기존 리액트네이티브로 만들어둔 qr체크인 로직을 컴포즈로 구현해보던와중에 리액트 로직의 경우 테블릿에 연결되어있는 바코드 스캐너를 통해 qr코드 스캔시 hidden + focus 처리된 textArea에 값을 입력받고 그걸 state에 저장하고, effect를 통해 처리했는데 compose의 경우에도 똑같이 qr스캔시 textfield를 가지고 처리하려고 했더니 lunchEffect에 focusRequester를 통해 오토포커스를 줄시 자동으로 가상키보드가 열립니다. textField의 히든처리를 어떻게해야될까요?
- 미해결모던 안드로이드 - Jetpack Compose 입문
build.gradle 문의
오류만 발생하는데 설정에 문제가 있는 것인가요? java.util.concurrent.ExecutionException: org.gradle.api.GradleException: Failed to create Jar file C:\Users\dckim\.gradle\caches\jars-9\f63efd716e824b816dbd0b68fbcfe113\gradle-api-impldep-6.8.jar. > org.gradle.api.GradleException: Failed to create Jar file C:\Users\dckim\.gradle\caches\jars-9\f63efd716e824b816dbd0b68fbcfe113\gradle-api-impldep-6.8.jar. java11로 변경해도 증상은 바뀌지 않네요. plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' } android { compileSdk 31 defaultConfig { applicationId "kr.co.nicednr.examcomposeui" minSdk 21 targetSdk 31 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { useSupportLibrary true } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion compose_version kotlinCompilerVersion '1.5.21' } packagingOptions { resources { excludes += '/META-INF/{AL2.0,LGPL2.1}' } } } dependencies { implementation 'androidx.core:core-ktx:1.7.0' implementation "androidx.compose.ui:ui:$compose_version" implementation "androidx.compose.material:material:$compose_version" implementation "androidx.compose.ui:ui-tooling-preview:$compose_version" implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1' implementation 'androidx.activity:activity-compose:1.3.1' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version" debugImplementation "androidx.compose.ui:ui-tooling:$compose_version" // ViewModel implementation 'androidx.lifecycle:lifecycle-viewmodel-compose:2.4.0-rc01' }
- 미해결모던 안드로이드 - Jetpack Compose 입문
Preview 질문입니다!!
안녕하세요! 질문드립니다! @Preview(showBackground = true)@Composablefun DefaultPreview() { HomeScreen(navController) } 위와 같이 Preview에서 HomeScreen을 확인하고자 할 때,navController라는 인자값이 필요합니다.이 navController는 MainActivity 객체의 onCreate 함수에서 정의한 local 변수인데 어떻게 Preview를 확인할 수 있을까요??
- 미해결모던 안드로이드 - Jetpack Compose 입문
viewModel() 질문입니다.
강의 잘 듣고 있습니다. @Composablefun HomeScreen(viewModel: StateViewModel = viewModel()) { Column() { Text("Hello World!") Button(onClick = {}) { Text(" 클릭 ") } }}class StateViewModel: ViewModel() { private val _value = mutableStateOf("Hello World!") val value: State<String> = _value} 위와 같이 구성하였는데, viewModel()에Expression 'viewModel' of type 'StateViewModel' cannot be invoked as a function. The function 'invoke()' is not found이런 에러가 생기는데 이유를 모르겠네요 ㅠㅠ
- 미해결모던 안드로이드 - Jetpack Compose 입문
ImageCard를 만들 때 질문입니다!!
강의 잘 듣고 있습니다!ImageCard에 인자를 추가하여 ImageCard( modifier = Modifier .fillMaxWidth(0.5f) .padding(16.dp), isFavorite = isFavorite, ) { favorite -> isFavorite = favorite} 위와 같이 작성했는데, ImageCard는 3개의 인자를 가지고 마지막 인자는 onTabFavorite으로 callback 함수입니다!왜 마지막 인자로 넣지 않고 밖으로 빼서 {} 중괄호를 사용한 것인지 궁금합니다!
- 미해결모던 안드로이드 - Jetpack Compose 입문
OnLifecycleEvent가 Deprecated 되었습니다
영상에서 LifecycleObserver을 구현하고 있는데 현재 어노테이션을 사용하는 것이 비활성화 되어서 어떻게 진행하면 좋을지 궁금합니다. DefaultLifecycleObserver을 구현해서 사용하는 것이 차선책일까요?