66,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
애뮬레이터 Intel HAXM 다운로드가 안돼요
데스크탑에서는 강의처럼 잘 되었는데, 노트북에서는 안되네요.. 따로 Intel HAXM을 따로 다운 받았는데도 안되네요... 왜이럴까요?ㅠㅠㅠ제어판 보시면, Intel HAXM 이 설치되어있는데도 작동이 잘 안되네요..답변부탁드립니다. 감사합니다.
- 미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
에뮬레이터 홈화면
에뮬레이터를 실행하면 강사님같은 위젯화면이 아닌 홈화면이 나옵니다. 어떻게 해결해야할까요?모든 과정 다 제대로 수행했는데 이러네요...참고로 저 번개모양도 불이 들어오지 않습니다..
- 미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
종속성 충돌 질문
firebase 관련 패키지 충돌에 관한 주요 공지에서 코드대로 맞춘 다음 flutter pub get을 했는데 firebase_core의 버전을 업그레이드나 firebase_auth의 버전을 다운그레이드하라는 메세지가 떴습니다... 알려준대로 다운그레이드하거나 업그레이드 진행해도 될까요?
- 미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
plugin 중에서 에러 발생시 발생한 코드 위치에 바로 에러 표시해주는 기능 있을까요?
plugin 중에서 에러 발생시 발생한 코드 위치에 바로 에러 표시해주는 기능 있을까요? 어디에선가 본거 같은데 해당 plugin이나 메뉴를 못찾겠네요.
- 미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
firebase option 오류
- 안녕하세요. firebase를 사용하는 12강을 보고 따라하던 도중에 이런 에러가 발생했습니다. 재설치를 해도 init을 해서 초기화를 해도 해결이 되지 않네요. 설치후 바로 들어가는 도입부분이라 더 아리쏭합니다.
- 미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
alt+enter 가 맥북에서는 option enter로 알고 있는데 단축키가 먹히지 않습니다 ㅜㅜ
editor에 있는 dart 체크박스에 체크 확인도 다 했습니다.
- 미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
파이어베이스 연결시 갑자기 다른 오류가 발생했어요 ㅠㅠ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.* What went wrong:A problem occurred evaluating project ':app'.> Failed to apply plugin 'com.android.internal.application'. > Could not create plugin of type 'AppPlugin'. > Could not generate a decorated class for type AppPlugin. > com/android/build/api/component/Component* 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. 도움이 필요합니다 ㅠㅠ
- 미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
Failed assertion: line 246 pos 15: 'items.length >= 2': is not true.
import 'package:flutter/material.dart'; class TabPage extends StatefulWidget { const TabPage({super.key}); @override State<TabPage> createState() => _TabPageState(); } class _TabPageState extends State<TabPage> { @override Widget build(BuildContext context) { return Scaffold( bottomNavigationBar: BottomNavigationBar( items: const [ BottomNavigationBarItem(icon: Icon(Icons.home), label: 'Home'), ], ), ); } }이 부분에서 코드를 작성한 후 실행하면======== Exception caught by widgets library =======================================================The following assertion was thrown building TabPage(dirty, state: _TabPageState#63dc1):'package:flutter/src/material/bottom_navigation_bar.dart': Failed assertion: line 246 pos 15: 'items.length >= 2': is not true.The relevant error-causing widget was: TabPage TabPage:file:///C:/Users/user/StudioProjects/instagram/lib/main.dart:21:19When the exception was thrown, this was the stack: #2 new BottomNavigationBar (package:flutter/src/material/bottom_navigation_bar.dart:246:15)#3 TabPageState.build (package:instagram/tab/tabpage.dart:14:28)#4 StatefulElement.build (package:flutter/src/widgets/framework.dart:5409:27)#5 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5297:15)#6 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5462:11)#7 Element.rebuild (package:flutter/src/widgets/framework.dart:5016:7)#8 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5279:5)#9 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5453:11)#10 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5273:5)... Normal element mounting (220 frames)#230 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4182:16)#231 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6569:36)#232 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6581:32)... Normal element mounting (467 frames)#699 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4182:16)#700 Element.updateChild (package:flutter/src/widgets/framework.dart:3707:18)#701 RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1253:16)#702 RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:1222:5)#703 RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure> (package:flutter/src/widgets/binding.dart:1169:18)#704 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2719:19)#705 RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:1168:13)#706 WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:1001:7)#707 WidgetsBinding.scheduleAttachRootWidget.<anonymous closure> (package:flutter/src/widgets/binding.dart:981:7)#711 RawReceivePort.handleMessage (dart:isolate-patch/isolate_patch.dart:189:12)(elided 5 frames from class AssertionError, class Timer, and dart:async-patch)====================================================================================================D/ProfileInstaller(12980): Installing profile for com.example.instagram 이런 에러가 계속 발생하는데 어떤 식으로 해결해야 할까요??
- 해결됨Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
Firebase로 이메일 로그인 기능 구현
올려주신 방법 모두 해봤는데 안돼서 질문드립니다ㅠ
- 미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
GridView에 데이터가 표시가 안됩니다.
안녕하세요. 인스타그램 클론 강의 듣고, 혼자 토이플젝을 하나 하고 있는데 GridView에 데이터가 표시되지 않아 질문드립니다. 기능 #가치 라는 해시태그 버튼을 클릭하면 단어들중 #가치 라는 카테고리에 속하는 단어를 하단에 출력 #구현 사항단어를 여러 카테고리에 속하게 나누어 파이어베이스에 등록 완료해시태그 버튼 클릭했을때, 해당하는 단어들 list로 가지고 옴.#문제사항단어들을 list로 가지고와서 GridView에 출력하게 했으나 출력되지 않음. 첫번째 이미지는 더미데이터를 집어놓은거구요. 두번째 이미지가 현재 상황입니다. import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:flutter/material.dart'; import 'package:uddutsi/tab/home/home_model.dart'; import 'package:uddutsi/tab/search/search_model.dart'; import '../../model/category.dart'; import '../../model/word.dart'; class HomePage extends StatefulWidget { const HomePage({Key? key}) : super(key: key); @override State<HomePage> createState() => _HomePageState(); } class _HomePageState extends State<HomePage> { final dics = const [ '단어1', '차갑다', '버르장머리없다','거지같다','착하다', '단어1', '차갑다', '버르장머리없다','거지같다','착하다', '단어1', '차갑다', '버르장머리없다','거지같다','착하다', '단어1', '차갑다', '버르장머리없다','거지같다','착하다', ]; @override Widget build(BuildContext context) { final model = HomeModel(); final searchModel = SearchModel(); List<Word> wordList = []; return Scaffold( appBar: AppBar( title: const Text('[test]'), ), body: Padding( padding: const EdgeInsets.all(8.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ const SizedBox(height: 10), StreamBuilder<QuerySnapshot<Category>>( stream: model.categoriesStream, builder: (context, snapshot) { if (snapshot.hasError) { return const Text('Something went wrong'); } if (snapshot.connectionState == ConnectionState.waiting) { return const Center(child: CircularProgressIndicator()); } List<Category> categories = snapshot.data!.docs.map((e) => e.data()).toList(); return Wrap( direction: Axis.horizontal, //나열 방향 alignment: WrapAlignment.start, //정렬방식 spacing: 5, //좌우간격 runSpacing: 5, //상하간격 children: <InkWell>[ for(var i = 0; i<categories.length; ++i) ...[ InkWell( child: Container( padding: const EdgeInsets.all(6), decoration: BoxDecoration( color: const Color(0xffdddddd), borderRadius: BorderRadius.circular(6), ), child: Text('#${categories[i].name}'), ), onTap: () async{ print('click ${categories[i].name}'); List<dynamic> _listData = await searchModel.getWordsByCategoryId(categories[i].id); setState(() { wordList.clear(); wordList = _listData.map((dynamic item) => Word.fromJson(item)).toList(); wordList.forEach((element) {print('${element.name}');}); }); }, ), ], ], ); } ), const SizedBox(height: 10), Expanded( child: GridView.builder( itemCount: wordList.length, gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 3, //3열을 만드는 속성 crossAxisSpacing: 2.0, mainAxisSpacing: 2.0, ), itemBuilder: (BuildContext context, int index){ final dic = wordList[index]; return GestureDetector( onTap: (){ print('click ${dic.name}'); }, child: Hero( tag: dic, child: Text(dic.name), ) ); }, ), ), ], ), ), ); } }setState 함수안에 데이터를 업데이트 한후, 출력을 해보면 wordList가 잘 출력되는것까지는 확인했는데 GridView에서는 출력이 안됩니다. 혹시 GridView가 아닌 다른 위젯으로 출력을 해야할까요? 검색을 하려해도 무슨 키워드로 검색을 해야할지 감이 안 잡혀서요. 답변 기다리겠습니다. ^^
- 미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
The Android Gradle plugin supports only Kotlin Gradle plugin version 1.5.20 and higher. 해결법을 모르겠습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.잘 따라가다가'13. Firebase로 이메일 로그인 기능 구현' 강의 수강 중pubspec.yaml 파일에flutterfire_ui: ^0.4.3+20 을 추가 하니The Android Gradle plugin supports only Kotlin Gradle plugin version 1.5.20 and higher.The following dependencies do not satisfy the required version:project ':sign_in_with_apple' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50라고 오류가 떠서 못넘어가고 있습니다 ㅠㅠ 어떻게 해결해야할까요?구글링도 해봤으나 적절한 답을 찾지 못했습니다ㅠㅠ
- 미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
안드로이드 에뮬레이터 실행오류
강의대로 인스타그램 클론까지 작성후앱을 실행해서 테스트를 진행하려고하는데앱[Flutter]아이콘이 안보입니다..혹시몰라서 강의목차중 '안드로이드 에뮬레이터 설치 및 데모 앱 실행' 강의를 듣고 따라해보니화면이 다르게 보입니다. 강의 화면은 데모앱이 실행되는데제화면은 안드로이드가 실행되어버리며 강의에 나오는 앱[Flutter]아이콘이 안보입니다.*환경 : Windows프로그램 : 안드로이드 스튜디오*에뮬레이터 실행후 상단에서 선택후 실행시 아래와 같은 오류가 발생하네요..
- 미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
firebase 연동 중 오류 질문
안녕하세요 강사팀 . Flutter 입문 - 안드로이드, iOS 개발을 한 번에 강의 수강중에 있으나강의와 동일하게 적용해도 해당 메시지가 출력되어 문의드립니다.깃허브에 올려놓으신 코드와도 다른게 없는것 터미널에서 friebase login 입력시해당메시지가 출력됩니다.*다른분도 비슷한 사례에 답변달린게 있어 동일하게 진행해봤는데 안되네요..
- 미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
05. AccountPage UI 작성강의 설명문의
05. AccountPage UI 작성강의 중강의시간 8.57분 중 SizeBox에 커서를 둔상태로Align으로 변경하시는데 그부분에 대한 설명이 없이 바로 화면이 전환된거같아 문의드립니다.(일부분 설명생략..)
- 미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
firestore에서 List<String>을 받아오고 싶을 때
안녕하세요. 강의를 따라 오던 중 복수의 이미지 리스트 List<String>으로 업로드하고 또 읽어올 수 있을지 궁금증이 생겨 테스트를 하던 중 도저히 해결되지 않은 문제가 있어 질문 올립니다.(업로드는 성공했습니다.)현재 강의 코드에서 imageUrl만 String에서 List<String>으로 바꿔 아래와 같이 수정했습니다.class Post { String id; String userId; String title; List<String> imageUrls; Post({ required this.id, required this.userId, required this.title, required this.imageUrls, }); factory Post.fromJson(Map<String, dynamic> json) { return Post( id: json['id'] as String, userId: json['userId'] as String, title: json['title'] as String, imageUrls: json['imageUrls'] as List<String>, ); } Map<String, dynamic> toJson() { return { 'id': id, 'userId': userId, 'title': title, 'imageUrls': imageUrls, }; } } 여기까진 문제가 없었는데, firestore에서 데이터를 불러와 List<Post>로 가공하는 부분에서 아래와 같이 에러가 발생하고 있습니다.List<Post> posts = snapshot.data!.docs.map((el) => el.data()).toList(); // type 'List<dynamic>' is not a subtype of type 'List<String>' in type cast 다음처럼 fromJson 함수를 수정해보려 했는데 해결되지 않아 질문합니다 ㅠㅠ 해결 방법이 있을까요??import 'dart:convert'; // ... class Post { // ... factory Post.fromJson(Map<String, dynamic> jsonData) { final imageUrls = json.decode(jsonData['imageUrls']).cast<String>().toList(); return Post( id: jsonData['id'] as String, userId: jsonData['userId'] as String, title: jsonData['title'] as String, imageUrls: imageUrls, ); }(위와 같이 수정하면 type 'List<dynamic>' is not a subtype of type 'String' 이런 에러 메세지가 뜹니다.
- 미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
firebase 이메일 로그인 설정 관련 오류 문의의 건
안녕하세요, 강사님. Flutter 입문 - 안드로이드, iOS 개발을 한 번에 강의 수강중에 있으나 버전(?) 충돌로 인하여 문의 드립니다.("13. Firebase로 이메일 로그인 기능 구현" 학습중...) firebase 연동하여 이메일을 통해 로그인 될 수 있도록 설정하는 과정에서 오류가 발생된 것으로 보이는데 어떻게 해야 하는지 문의 드립니다.if (!snapshot.hasData) { return SignInScreen( providerConfigs: [EmailProviderConfiguration(),] ); "RUN시 오류 내용"Running "flutter pub get" in instagram_clone_renew...Because every version of flutter from sdk depends on collection 1.15.0 and firebase_auth_platform_interface >=6.4.0 depends on collection ^1.16.0, flutter from sdk is incompatible with firebase_auth_platform_interface >=6.4.0.And because firebase_auth 4.2.5 depends on firebase_auth_platform_interface ^6.11.3 and no versions of firebase_auth match >4.2.5 <5.0.0, flutter from sdk is incompatible with firebase_auth ^4.2.5.So, because instagram_clone_renew depends on both flutter from sdk and firebase_auth ^4.2.5, version solving failed.pub get failed (1; So, because instagram_clone_renew depends on both flutter from sdk and firebase_auth ^4.2.5, version solving failed.) 환경설정값 및 버전Flutter 3.3.2 • channel stable • https://github.com/flutter/flutter.gitFramework • revision e3c29ec00c (4 months ago) • 2022-09-14 08:46:55 -0500Engine • revision a4ff2c53d8Tools • Dart 2.18.1 • DevTools 2.15.0 dependencies: flutter: sdk: flutter image_picker: ^0.8.6 # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 firebase_core: ^2.4.1 firebase_auth: ^4.2.5 flutterfire_ui: ^0.4.3+20
- 미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
기본위젯
작업하게 될때 기본위젯 많이 사용하는 편인가여 ?? 코드로 다 칠것같은데 ui 그릴때는 보여주신 영상과 같이 마우스 끌어다가 사용하게 되나여 ?
- 미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
firebase에 upload 에러가 발생했습니다
안녕하세요 교수님.진행 중에 에러가 발생하여 질문 남겼습니다.파이어베이스에 업로드를 하려고 했는데Failed to load providerinstaller module: No acceptable module com.google.android.gms.providerinstaller.dynamite found. Local version is 0 and remote version is 0.이러한 메세지가 뜨면서 진행이 되지 않습니다.구글링을 통해서 찾아본 결과로android/app/main/res/AndroidManifest.xml에<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />를 추가해봤는데요 해결이 되지 않았습니다.firebase와 연동이 안 되어있나 싶어서 찾아봤는데I/FirebaseApp( 4142): Device unlocked: initializing all Firebase APIs for app [DEFAULT] 이렇게 나오면서 연동은 되어있는 것 같았습니다.다만 앱의 tab_page / profile 화면에서 이메일 인증은 진행하지 못 했습니다.한 번 오류가 나서 처음부터 다시 진행하였는데 비슷한 에러가 발생하는 것 같아서 질문 남겼습니다.wyongjae/instagram_clone_test at master (github.com)도움이 될까 싶어 깃허브에 파일 올려두었습니다.감사합니다!
- 미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
디버그 서명 인증서 SHA-1가 구해지지 않습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.파이어베이스 등록할 때 디버그 서명 인증서를 구해야 하는데,터미널에 명령어를 치면 다음과 같이 나옵니다.제가 코틀린 강의를 듣고 시험용으로 구글 콘솔에 앱 등록을 한 적이 있는데,방법을 잘 몰라서 generate app bundle을 여러번 했습니다. 그래서 키가 이상한 걸까요?.. 질문은 2가지 입니다.이럴 경우 어떻게 대처해야 할까요?파이어베이스 등록할 때 꼭 디버그 서명 인증서를 입력해야 하는건가요?프로젝트 폴더의 android폴더에서 gradlew signingReport 명령을 실행시키면 Starting a Gradle Daemon, 1 incompatible Daemon could not be reused, use --status for detailsFAILURE: Build failed with an exception.* Where:Build file '/Users/selena/AndroidStudioProjects/ipari_gram/android/app/build.gradle' line: 24* What went wrong:A problem occurred evaluating project ':app'.> Failed to apply plugin 'com.android.internal.application'. > Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8. You can try some of the following options: - changing the IDE settings. - changing the JAVA_HOME environment variable. - changing org.gradle.java.home in gradle.properties.* 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 8s라고 나옵니다.키 저장소 비밀번호 입력: keytool 오류: java.io.IOException: keystore password was incorrect java.io.IOException: keystore password was incorrect at sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:2059) at sun.security.provider.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:238) at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(JavaKeyStore.java:70) at java.security.KeyStore.load(KeyStore.java:1445) at sun.security.tools.keytool.Main.doCommands(Main.java:926) at sun.security.tools.keytool.Main.run(Main.java:366) at sun.security.tools.keytool.Main.main(Main.java:359) Caused by: java.security.UnrecoverableKeyException: failed to decrypt safe contents entry: javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption. ... 7 more
- 미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
비동기로 콜백을 받는다는 것이 무슨 뜻인가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. library에서 제공하는 기능인 pickImage 설명할 때 return을 Future<file>로 하는데 Future라는 방식이 비동기로 콜백을 받는다고 설명하셨어요. 그게 무슨 뜻일까요?