묻고 답해요
143만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Flutter로 SNS 앱 만들기
섹션4 로그인 인증상태에 따라메인또는 로그인 화면으로 이동
8:54 WidgetsBinding.instance.addPersistentFrameCallback((_) { 사용하여 로그인화면에서 문제가 발생했어요. 에러는 없는데 화면이 떨려요..멜로 보내 드릴께요
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
토큰 받아와서 메세지 보내기 강의 2분 20초 로그캣 확인 하는 창이 다르고 토큰 값이 안떠요.
위와 같이 로그 캣 결과가 나오는데, 로그캣 창 버전이 달라서 안 뜨는건지 무엇인 문제인지 모르겠네요.
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
FCM 강의, firebaseservice 클래스 내 오류코드 해결방안이 궁금합니다.
위 코드에서 하단 부분에 notify(id : 123, builder.build())부분이 계속해서 빨간줄로 되어 있는데 어떻게 해결해야하나요?
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
FCM 강의 중간부터 코드 오류가 발생했는지 앱에서 회원가입을 해도 파이어베이스 Authentication에는 회원등록이 해도 화면이 넘어가지 않고 데이터도 저장이 안 되네요.
회원가입창에서 회원가입을 한다.2. '회원가입' 버튼을 눌러도 해당화면에서 메인화면으로 넘어가지 않는다.파이어베이스 Authentication에는 회원등록은 되어 있으나, Realtime Database와 Storage에는 사진등록이 되지 않는다.회원등록 완료데이터베이스에 회원정보(닉네임, 성별, 지역 등)가 등록되어 있지 않다.스토리지에 사진도 등록되지 않아있다.현재 위와 같은 오류가 발생하네요. 어떤 부분을 확인해야할까요?
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
안드로이드 스튜디오 게시글 이미지 업로드 유무
게시글을 올릴때 이미지를 업로드 하지 않으면, 안드로이드 스튜디오가 꺼집니다. 혹시 이미지를 업로드 하지 않아도 게시글을 작성하려면 코드를 어떻게 수정해야하나요? package com.example.healthcareapplication.fragments import android.app.Activity.RESULT_OK import android.content.Intent import android.graphics.Bitmap import android.graphics.drawable.BitmapDrawable import android.os.Bundle import android.provider.MediaStore import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.Toast import androidx.databinding.DataBindingUtil import androidx.navigation.fragment.findNavController import com.example.healthcareapplication.DATA.ContentData import com.example.healthcareapplication.DATA.ContentModel import com.example.healthcareapplication.R import com.example.healthcareapplication.databinding.FragmentCommunityWriteBinding import com.google.firebase.auth.FirebaseAuth import com.google.firebase.ktx.Firebase import com.google.firebase.storage.ktx.storage import java.io.ByteArrayOutputStream import java.text.SimpleDateFormat import java.util.Calendar import java.util.Locale class CommunityWriteFragment : Fragment() { private lateinit var binding: FragmentCommunityWriteBinding private lateinit var auth: FirebaseAuth override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { binding = DataBindingUtil.inflate(inflater, R.layout.fragment_community_write, container, false) val view = binding.root auth = FirebaseAuth.getInstance() binding.writeBtn.setOnClickListener { val title = binding.title.text.toString() val content = binding.content.text.toString() fetchContent(title, content) findNavController().navigate(R.id.action_communityWriteFragment_to_communityFragment) } binding.ImageBtn.setOnClickListener { val gallery = Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI) startActivityForResult(gallery, 100) } return view } private fun fetchContent(title:String, content:String){ val userId = auth.currentUser?.uid ?: return val currentDateTime = Calendar.getInstance().time val dateFormat = SimpleDateFormat("yyyy.MM.dd HH:mm:ss", Locale.KOREA).format(currentDateTime) val key = ContentData.boardRef.push().key.toString() ContentData.boardRef .child(key) .setValue(ContentModel(title, content, userId, dateFormat)) Toast.makeText(requireContext(), "게시글 업로드 성공!", Toast.LENGTH_SHORT).show() ImageUpload(key) } private fun ImageUpload(key:String){ val storage = Firebase.storage val storageRef = storage.reference val mountainsRef = storageRef.child(key + ".png") val imageView = binding.imageArea // Get the data from an ImageView as bytes imageView.isDrawingCacheEnabled = true imageView.buildDrawingCache() val bitmap = (imageView.drawable as BitmapDrawable).bitmap val baos = ByteArrayOutputStream() bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos) val data = baos.toByteArray() var uploadTask = mountainsRef.putBytes(data) uploadTask.addOnFailureListener { // Handle unsuccessful uploads }.addOnSuccessListener { taskSnapshot -> // taskSnapshot.metadata contains file metadata such as size, content-type, etc. // ... } } override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if(resultCode == RESULT_OK && requestCode == 100){ val selectedImageUri = data?.data selectedImageUri?.let { uri -> binding.imageArea.setImageURI(uri) val layoutParams = binding.imageArea.layoutParams layoutParams.width = 300 // 원하는 너비 설정 layoutParams.height = 300 // 원하는 높이 설정 binding.imageArea.layoutParams = layoutParams } } } }
-
해결됨[플러터플로우]코딩 없이 한 달 만에 앱 만들기
댓글 구현하기에서 막힙니다.(설정 화면이 다르게 뜹니다.)
08:56에 뜨는 설정화면에는Available Options, Document Properties이렇게 2개만 뜨는데요. 지금은 구성 업뎃이 되었는지..Available Options, Document Properties, Available Options 이렇게 3개가 뜹니다. 해당 옵션을 눌러보면 아무것도 안나오고 그대로 컨펌 눌러보면 'Current variable is not valid' 라는 문구가 뜨면서 닫히지 않습니다. 제가 놓친게 있나 싶어서 3번은 넘게 돌려봤는데요. 그건 아닌거 같아요.
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
10 issues were found when checking AAR metadata:
파이어베이스 북마크 만들기 하면서 나오는 에러입니다.1. Dependency 'androidx.credentials:credentials:1.2.0-rc01' 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.credentials:credentials-play-services-auth:1.2.0-rc01' 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.navigation:navigation-common:2.7.5' 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.navigation:navigation-common-ktx:2.7.5' 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.navigation:navigation-runtime:2.7.5' 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). 6. Dependency 'androidx.navigation:navigation-ui:2.7.5' 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). 7. Dependency 'androidx.navigation:navigation-runtime-ktx:2.7.5' 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). 8. Dependency 'androidx.navigation:navigation-ui-ktx:2.7.5' 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). 9. Dependency 'androidx.navigation:navigation-fragment-ktx:2.7.5' 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). 10. Dependency 'androidx.navigation:navigation-fragment:2.7.5' 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). 대체 어떤 부분을 봐야 할까요...
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
섹션 1 CardStackView의 Implement members 질문있습니다.
7:16Implement members를 하려고 하는데 어떻게 해야되나요? 여담으로 아직 섹션 1 끝내지도 않았는데 옛날 버전이라 그런지 진도 나가기가 너무 힘들어요... 강의 최신 버전으로 업데이트는 안되나요? 프로젝트 생성부터 Gradle 추가까지 지금 7분밖에 못 들었는데 두시간을 넘게 찾고있는거 같습니다.
-
해결됨Flutter로 SNS 앱 만들기
riverpod으로 상태관리하기
안녕하세요 선생님, 강의 흥미롭게 잘 듣고 있습니다.저는 Provider에 대한 지식이 없어 제가 알고있던 riverpod을 사용하여 프로젝트를 진행하고 있었습니다.그런데 이 강의의 update함수를 override하여 인증상태를 관리하는 부분에서 막혔습니다.riverpod의 StateNotifer에는 해당 기능이 없더라구요..(FirebaseAuth.instance.userChanges()에 따라서 state를 변경시키는 부분.)혹시 만약 riverpod을 사용한다면 어떤 방향으로 코딩을해야할까요? 답변주시면 감사하겠습니다!
-
해결됨Flutter로 SNS 앱 만들기
프로젝트 확장과 패키지 추가에 대하여 질문드립니다!
안녕하세요, 강의를 모두 수강하고 개인적으로 프로젝트를 더 확장해보고 싶어서, 개인 공부를 시작하게 되었습니다.그러다가 프로젝트에 외부 패키지를 추가해야 하는 경우가 생겼는데, 이 때 패키지 버전은 어떻게 지정해야 하는 지 궁금합니다.puspeck.yaml에서 예를 들면, 패키지 버전 앞에 붙이는 ^가 어느 정도 범위를 지정해줘서 해결하는 것으로 알고 있습니다.그렇다면,google_maps_flutter나 location 같은 외부 패키지를 추가 설치할 때, 버전을 어떻게 지정해야 충돌이 나지 않을까요?프로젝트가 코틀린 버전 1.7.10, gradle 버전 7.5 인것으로 아는데, 충돌 없이 더 최신 버전으로 변경 할 수 있을까요?왜냐하면 강의에서 제공하는 프로젝트에서 최신 버전의 google_maps_flutter와 location 패키지를 설치하고, 사용하려고 하니 아래와 같은 에러가 발생했습니다.그래서, 코틀린 버전을 1.9로 올리고, 그에 맞게 gradle 버전을 수정한 다음, 기존 파일을 지운 다음에, Sync를 맞추니까 Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.9.0, expected version is 1.7.10 같은 에러가 발생합니다. 그래서 인터넷에서 찾아보니, 저장되어 있는 캐시 때문에 아직 1.7.10 버전으로 인식한다고 해서, .gradle 파일이랑 이것저것 삭제하고 다시 빌드했는데도, 변경된 코틀린 버전을 인식을 못하고 계속 무한루프에 빠지는 등 상황 해결이 되지 않았습니다. 어떻게 해야 할까요? 추가 설치하고 싶은 외부 패키지를 일일히 버전을 낮춰야 하나요? 아니면, 안드로이드로 컴파일하는 코틀린 버전을 상승시킬 수 있는 방법은 없는걸까요?
-
미해결처음하는 플러터(Flutter) 기초부터 실전까지 [풀스택 Part4] (쉽고 견고하게 단계별로 다양한 프로젝트까지)
강의 질문입니다.
Flutter와 Firebase/Firestore 까지 활용한 그럴듯한 서비스 만들어보기 6까지 실습해봤는데요.TextButton >> addEntryWithAutoGeneratedId를 통해서Task를 추가하면 id가 ''로 해서 나오는 것을 Firebase 사이트를 통해서 확인을 했고UpdateEntryWithId에 의해서 수정을 하게 되면 그때는 id가 등록된 것이 Firebase에서 확인을 했습니다.Add를 할때는 id가 ''으로 저장되는게 맞나요? 제가 코드를 잘못 따라한건지 궁금합니다.
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
firebase 설정 오류
안드로이드 스튜디오가 느린것같아서 어제 업데이트를 했는데 업데이트후 gradle 파일이 바뀌어서 그런지 적용 잘 안되는것 같은데 기존 방식대로 적용해도 되는건가요 ?
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
홈 화면 커뮤니티
커리큘럼 코드대로 완강을 했는데 홈화면 커뮤니티 부분에서 제목만 빼와서 적혔으면 좋겠는데 boardListView로 id를 쓰니까 게시판형태로 글씨가 크게 나와서 어떻게 코드를 넣어야 할지 모르겠습니다.위 사진은 fragment_home.xml에 커뮤니티 글씨 아래 적은 코드이고위 사진은 실행한 결과입니다.HomeFragment 안에 TalkFragment의 getFBBoardData()를 넣었습니다.제목만 빼서 vertical로 나타내고 싶습니다.
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
수업자료 다운로드 후 알집풀기에서 오류가 발생합니다.
윈도우 사용중이고, 위와 같이 오류가 납니다.파일이 없는 것 같아요.
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
Retrofit 사용해보기 강의 2:20 쯤에 작성된 복사된 코드는 어디서 받나요?
Retrofit 사용해보기 강의 2:20 쯤에 작성된 복사된 코드는 어디서 받나요?
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
Glide gradle implementation 관련 질문
안녕하세요.Glide를 사용하려다 gradle 문법이 달라서 질문 드립니다. 제가 쓰는 안드로이드 스튜디오는 Iguana 2023.2.1 입니다저의 소스는 implementation(libs....) 이런 식인데,가이드는 implementation 'com.github.bumptech.glide:glide:4.16.0'이렇습니다.어떻게 하면 될까요?관련 내용을 알려면 어떻게 어디를 찾아 보면 될까요?
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
강의 FCM 소개 1:56에 디펜던시 추가하는게 최신버전으로 바뀐 듯합니다.
해당 강의 1:56초에 나오는implementation("com.google.firebase:firebase-messaging-ktx")문구를 복사해서 앱 수준의 그래들 파일에 디펜던시 항목에 넣는 것이 24년 5월 9일 기준으로 동일한 제목의 FCM 관련 사이트에 접속하니 내용이 달라져 있네요. 이제 앱 매니페스트 수정을 하는 것으로 바뀐 것 같아요.
-
해결됨Flutter로 SNS 앱 만들기
섹션 2 회원가입화면
예상하지 않게 안드로이드와 플러터 업 하면서 에러로 인하여 섹션 2에 이름,패스원드 확인 검징로직작성편을 다시 보고 있습니다.그런데, 검증로직에서 에러 부분에 색상이 흰색으로 나와요.강의화면처럼 빨강색으로 나오고 싶은데 어떻게 하면 됩니까validator: (value) {if (value == null ||value.trim().isEmpty ||!isEmail(value.trim())) {return '이메일을 입력해주세요';
-
해결됨Flutter로 SNS 앱 만들기
섹션 8 - Follow, Unfollow 기능 추가 파트에서 UserState에서 UserModel을 얻어지지가 않습니다.
문제가 되는 것으로 추정되는 코드는 UserModel currentUserModel = context.read<UserState>().userModel;입니다.이전 강의인 '특정 사용자의 정보 표시' 에서부터 문제가 발생했는데, 이번 강의에서 그냥 지우시길래 일단 넘어갔었습니다.그러나, 이번 강의에서 똑같이 UserState에서 userModel을 얻어오려고 하니, 실제로는 값이 저장되지 않았습니다.user_state.dart와 user_model.dart를 올려놓으신 Github 최종 코드로 그대로 복사해봤으나, 별다른 효과는 없었습니다...어떻게 해야할 지 모르겠습니다. 의견 부탁드립니다. userModel에는 값이 저장되었으나, currentUserModel에는 저장되지 않은 모습 메일에 프로젝트 파일을 첨부하여 보내겠습니다. 감사합니다.
-
해결됨Flutter로 SNS 앱 만들기
섹션 7 - 게시글 목록 화면 - 게시글 정보 가져오기에서 Logger에 아무것도 출력되지 않습니다...
커뮤니티에서 저랑 비슷한 증상을 보이는 2분의 질문을 봤습니다. FeedModel도 createAt으로 되어 있었습니다. 에뮬레이터를 수차례 삭제해보고, 재설치를 반복했습니다만 아무것도 찍히지 않았습니다.사용하는 에뮬레이터는 Pixel 8 API 34였고, 실제 안드로이드 14인 갤럭시 S21+ 에도 연결해서 테스트해봤으나, 똑같은 상황이 발생했습니다.코드는 아마 이메일로 보내면 되는 것 같아 이메일로 첨부하겠습니다!