https://github.com/nadazelda/androidKotlinStudy.git 노트북에서 가상머신 띄우기엔 너무 느려서;; 제 개인 핸드폰으로 실행하는데 firebase 연결이 안되고 있어요 git에 소스 올려뒀습니다 _ori가 강의자료고 mysololife 가 지금 제가 작성하는거에요
안녕하세요. event와 ui_event를 구분하셔서 다르게 구현하셨는데, 제가 이해한 것이 맞는지와 문제가 된 부분에 대한 의견이 궁금해서 문의 남깁니다. event와 ui_event를 구분하신게 state의 변경 유뮤가 맞을까요? state가 변경되어 화면의 재빌드가 필요한 경우 event state의 변경없이 화면의 재빌드가 필요한경우 ui_event 하나의 뷰(StatelessWidget)에서 event와 ui_event를 나눠서 처리하는 경우 event -> notification -> 화면 재빌드 중에 ui_event의 스트림 리스너가 재등록되는 이슈가 있는데요. 이런 경우 어떤식으로 처리를 하시나요? 아니면 제가 이해를 잘못한 부분이 있을까요?
Launching lib\main.dart on sdk gphone64 x86 64 in debug mode...Running Gradle task 'assembleDebug'...FAILURE: Build failed with an exception.* What went wrong:A problem was found with the configuration of task ':app:processDebugResources' (type 'LinkApplicationAndroidResourcesTask'). - In plugin 'com.android.internal.version-check' type 'com.android.build.gradle.internal.res.LinkApplicationAndroidResourcesTask' property 'androidJarInput.androidJar' specifies file 'C:\Users\82104\AppData\Local\Android\Sdk\platforms\android-34\android.jar' which doesn't exist. Reason: An input file was expected to be present but it doesn't exist. Possible solutions: 1. Make sure the file exists before the task is called. 2. Make sure that the task which produces the file is declared as an input. Please refer to https://docs.gradle.org/7.6.3/userguide/validation_problems.html#input_file_does_not_exist for more details about this problem.* 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.* Get more help at https://help.gradle.orgBUILD FAILED in 1m 38sError: Gradle task assembleDebug failed with exit code 1이런 오류가 떠요 에뮬레이터 실행하면 버튼 누르는 앱이 실행되어야 한다고 하는데 이렇게 뜨고 안돼요 어떻게 해야 하나요
코드가 되게 알록달록하고 보기 편합니다. 근데 제 코드는 알록달록하지 않고 그냥 하얀색에 간간히 파란색 주황색 핑크색만 박혀있네요 어떤 플러그인을 사용하시는 건가요? 그리고 이건 인터넷에 찾아보니까 버전 차이인 듯 싶긴 한데 코드 왼쪽에 사진처럼 어떻게 하나요? 저는 그냥 일자라서 ㅠ
안녕하세요 선생님 N번째 다시 복습하고 있는 수강생입니다. 저의경우, CircleAvator의 backgroundImage 속성에 ExtendedNetworkImageProvider 위젯을 사용하여 프로필 이미지를 받아와서 로딩하는데 시간이 대략 1.5초 쯤 소요되며, 그 1.5초의 시간 동안 기본 배경 색상인 보라색 원이 대신하여 나타납니다. 똑같이 ExtendedNetworkImageProvider 위젯을 사용하는 게시물의 이미지들은 프로필 사진보다 용량이 훨씬 큰데도 불구하고 거의 바로 이미지가 로딩되는데, 프로필 이미지의 로딩 속도가 더 느린 이유는 무엇일까요? 배경색상이 보이다가 네트워크 이미지가 로딩되는 방향 말고, 프로필 이미지의 로딩이 완전히 끝나기 전까지 fetching상태를 유지하여 로딩바를 보여주거나, 프로필이미지를 받아오는 속도를 높일 방법이 없을까요? 또는 이미지가 로딩되는 동안 배경색을 표시하는게 아니라, 로딩중을 표현할 수 있는 방법이 있을까요? 답변 기다리겠습니다. 감사합니다!
강의에서 저 두개 파일을 삭제하는데 저 두개파일을 삭제하면 photo.datr 에서 14줄_Photo랑 16줄_$PhotoFromJson에서 에러가 나고photo_widget.dart에서 19줄previewURL에서에러가 나고pixabay_api_test_dart에서 21번째 id에서 에러가 납니다dart run build_runner build를 하면 에러가 사라지긴 하는데Photo.fleezed.dart photo.g.dar 이 두파일이 다시 생성되는데 괜찮은건가요?
inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { fun bindItem(item : ContentModel) { val rv_img = itemView.findViewById<ImageView>(R.id.rvImageArea) val rv_text = itemView.findViewById<TextView>(R.id.rvTextArea) rv_text.text = item.titleText Glide.with(context).load(item.titleImageUrl).into(rv_img) } override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View? { var convertView = convertView if (convertView == null) { convertView = LayoutInflater.from(parent?.context).inflate(R.layout.listview_item, parent, false) } val date = convertView?.findViewById<TextView>(R.id.ListViewDateArea) val memo = convertView?.findViewById<TextView>(R.id.ListViewMemoArea) date!!.text = List[position].date memo!!.text = List[position].memo return convertView } 안녕하세요 개발자님. 개발자님 좋은 강의 덕분에 많이 배우고, 강의 완강했습니다. 감사합니다. 공부 하면서 매번 궁금한 점이 있어서 질문 남깁니다. 첫번째 코드는 리사이클러뷰 어뎁터 코드이고, 두번째 코드는 리스트뷰 어뎁터 코드입니다. 리사이클러뷰 어뎁터에서는 itemView, 리스트뷰에서는 convertView를 사용하셨는데, 단순히 리사이클러뷰-itmeView 사용, 리스트뷰-converView 사용이라고 생각하면 될까요? 혹시 차이가 있다면 itmeView와 converView의 차이점도 알고싶습니다. 감사합니다.
하나는 "NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null" 이런 에러인거 같은데....대체 어디서 잘못된걸까요. 에러가 여러개 인건가요? FAILURE: Build completed with 2 failures. 1: Task failed with an exception. ----------- * What went wrong: Execution failed for task ':app:checkDebugAarMetadata'. > A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction > 5 issues were found when checking AAR metadata: * Try: > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. * Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:checkDebugAarMetadata'. Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction Caused by: java.lang.RuntimeException: 5 issues were found when checking AAR metadata: 1. Dependency 'androidx.appcompat:appcompat-resources:1.7.0' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :app is currently compiled against android-33. Also, the maximum recommended compile SDK version for Android Gradle plugin 8.0.0 is 33. Recommended action: Update this project's version of the Android Gradle plugin to one that supports 34, then update this project to use compileSdk of at least 34. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). 2. Dependency 'androidx.appcompat:appcompat:1.7.0' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :app is currently compiled against android-33. Also, the maximum recommended compile SDK version for Android Gradle plugin 8.0.0 is 33. Recommended action: Update this project's version of the Android Gradle plugin to one that supports 34, then update this project to use compileSdk of at least 34. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). 3. Dependency 'androidx.core:core-ktx:1.13.0' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :app is currently compiled against android-33. Also, the maximum recommended compile SDK version for Android Gradle plugin 8.0.0 is 33. Recommended action: Update this project's version of the Android Gradle plugin to one that supports 34, then update this project to use compileSdk of at least 34. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). 4. Dependency 'androidx.core:core:1.13.0' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :app is currently compiled against android-33. Also, the maximum recommended compile SDK version for Android Gradle plugin 8.0.0 is 33. Recommended action: Update this project's version of the Android Gradle plugin to one that supports 34, then update this project to use compileSdk of at least 34. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). 5. Dependency 'androidx.annotation:annotation-experimental:1.4.0' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. :app is currently compiled against android-33. Also, the maximum recommended compile SDK version for Android Gradle plugin 8.0.0 is 33. Recommended action: Update this project's version of the Android Gradle plugin to one that supports 34, then update this project to use compileSdk of at least 34. Note that updating a library or application's compileSdk (which allows newer APIs to be used) can be done separately from updating targetSdk (which opts the app in to new runtime behavior) and minSdk (which determines which devices the app can be installed on). ============================================================================== 2: Task failed with an exception. ----------- * What went wrong: Execution failed for task ':app:mergeExtDexDebug'. > Could not resolve all files for configuration ':app:debugRuntimeClasspath'. > Failed to transform appcompat-resources-1.7.0.aar (androidx.appcompat:appcompat-resources:1.7.0) to match attributes {artifactType=android-dex, asm-transformed-variant=NONE, dexing-enable-desugaring=true, dexing-enable-jacoco-instrumentation=false, dexing-is-debuggable=true, dexing-min-sdk=24, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}. > Execution failed for DexingNoClasspathTransform: C:\Users\abc14\.gradle\caches\transforms-3\c494794d48d9429ce3837ff3d9162578\transformed\appcompat-resources-1.7.0-runtime.jar. > Error while dexing. > Failed to transform appcompat-1.7.0.aar (androidx.appcompat:appcompat:1.7.0) to match attributes {artifactType=android-dex, asm-transformed-variant=NONE, dexing-enable-desugaring=true, dexing-enable-jacoco-instrumentation=false, dexing-is-debuggable=true, dexing-min-sdk=24, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}. > Execution failed for DexingNoClasspathTransform: C:\Users\abc14\.gradle\caches\transforms-3\d251d80cfc588f74172158875c7b2196\transformed\appcompat-1.7.0-runtime.jar. > Error while dexing. * Try: > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. * Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:mergeExtDexDebug'. Caused by: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null Caused by: java.util.concurrent.ExecutionException: com.android.tools.r8.utils.P0: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null Caused by: [CIRCULAR REFERENCE: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null] Cause 2: org.gradle.api.internal.artifacts.transform.TransformException: Failed to transform appcompat-1.7.0.aar (androidx.appcompat:appcompat:1.7.0) to match attributes {artifactType=android-dex, asm-transformed-variant=NONE, dexing-enable-desugaring=true, dexing-enable-jacoco-instrumentation=false, dexing-is-debuggable=true, dexing-min-sdk=24, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}. Caused by: org.gradle.api.internal.artifacts.transform.TransformException: Execution failed for DexingNoClasspathTransform: C:\Users\abc14\.gradle\caches\transforms-3\d251d80cfc588f74172158875c7b2196\transformed\appcompat-1.7.0-runtime.jar. Caused by: com.android.builder.dexing.DexArchiveBuilderException: Error while dexing. at com.android.builder.dexing.D8DexArchiveBuilder.getExceptionToRethrow(D8DexArchiveBuilder.java:189) Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: C:\Users\abc14\.gradle\caches\transforms-3\d251d80cfc588f74172158875c7b2196\transformed\appcompat-1.7.0-runtime.jar:androidx/appcompat/app/ActionBarDrawerToggle$1.class Caused by: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null Suppressed: java.lang.RuntimeException: java.util.concurrent.ExecutionException: com.android.tools.r8.utils.P0: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null Caused by: java.util.concurrent.ExecutionException: com.android.tools.r8.utils.P0: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null Caused by: com.android.tools.r8.utils.P0: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null Caused by: [CIRCULAR REFERENCE: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null]