묻고 답해요
140만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결모던 안드로이드 - Jetpack Compose 입문
Navigation수업에서 string대신 bitmap을 인자로 넘겨주는 방법?
네비게이션 수업도중 궁금한 점이 있어서 질문드립니다.ThirdScreen으로 Bitmap데이터를 인자로 넘기고 싶습니다. 어떻게 해야 할지 모르겠습니다.예를들어, 카메라 캡쳐해서 다음 스크린으로 캡쳐한 사진을 보내서 이미지를 보여주고 싶을 때, 어떻게 해야 하나요?
-
해결됨Flutter로 SNS 앱 만들기
7게시글목록화면_게시글정보가져오기
7게시글목록화면_게시글정보가져오기 에서 15:13 쯤에 Instance of feedmodel이라고 출력이 되어야 하는데 안보이고 있어요. 출력이 안돼고 있는데 한번 봐주세요. 데이타도 출력이 안돼고 있습니다.멜 보냅니다.
-
미해결Flutter 중급 1편 - 클린 아키텍처
Photo.fleezed.dart,photo.g.dart삭제시 에러
강의에서 저 두개 파일을 삭제하는데 저 두개파일을 삭제하면 photo.datr 에서 14줄_Photo랑 16줄_$PhotoFromJson에서 에러가 나고photo_widget.dart에서 19줄previewURL에서에러가 나고pixabay_api_test_dart에서 21번째 id에서 에러가 납니다dart run build_runner build를 하면 에러가 사라지긴 하는데Photo.fleezed.dartphoto.g.dar 이 두파일이 다시 생성되는데 괜찮은건가요?
-
미해결파이어베이스(Firebase)를 이용한 웹+안드로이드 메모 어플리케이션 만들기
섹션 1의 6:20초 초기화
뭘 눌러야 하나요?
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
itmeView, converView 가 궁금합니다.
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의 차이점도 알고싶습니다. 감사합니다.
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
D-Day 앱 만들기에서 에러가 나옵니다ㅠㅠ
하나는 "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 thatdepend on it to compile against version 34 or later of theAndroid APIs.:app is currently compiled against android-33.Also, the maximum recommended compile SDK version for Android Gradleplugin 8.0.0 is 33.Recommended action: Update this project's version of the Android Gradleplugin to one that supports 34, then update this project to usecompileSdk of at least 34.Note that updating a library or application's compileSdk (whichallows newer APIs to be used) can be done separately from updatingtargetSdk (which opts the app in to new runtime behavior) andminSdk (which determines which devices the app can be installedon).2. Dependency 'androidx.appcompat:appcompat:1.7.0' requires libraries and applications thatdepend on it to compile against version 34 or later of theAndroid APIs.:app is currently compiled against android-33.Also, the maximum recommended compile SDK version for Android Gradleplugin 8.0.0 is 33.Recommended action: Update this project's version of the Android Gradleplugin to one that supports 34, then update this project to usecompileSdk of at least 34.Note that updating a library or application's compileSdk (whichallows newer APIs to be used) can be done separately from updatingtargetSdk (which opts the app in to new runtime behavior) andminSdk (which determines which devices the app can be installedon).3. Dependency 'androidx.core:core-ktx:1.13.0' requires libraries and applications thatdepend on it to compile against version 34 or later of theAndroid APIs.:app is currently compiled against android-33.Also, the maximum recommended compile SDK version for Android Gradleplugin 8.0.0 is 33.Recommended action: Update this project's version of the Android Gradleplugin to one that supports 34, then update this project to usecompileSdk of at least 34.Note that updating a library or application's compileSdk (whichallows newer APIs to be used) can be done separately from updatingtargetSdk (which opts the app in to new runtime behavior) andminSdk (which determines which devices the app can be installedon).4. Dependency 'androidx.core:core:1.13.0' requires libraries and applications thatdepend on it to compile against version 34 or later of theAndroid APIs.:app is currently compiled against android-33.Also, the maximum recommended compile SDK version for Android Gradleplugin 8.0.0 is 33.Recommended action: Update this project's version of the Android Gradleplugin to one that supports 34, then update this project to usecompileSdk of at least 34.Note that updating a library or application's compileSdk (whichallows newer APIs to be used) can be done separately from updatingtargetSdk (which opts the app in to new runtime behavior) andminSdk (which determines which devices the app can be installedon).5. Dependency 'androidx.annotation:annotation-experimental:1.4.0' requires libraries and applications thatdepend on it to compile against version 34 or later of theAndroid APIs.:app is currently compiled against android-33.Also, the maximum recommended compile SDK version for Android Gradleplugin 8.0.0 is 33.Recommended action: Update this project's version of the Android Gradleplugin to one that supports 34, then update this project to usecompileSdk of at least 34.Note that updating a library or application's compileSdk (whichallows newer APIs to be used) can be done separately from updatingtargetSdk (which opts the app in to new runtime behavior) andminSdk (which determines which devices the app can be installedon). ==============================================================================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 nullCaused by: java.util.concurrent.ExecutionException: com.android.tools.r8.utils.P0: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is nullCaused 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.classCaused by: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is nullSuppressed: java.lang.RuntimeException: java.util.concurrent.ExecutionException: com.android.tools.r8.utils.P0: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is nullCaused by: java.util.concurrent.ExecutionException: com.android.tools.r8.utils.P0: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is nullCaused by: com.android.tools.r8.utils.P0: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is nullCaused by: [CIRCULAR REFERENCE: java.lang.NullPointerException: Cannot invoke "String.length()" because "<parameter1>" is null]
-
해결됨Flutter로 메신저앱 만들기
vscode로 코딩하기.
vscode로 프로젝트를 진행해보고 싶은데, vscode에서는 어떻게 해야 가상기기를 통해 코드를 실행할 수 있을까요?
-
미해결Flutter 중급 2편 - 실전 앱 개발 - 미국 주식 앱 (with 클린 아키텍처)
강의에 있는 모든 freezed를 제거해도 되나요?
freezed가 여러 군데 사용되었는데 모두 제거해도 되나요?
-
해결됨Flutter로 SNS 앱 만들기
6게시글등록화면_9등록완료메시지 표시 등록완료후 화면이동에서 에러가 발생
6게시글등록화면_9등록완료메시지 표시 등록완료후 화면이동에서 에러가 발생했습니다.//스냅바표시 (등록작업이 완료 되었다는 메세지를 표시) ScaffoldMessenger.of(context).showSnackBar( SnackBar(content: Text('Feed를 등록했습니다')), );어떤이유인지 설명부탁드려요.,feed을 등록했습니다. 표시가 되지 않습니다. 멜도 보냈습니다.
-
해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
baseContext가 궁금합니다.
rvAdapter.itemClick = object : RVAdapter.ItemClick{ override fun onClick(view: View, position: Int) { val intent = Intent(baseContext, ViewActivity::class.java) intent.putExtra("url", items[position].url) intent.putExtra("title", items[position].titleText) intent.putExtra("titleImageUrl", items[position].titleImageUrl) startActivity(intent) } }안녕하세요 개복치개발자님. 항상 강사님의 좋은 강의 감사한 마음으로 잘 듣고 있습니다. 섹션 7 망고플레이트 앱 만들기를 공부하다가 궁금한 부분이 있어서 질문 남깁니다.val intent = Intent(baseContext, ViewActivity::class.java)이 부분에서 baseContext가 의미가하는게 무엇인지, 그리고 여기서 this를 사용하면 안되고 baseContext를 사용해야 하는 까닭이 궁금합니다.답변 주시면 감사하겠습니다.
-
해결됨머신러닝 모델을 활용한 Android, iOS 앱 개발
공지
강좌 운영이나 강의 내용에 관해 궁금한 점이 있으면 자유롭게 나누어주세요.교수자, 수강생 누구나 글쓰기와 댓글 쓰기가 가능합니다.
-
해결됨Flutter로 SNS 앱 만들기
firebase에서 이게 무슨말인지 모르겠네요
(사진)
-
해결됨Flutter로 SNS 앱 만들기
섹션6에서 생성자 만드는 이유
섹션6에서 사용자정보 게시글정보를 Model클래스로 관리에서 생성자 만드는 이유가 뭔지요 오래되어서 그런지 기억이 가물가물합니다.class UserModel { final String uid; final String name; final String email; final String? profileImage; final int feedCount; final List<String> followers; final List<String> following; final List<String> likes; const UserModel({ required this.uid, required this.name, required this.email, required this.profileImage, required this.feedCount, required this.followers, required this.following, required this.likes, });
-
해결됨Flutter로 SNS 앱 만들기
섹션6 6게시글등록화면_5Firebase Storage에 게시글이 이미지 저장
에러 발생했습니다...17:38한번 봐주세요.멜 보내겠습니다.
-
해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
버튼 setOnClickListener 작동하지 않습니다
섹션5, 네비게이션을 만들어보는 강의에서네비게이션 버튼을 만들고 프래그먼트로 연결시키는 작업까지 완료하고 실행시켜보았을 때 버튼을 눌렀지만, 2번째 프래그먼트로 넘어가지 않습니다.로그를 추가해서 살펴보았는데,버튼이 아예 클릭되지 않는 것 같습니다.코드는 드라이브 링크를 남기겠습니다. 감사합니다https://drive.google.com/drive/folders/1ri7_CYyzzRrhdMA7vII7TSMJsR9AIcJE?usp=drive_link
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
3강 firebase 쓰기가 동작하질않아요
3강 첫번째 유저 데이터베이스 쓰기강의보고 firebase 회원가입해보고있는데email, pw 는 등록이 되나realtime database에는 데이터가 들어가지 않습니다 package com.example.test_1.auth import android.content.Intent import android.os.Bundle import android.util.Log import android.widget.Button import androidx.appcompat.app.AppCompatActivity import com.example.test_1.MainActivity import com.example.test_1.R import com.example.test_1.utils.FirebaseRef import com.google.android.material.textfield.TextInputEditText import com.google.firebase.FirebaseApp import com.google.firebase.auth.FirebaseAuth import com.google.firebase.auth.ktx.auth import com.google.firebase.database.ktx.database import com.google.firebase.ktx.Firebase class JoinActivity: AppCompatActivity() { private val TAG = "JoinActivity" private lateinit var auth : FirebaseAuth //추후 초기화해서 사용할 변수이다 private var nickname = "" private var gender = "" private var city = "" private var age = "" private var uid = "" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_join) //FirebaseApp.initializeApp(this); auth = Firebase.auth var joinButton = findViewById<Button>(R.id.joinBtn) joinButton.setOnClickListener { var email = findViewById<TextInputEditText>(R.id.join_email) var pwd = findViewById<TextInputEditText>(R.id.join_pwdArea) gender = findViewById<TextInputEditText>(R.id.join_gender).text.toString() city = findViewById<TextInputEditText>(R.id.join_area).text.toString() age = findViewById<TextInputEditText>(R.id.join_age).text.toString() nickname = findViewById<TextInputEditText>(R.id.join_nickname).text.toString() // Log.d(TAG, email.text.toString()) // Log.d(TAG, pwd.text.toString()) auth.createUserWithEmailAndPassword(email.text.toString(),pwd.text.toString()) .addOnCompleteListener(this) { task -> if (task.isSuccessful) { // Sign in success, update UI with the signed-in user's information Log.d(TAG, "createUserWithEmail:success") var user = auth.currentUser uid = user?.uid.toString() // user가 null 이 아니면 toString val database = Firebase.database val myRef = database.getReference("message") myRef.setValue("Hello, World!") Log.d(TAG, "push database :success") myRef.setValue("11111111111") myRef.setValue("2222222222") //firebase 접속관련 util로 패키징 //FirebaseRef.userinfo.setValue("userinfo","hello") // val udm = UserDataModel(uid, // nickname, // age, // gender, // city) // FirebaseRef.userInfoRef.child(uid).setValue(udm) //성공시 메인으로 이동 // var intent = Intent(this, MainActivity::class.java) // startActivity(intent) } else { // If sign in fails, display a message to the user. Log.w(TAG, "createUserWithEmail:failure", task.exception) } } } } }
-
미해결1:1채팅 만들기(Android + Kotlin + Firebase)
Groupy 라이브러리 지원이 되지 않습니다.
gradle에 groupie 라이브러리를 최신 버전으로 implementation 하였는데도 불구하고 이와 같이 import 되지 않습니다. github 공식 문서대로 해도 지원되지 않는데, 2022년을 마지막으로 업데이트가 없는 걸로 봐서 지원이 종료된 걸로 알고 수강을 종료해야 될까요 ?
-
미해결Flutter로 SNS 앱 만들기
제가 컴퓨터 문제가 있어서 새로 설치 했어요.
제가 컴퓨터에 문제가 생겨서 새로 갈아 엎었어요.작업영역은 다른 드라이브에 있어서 데이터 불러서 쓰려고 했는데요. 버젼이 달라서 그런지 잘 안돼요.설치를 이렇게 했어요.android-studio-2023.3.1.18-windowsflutter_windows_3.22.2-stablenode 20.10.0 이렇게 설치했습니다. 환경변수도 원하는 폴더에 설치하고,경로도 잘 되었구요flutter doctor 은 에러없이 잘 마무리 했어요.그리고, 기존에 강의 받던 폴더를 열였는데 이렇게 나오네요.이제 정상적인지 모르겠네요1번은 Project Files/Project/등등이 있던데 Project로 해놓고 사용해도 별문제가 없지요.2번은 다운로드해서 뭘 설치해야합니까.현재 이렇게 설치 되어있습니다.3번은 디바이스가 비활성화 되어있습니다. 며칠째 진도를 못빼고 있어요 도와주세요컴퓨터를 새로 밀면 설치는 이렇게 하고 기존에 작업한 데이터를 불러와서 쓰는데 파이어베이스는 따로 건드릴 필요 없는건가요? 파이어베이스에 프로젝트가 있으니 이부분부터 건드려야 하지 궁금합니다.?git 늦게 설치했어요. 순서와 상관있나요?
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
스크립트를 넣으면 에러가 발생합니다.
스크립트 문을 직접 입력 또는 파일을 로드하면 에러가 발생하는데 어떻게 해야하나요.. 같은 에러가 반복적으로 발생합니다.
-
미해결모던 안드로이드 - Jetpack Compose 입문
TodoList - 04에서 recentlyDeleteTodo가 null일 경우 처리 방법 문의
개인적으로 변수가 null일 경우변수?.let {}이렇게 사용해 왔는데요. 강의에서는 viewModelScope.launch { todoRepository.addTodo(recentlyDeleteTodo ?: return@launch) }이렇게 사용 하셨는데요. 해당 부분만 보면 뭐가 더 좋다 이럴게 없어 보이기는 하는데요. 혹시 특정한 상황에서 ?: return 으로 하는 것이 필요한(or 더 좋은) 경우가 있을까요?