묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
로그인 로딩 중 버튼 비활성화 관련 질문입니다.
riverpod 상태 관리 시watch 메서드를 통해 view를 변경하는데userMeProvider를 watch하지 않고로그인 버튼의 onPressed 내에서 read로 상태를 읽어도비활성화가 잘 작동합니다.제가 이해한 바로는 userMeProvider가 생성될 때 생성자의 getMe 메서드를 통해서 상태는 null이 되어있을텐데어떻게 로그인 버튼을 누른 후 상태가 UserModelLoading으로 바뀌었을 때 view가 이를 감지하고 버튼을 disable시키는지 이해가 되지 않아 질문드립니다. 현재 로그인 스크린은 ConsumerStateFul 위젯입니다.ConsumerWidget으로 변경해도 잘 작동합니다. ElevatedButton( onPressed: ref.read(userMeProvider) is UserModelLoading ? null : () => ref .read(userMeProvider.notifier) .login( username: username, password: password, ) .then( (value) { if (value is! UserModelError) return; ScaffoldMessenger.of(context).showSnackBar( SnackBar( content: Text(value.message), duration: Duration(seconds: 1), ), ); }, ), child: const Text('로그인'), ),
-
해결됨Flutter 앱 개발 실전
List<Product> 작성시
안녕하세요, StaefullWidget 상태관리 구현수업을 따라가던 중에 15 번 라인에서 엔터 2번 입력List<Product> 를 입력하실때 자동 완성으로 Product 가 제안 되서 선택하시던데.. 저는 Prodcut 가 나오질 않는데 무엇이 빠져서 그럴까요?또 라인 완성후 자동으로 import 가 생성되던데. 저는 전구를 눌러서 선택을 해야만 import 가 되는데.. 익스텐션등 특정한 무슨 설정이 빠져서 그런것일까요?감사합니다.
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
알려주신 사이트에 접속이 불가능해요
해당 이미지와 같이 링크에 접속이 불가능합니다.
-
해결됨Flutter 앱 개발 기초
IInputConnectionWrapper 끄는 방법 문의
입력 창에서 키보드를 입력할 때마다 아래와 같이 warning log가 주르륵 뜹니다.W/IInputConnectionWrapper(12010): getSelectedText on inactive InputConnection W/IInputConnectionWrapper(12010): getTextAfterCursor on inactive InputConnection W/IInputConnectionWrapper(12010): getTextBeforeCursor on inactive InputConnection W/IInputConnectionWrapper(12010): getSelectedText on inactive InputConnection W/IInputConnectionWrapper(12010): getTextAfterCursor on inactive InputConnection W/IInputConnectionWrapper(12010): beginBatchEdit on inactive InputConnection W/IInputConnectionWrapper(12010): getTextBeforeCursor on inactive InputConnection W/IInputConnectionWrapper(12010): endBatchEdit on inactive InputConnection W/IInputConnectionWrapper(12010): beginBatchEdit on inactive InputConnection W/IInputConnectionWrapper(12010): getTextBeforeCursor on inactive InputConnection W/IInputConnectionWrapper(12010): endBatchEdit on inactive InputConnection번잡하기만 하고 별로 필요 없어서 해당 로그를 보고 싶지 않은데 로그 레벨 조정을 어떻게 하죠? 검색해도 제대로 된 정보는 안 나오네요
-
해결됨[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
도서 랑 강의 내용흐름이 동일한가요?
강의가 좋아서 출간하신 강의 학습 도서를 발견했는데, 이 책이랑 강의 내용 흐름이 동일한가요??? 구매를 하면 강의내용을 이해하고, 공부하는데 도움이 될까 궁금해서요
-
해결됨Flutter 앱 개발 기초
minSdkVersion (firebase_auth) 관련 에러 발생하는 분들 참고하세요
Flutter version 이 3.22 버전을 사용 중인데, minSdkVersion 에러가 나는 분들이 있을 것입니다. [에러 상황]firebase 프로젝트 준비 및 google-services.json 주입을 마치고, flutter 명령어로 first base에 필요한 패키지를 다운로드 받은 이후의 상황입니다. main.dart 를 실행하는데 아래와 같은 에러가 발생하는 분들은 주목하세요.Manifest merger failed : uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library [:firebase_auth] 위와 같은 에러가 발생하는 분들은 아마 앱 레벨의 build.gradle이 이와 같이 설정되어있을 겁니다.defaultConfig { applicationId = "com.example.bucket_list_with_firebase" minSdk = flutter.minSdkVersion targetSdk = flutter.targetSdkVersion versionCode = flutterVersionCode.toInteger() versionName = flutterVersionName }위 메시지를 해석하면 firebase_auth가 minSdkVersion이 23 이상을 지원하는데, 현재 너의 프로젝트의 minSdkVersion은 21이 되어있어서 지원이 불가능하다는 메시지입니다. [에러 원인]이는 flutter sdk에서 android의 minSdkVersion이 21로 설정되어있기 때문에 그렇습니다. 실제로 강의자료에 나와있듯이 flutter sdk의 flutter.groovy 파일을 살펴보면class FlutterExtension { public final int compileSdkVersion = 34 public final int minSdkVersion = 21 // 다른 변수들 }이처럼 21 버전을 상수값으로 사용하고 있는 것을 알 수 있습니다. 하지만 firebase의 auth 기능을 사용하려면 minSdkVersion이 23이어야 합니다. [해결 방법]이를 해결하기 위한 방법은 터미널 로그에 잘 표시되어있습니다.The plugin firebase_auth requires a higher Android SDK version. Fix this issue by adding the following to the file android { defaultConfig { minSdkVersion 23 } } Following this change, your app will not be available to users running Android SDKs below 23.위에 로그에서 recommend 하듯이 내 flutter project의 minSdkVersion을 바꿔주면 해결됩니다. flutter.minSdkVersion 대신 상수로 23 값을 입력하면 됩니다.defaultConfig { // applicationId minSdk = 23 // 다른 설정 값들 } [해결 완료 후 동작 확인]아래와 같이 main.dart를 실행하면 로그인 화면이 정상적으로 보여져야 합니다.
-
미해결처음하는 플러터(Flutter) 기초부터 실전까지 [풀스택 Part4] (쉽고 견고하게 단계별로 다양한 프로젝트까지)
안드로이드 스튜디오 테마 문의 드립니다.
안녕하세요!강의 재미있게 진행하고 있습니다. 강의 내용과는 별개의 질문입니다. ^-^; 다름이 아니라 강의 동영상처럼 테마를 바꾸려면 어떤 것을 사용해야 하나요?Material Theme UI 등 여러 가지를 받아서 적용해 봐도 딱 맘에 드는 것이 없습니다.강의 동영상의 테마가 바탕화면도 진하고 괄호도 알록달록하게 나와서 좋아 보입니다.
-
해결됨Flutter로 SNS 앱 만들기
섹션8 접속중인 사용자의 정보표시에서 에러발생했어요.
signOut()에서 에러 발생했어요.한번 봐주세요..로직을 멜로 보냅내다.
-
해결됨Flutter로 웹 서비스 개발하기 (1) - Responsive Web
폰트 자료 안보임.
폰트 자료 안보임.
-
해결됨[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
"Restaurant Pagination 요청해보기" 09:45에서 일시적으로 snapshot.hasData:: false 가 나오는 현상에 대한 질문입니다.
안녕하세요."Restaurant Pagination 요청해보기" 09:45까지 선생님의 강의 따라서 잘 진행하고 있습니다.restaurant_screen.dart의 FutureBuilder<List> 내부에서 snapshot.hasData를 print하면 다음과 같은 결과를 얻었습니다.실행환경은 윈도우의 안드로이드 스튜디오를 사용하고 있습니다.log fileI/flutter (10452): -------- in RestaurantScreen --------I/flutter (10452): snapshot.error:: nullI/flutter (10452): snapshot.data:: nullI/flutter (10452): snapshot.hasData:: falseW/WindowOnBackDispatcher(10452): sendCancelIfRunning: isInProgress=false callback=io.flutter.embedding.android.FlutterActivity$1@a3bcdaaD/EGL_emulation(10452): app_time_stats: avg=24.92ms min=12.78ms max=289.52ms count=40I/flutter (10452): -------- in RestaurantScreen --------I/flutter (10452): snapshot.error:: nullI/flutter (10452): snapshot.data:: [{id: 5ac83bfb-f2b5-55f4-be3c-564be3f01a5b, name: 불타는 떡볶이, thumbUrl: /img/떡볶이/떡볶이.jpg, tags: [떡볶이, 치즈, 매운맛], priceRange: medium, ratings: 4.53, ratingsCount: 100, deliveryTime: 15, deliveryFee: 2000}, {id: 15480ad3-892f-50ce-ab39-540c34c6fb5a, name: 매콤 멕시칸, thumbUrl: /img/멕시칸/야채타코.jpg, tags: [멕시칸, 매콤, 할라피뇨], priceRange: expensive, ratings: 4.54, ratingsCount: 100, deliveryTime: 30, deliveryFee: 0}, {id: cf11d36a-7c61-5105-8306-5c8c7ff2c140, name: 엄마손 볶음밥, thumbUrl: /img/볶음밥/새우볶음밥.jpg, tags: [분식, 볶음밥, 김치], priceRange: cheap, ratings: 4.53, ratingsCount: 100, deliveryTime: 20, deliveryFee: 3000}, {id: 4729bd37-8927-5150-b036-395da7e7bb42, name: 신선 코팩 스시, thumbUrl: /img/스시/중간모듬스시.jpg, tags: [스시, 일식, 연어], priceRange: expensive, ratings: 4.54, ratingsCount: 100, deliveryTime: 30, deliveryFee: 0}, {id: 4fcf09a5-03ee-5a2e-9806-110285030c8I/flutter (10452): snapshot.hasData:: true잠시, if (!snapshot.hasData) { return Container(); }위 코드가 실행이 되고, 또 다시 RestaurantScreen Class가 호출되어 return ListView.separated() 로직이 실행되는 것 같습니다.SplashScreen Class의 initState() 함수에서 RootTab Class로 호출하고,RootTab Class에서 RestaurantScreen Class를 호출하는 로직으로 파악되데 원인을 잘 모르겠습니다.감사합니다.
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
styleForm에서 primary는 Deprecated 됐네요
https://docs.flutter.dev/release/breaking-changes/3-16-deprecations
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
dependencies는 어떤식으로 찾아서 쓰나요?
개발자님 같은 경우 어떠한 기능을 넣고싶을 때 그 기능이 있는 dependency를 어디서, 어떻게 찾아서 주로 사용하시는지 궁금합니다.
-
미해결Flutter 응용 - 공공 API를 활용한 앱 만들기 (MVVM 패턴)
이제 버전 3.4인데 쭉 들어도되겠죠?...
까보니 api도 실시간이아니고 목데이터고...어떻게 생각하십니까? 선생님댓글도 23년에 멈췄네요
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
Go router 를 이용한 Nested Navigation 질문 입니다.
Appbar 에는 progress bar 를 넣고, app bar 를 그대로 남겨둔채로 여러 페이지를 이동할 수 있는 UI 를 구현하고자 하는데, 이런 Nested Navigation 은 일반적으로 ShellRoute 를 이용해서 구현하면 되는 것이 맞는지 혹은 다른 best practice 가 있는지 궁금합니다! 선생님께서는 이런 경우에 어떤 방식을 이용하시나요?좋은 강의 감사드립니다.
-
해결됨Flutter 앱 개발 실전
iterable추가자료
노션에서 iterable 더 둘러보라고 notion에서 링크 걸어주신 자료보면 가입은 했는데 다음 페이지를 읽으려면 멤버십 업그레이드를 하라고 해서요....
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
섹션 10, restaurantDetail 캐싱하기 질문입니다.
안녕하세요. 제가 해당 섹션을 이해한바로는 getDetail 함수에서 메인스크린에서 식당을 클릭할때 들어오는 것 뿐만아니라, 식당 디테일 페이지 단독으로 실행할 때도 잘 작동하게끔 구현한걸로 아는데,데이터(CursorPagination)가 아얘 없을 때 this.paginate()를 한번 실행해서 처음 20개의 식당 데이터를 가져오고 이후 id 에 해당하는 getRestaurantDetail을 호출해서 해당 식당 정보를 가져온후 마지막에 map 으로 그 식당 id 에 해당하는 데이터를 교체하는 형식으로 진행한는데,애초에 this.paginate() 에서 가져온 20개의 식당 범위 밖에 식당이라면, getRestaurantDetail 로 식당정보를 가져오더라도 똑같은 식당 id를 찾을 수 없어서 교체할 수 없는 것 아닌지 질문드립니다.
-
미해결Flutter로 SNS 앱 만들기
firebase 연동 후 실행 시 충돌이 발생하여 실행이 안됩니다. ㅠㅠ 버전 충돌인거 같은데
안녕하세요.flutter 프로젝트를 만든 후에 실행하면 안드로이드 에뮬로 실행이 잘 됩니다. 이후 따라서 firebase cli를 설치하고 로그인 코드 minsdk 수정까지 다 한 후에 실행하면 실행이 안됩니다.Chatgpt로 kotlin 버전 명시, 프로젝트 경로/앱 경로 build.gradle 수정이랑 다 해봐도 에러가 나서 하루 종일 다음 강의로 못 넘어가고 있습니다 ㅠㅠ. 강의가 만들어진지 시간이 좀 되서 혹시 설정을 다르게 해야하는게 있을까요?메세지:FAILURE: Build 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 > /Users/ak/.gradle/caches/transforms-3/385e60e1c81cd166a8ad3c908ae54a0f/transformed/jetified-firebase-firestore-25.0.0/META-INF/com/android/build/gradle/aar-metadata.properties (No such file or directory) * 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.org
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
섹션22 동영상에서 비동기 활용 이유 문의
안녕하세요!섹션22 동영상 트는 부분에서 async와 await를 쓰시는 이유가 궁금해요~!비동기를 안써도 그냥 자연스럽게 작동될 것 같은데 의문점이 생겨 문의드립니다.감사합니다.onLogoTap() async {final video = await ImagePicker().pickVideo(source: ImageSource.gallery,);print(video);}}
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
에뮬레이터가 실행이 안 되네요..
환경변수, SDK 설정은 수없이 확인해보았고 지웠다 깔았다도 반복해보았습니다. 경로에 한글이 들어가 있지도 않았는데 도저히 에뮬레이터가 작동할 생각을 안 하네요.. 디바이스 매니저에서 추가를 해서 에뮬레이터 실행을 누르면 바로 오류가 뜨지 않고 실행은 되는데 정말 잠깐 뜨고 사라진 다음 작업 표시줄에만 남아있습니다.그래서 다시 눌러보면 각종 dll 파일들이 없다고 뜹니다.libandroid-emu-metrics.dlllibprotobuf.dlllibandroid-emu-agents.dlllibglib2_windows_msvc-x86_64.dll이렇게 네 종류가 뜹니다.노트북 기종은 950sbe/951sbe 입니다. 혹시 제 노트북이 플러터 프로그램과 호환이 안 되는걸까요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안드로이드 에뮬레이터 문의
안녕하세요!저는 simulator로 아이폰은 잘 뜨는데안드로이드 시뮬레이터는 핸드폰처럼 뜨지 않고tools-device manager로 들어가서 실행하니 아래처럼 뜹니다. 강사님처럼 실제 핸드폰처럼 뜨게하는 방법은 없을까요?감사합니다.