묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
lib 폴더 사라짐
안드로이드 스튜디오에서 프로젝트를 재시작하면 lib 폴더가 사라져있어서 엔트리포인트를 못찾고 있습니다.. 프로젝트 파일 구조에는 있는데프로젝트탭을 누르면 안보이네요 ㅜㅜ
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
맥북 m1 flutter doctor 시 Xcode 에러 메시지 입니다.
Xcode - develop for iOS and macOS (Xcode 14.3) ✗ CocoaPods not installed. CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side. Without CocoaPods, plugins will not work on iOS or macOS. For more info, see https://flutter.dev/platform-plugins To install see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.
-
해결됨Flutter 앱 개발 기초
안녕하세요 ~ 신입생입니다. 도전 flutter 시작 합니당
A new version of Flutter is available! ││ To update to the latest version, run "flutter upgrade". │Flutter 3.7.9 • channel stable안녕하세요 ~ 신입생입니다. 현재 어찌 설치하니 3.79 버전이구요 .. 무리없이 강의 잘 따라가겠습니다. 일단 버전 업그레이드는 무서워서 안하렵니다. 무적의 초보라 . 해결 불가능 모드 ^^ 선생님과 다른분들 모두 화이팅 ~ .
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
onSaved의 타입
안녕하세요. 중급까지 다 듣긴했는데 프로젝트 중, 폼필드 부분에 복습을 할 필요성이 생겨 돌아와서 보던중 궁금한 점이 생겨서 질문드립니다.onSaved의 타입이 현재의 플러터(3.7.11) 혹은 다트(2.19.6)에서 확인을 해보면 text_form_field.dart에서 내용이 저는 ValueChanged<String?> onFieldSubmitted, super.onSaved, super.validator,로 표기가 됩니다. text_form_field.dart 에서는 FormFieldSetter<String> 에 해당하는 타입이나 문구는 cmd+f를 해서 찾아보아도 나오진 않아요.다만 Form 위젯의 정의에서는 타입데프로 나오긴 하며, 강의에서 처럼 onSaved를 매개변수로 받아 외부에서 입력하도록 했을때 FormFieldSetter<String>로 해도 작동은 하네요.버전이 바뀌며 변경이 있었던 건지 이 부분은 왜 text_form_field.dart에서 찾을 수가 없는지 궁금합니다. 또한 이런 경우 Form위젯을 뒤지지 않고도 적절한 타입을 찾을 수 있는 방법을 알고 싶습니다.감사합니다.
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
Flutter로 웹을 만들 때,
선생님, 안녕하세요. 강의 잘 듣고 있습니다.궁금한 게 있어서 질문 남깁니다. Flutter를 이용해서 웹과 앱을 동시에 사용하는 서비스를 만들려고 하는데요,Dart로 만들고 Chrome 브라우저로 실행시켜 보면 뒤로가기와 새로고침이 되지 않더라고요.(Spring처럼 URL로 라우팅 하려고 Navigator.pushReplacementNamed() 사용했습니다.) 여쭤보고자 하는 것을 정리하자면기본적으로 웹/앱 동시 지원이라는 게 Dart로 앱을 만들면 웹 브라우저에서 앱을 실행할 수 있도록 해주는 것 같은데, 맞는 것인지 궁금합니다.앱보다 웹 기능을 우선으로 구현하려면 Dart로 UI로 구성하고 Spring 같은 프레임워크로 백엔드를 구성하여 연동해야 한다고 하는데, 어떻게 하는 것인지 궁금합니다.
-
해결됨[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
IModelWithId 와 IBasePaginationRepository 의 역할이 궁금합니다.
안녕하세요. 중급강의에서 IModelWithId, IBasePaginationRepository 을 정의해 놓고 사용하셨는데요. 이렇게 하신 이유가 "자식 클래스에서 id 변수 혹은 paginate 함수를 갖는걸 강제하기 위한 목적"이 맞을까요? 충분히 설명은 해주셨는데 제가 지식이 부족해서 제대로 이해한게 맞는지 궁금해서 질문 드립니다. 어제 드디어 중급강의를 완강 했습니다.좋은 강의 만들어 주셔서 다시한번 감사드립니다!
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
webview 4.x 버전 했는데 에러가 나네요 ㅜㅜ
webview 4.x 버전으로 수정 했습니다.근데 에러가 발생해서요..계속 영상을 돌려봐도 똑같이 입력 했는데 ㅜㅜ해결책이 필요합니다!!! 도와주세요!!콘솔에 나타난 에러화면이랑소스코드 아래 첨부 드립니다. <소스코드>import 'package:flutter/material.dart'; import 'package:webview_flutter/webview_flutter.dart'; final homeUrl = Uri.parse('https://blog.codefactory.ai'); class HomeScreen extends StatelessWidget { WebViewController controller = WebViewController() ..setJavaScriptMode(JavaScriptMode.unrestricted) ..loadRequest(homeUrl); HomeScreen({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( backgroundColor: Colors.orange, title: Text('Code Factory'), centerTitle: true, actions: [ IconButton( onPressed: () { controller.loadRequest(homeUrl); }, icon: Icon( Icons.home, ), ), ], ), body: WebViewWidget(controller: controller), ); } }import 'package:flutter/material.dart'; import 'package:web_view_ex/screen/home_screen.dart'; void main() { runApp( MaterialApp( debugShowCheckedModeBanner: false, home: HomeScreen(), ), ); } <에러>
-
해결됨Flutter 초급 - Http통신, 상태관리
강사님처럼 코드가 화면 범위 밖으로 나갔을 때 자동으로 줄바꿈은 어떻게 하나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.긴 url 주소 같은 내용을 입력할 때 코드가 길어져 좌우로 스크롤해야하는게 불편한 적이 있는데, 강사님은 자동으로 줄바꿈이 되시는 것 처럼 보이던데 혹시 어떻게 설정할 수 있나요?
-
해결됨Flutter 앱 개발 기초
안녕하세요. 맥에서 설치중인데 크롬 환경변수에서 막히네여
위의 사진처럼 CHROME_EXECUTABLE 환경변수에 chrome.exe파일이 매칭이 되어야 할 거 같은데 도저히 못찾겠습니다. 여러가지 매칭 시켜봤지만 안되네여.혹시 chrome.exe파일은 어디에 있을지 알려주시면 정말 감사하겠습니다. 컴퓨터는 M2 pro입니다.감사합니다.
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
GoRouter 에서 context의 사용
최신버전을 사용할 때, go 가 작동되지 않는 경우context 의 type이 dynamic으로 되어있습니다.이럴 경우 context. 의 properties는go_router 의 기능을 포함하지 않습니다.이경우, context as BuildContext 로 치환하여 사용하면 작동이 잘되는데 이렇게 사용할 경우 문제가 있을까요?
-
해결됨[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
List 에 item 추가시에 add 와 ... 의 차이점이 궁금합니다.
안녕하세요.중급강의 장바구니 제작 부분 수강중입니다.state 에 item 을 추가하실때이런 식으로 spread operator 를 사용하시던데요. 혹시 add 메서드를 사용해서 추가해도 결과는 똑같은가요?state.add(BasketItemModel(product: product, count: 1)); 나름대로 찾아보니깐spread operator 를 사용하면 deep copy가 되고add 메서드는 단순히 reference 만 추가하는 방식인거 같은데,,맞는지 궁금합니다. 나중에 다른 코드에서도 List 에 item 을 추가할때spread operator 를 사용하는게 더 좋은지도 궁금하고요. 좋은 강의 감사합니다!
-
미해결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라고 오류가 떠서 못넘어가고 있습니다 ㅠㅠ 어떻게 해결해야할까요?구글링도 해봤으나 적절한 답을 찾지 못했습니다ㅠㅠ
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Google Map 강의 내용 관련
Google Map 관련된 내용을 학습하고 있는데, 재미있으면 댓글을 남겨주면, 관련된 내용을 좀 더 준비하시겠다고 해서 댓글 남깁니다." 재미 있음 "사용자가 특정 앱을 통해 본인의 위치를 조작할 수 없도록 하는 것에 대해서 코딩 강의를 해 주시면 좋을 것 같습니다.
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
주문 목록 API 호출 시 500 에러 (undefined (reading '0'))
주문 목록 실행 시 서버쪽 로그에서 아래와 같은 에러가 발생합니다. [Nest] 89380 - 04/14/2023, 5:33:24 PM ERROR [ExceptionsHandler] Cannot read properties of undefined (reading '0')TypeError: Cannot read properties of undefined (reading '0')at /cf-flutter-lv2-server/src/order/order.service.ts:35:39 호출 API 는 아래처럼 보내집니다.http://127.0.0.1:3000/order/?count=20 혹시 위 현상에 대해서 어떤 이유가 있을까요? 아래 서버 로그 추가로 올립니다. { basket: [ { productId: '76e4ddb0-0a4c-44c2-be91-b35fdd3e32a9', count: 1 }, { productId: 'faea6be9-f5ca-4005-9922-98c04ff2c89d', count: 2 } ]}PatchMeBasketDto { basket: [ { productId: '76e4ddb0-0a4c-44c2-be91-b35fdd3e32a9', count: 1 }, { productId: 'faea6be9-f5ca-4005-9922-98c04ff2c89d', count: 2 } ]}{ basket: [ { productId: 'faea6be9-f5ca-4005-9922-98c04ff2c89d', count: 2 } ]}PatchMeBasketDto { basket: [ { productId: 'faea6be9-f5ca-4005-9922-98c04ff2c89d', count: 2 } ]}{ basket: [ { productId: 'faea6be9-f5ca-4005-9922-98c04ff2c89d', count: 1 } ]}PatchMeBasketDto { basket: [ { productId: 'faea6be9-f5ca-4005-9922-98c04ff2c89d', count: 1 } ]}{ basket: [] }PatchMeBasketDto { basket: [] }
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
알 수 없는 오류가 자꾸 뜹니다.
실행은 잘 되고, 빨간색으로 오류는 없는데, 저장 누르면, 수업과 같이 [Schedule(id~~~000)] 이런 내용에 대한 메시지들이 아닌, 아래와 같은 메시지들이 뜹니다.널첵과 같은 이슈같은데 모든 것을 점검해 봤을때 수업 내용과 다른 부분이 없었습니다. 어떻게 해결해야 할까요?E/flutter (27313): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Null check operator used on a null valueE/flutter (27313): #0 ScheduleBottomSheetState.onSavePressed (package:ui/component/schedule_bottom_sheet.dart:116:33)E/flutter (27313): #1 InkResponseState.handleTap (package:flutter/src/material/inkwell.dart:1096:21)E/flutter (27313): #2 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:253:24)E/flutter (27313): #3 TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:627:11)E/flutter (27313): #4 BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:306:5)E/flutter (27313): #5 BaseTapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:276:7)E/flutter (27313): #6 GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:163:27)E/flutter (27313): #7 GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:464:20)E/flutter (27313): #8 GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:440:22)E/flutter (27313): #9 RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:336:11)E/flutter (27313): #10 GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:395:7)E/flutter (27313): #11 GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:357:5)E/flutter (27313): #12 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:314:7)E/flutter (27313): #13 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:295:7)E/flutter (27313): #14 _invoke1 (dart:ui/hooks.dart:164:13)E/flutter (27313): #15 PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:361:7)E/flutter (27313): #16 _dispatchPointerDataPacket (dart:ui/hooks.dart:91:31)E/flutter (27313):
-
해결됨[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
GoRouter 사용 방식이 바뀐건지 궁금합니다.
안녕하세요.중급강의 GoRouter 부분 수강중입니다. 강의내용 대로 초기설정을 해봤는데에러가 발생하지는 않지만화면이 이동되지 않더라고요. 제가 사용하는 버전이 go_router: ^6.5.6 이라바뀐 부분이 없나 공식문서를 살펴보니초기 설정부분이 좀 다르더라고요. GoRouter configuration 정보를 _MyApp 외부에서 선언하고,설정은 routerConfig 파라미터 하나만 설정하고 끝내더라고요. 공식문서대로 하면 작동은 잘 합니다. 혹시 공식문서대로 계속 사용해야 하는건지아니면 강의 내용대로 해도 되는건데제가 받아 적은 코드가 잘못된건지궁금합니다. 아래는 공식문서 스샷 입니다.
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
flutter doctor 오류 메세지 질문입니다
'brew install cocoapods' 를 실행하고 설치를 완료한 바로 다음에 flutter doctor을 실행했을때는 모두 다 체크가 된건 확인했는데한 번 더 flutter doctor을 실행하면 다시 이런 메세지가 나오네요며칠 째 계속 해결을 못하고 있네요도움을 주시면 감사드리겠습니다
-
해결됨[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
주문 탭에서만 force refetch가 안되는 이유
안녕하세요.드디어 완강을 하게 되었습니다! 여러번 복습을 해야겠지만 일단 너무 감격스럽네요 ㅜㅜ다름 아니라, 완강후 완성된 코드에서는 주문 탭에서 force refetch를 하면 주문 내용이 새로고침 되지가 않습니다.throttle과 debounce 를 적용하기 전에는 결제 내용이 주문 탭에 즉시 반영되지는 않아도, force refetch를 하면 반영되었거든요.깃헙에 올려주신 소스코드로도 같은 증상입니다.다른 탭에서의 force refetch는 이상없이 작동하는데 왜 그럴까요?
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
실제 핸드폰 연결하여 실습하고 싶습니다.
같은 질문 해주신 글을 보았는데,실제 컴퓨터의 ip를 넣어주어야 한다는 답변을 써주셨던데login_screen.dart 파일에서final emulatorIp = '';final simulatorip = '';이 부분의 ip주소만 바꾸면 되는게 맞나요?어느 부분을 더 수정해야 하는지 궁금합니다..
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
한 페이지에서 벗어나지지 않습니다 ㅠ
그대로 따라 했는데, 이 페이지에서 벗어나 지지 않습니다. 어떻게 해야 벗어나 질까요?;코드 하단에 있습니다.import 'package:flutter/material.dart';import 'package:geolocator/geolocator.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; class HomeScreen extends StatefulWidget { const HomeScreen({Key? key}) : super(key: key); @override State<HomeScreen> createState() => HomeScreenState(); } class HomeScreenState extends State<HomeScreen> {static final LatLng companyLatLng = LatLng( 37.4493182, 126.6601906, ); //위도 경도 지정하기 static final CameraPosition initialPosition = CameraPosition( target: companyLatLng, zoom: 15, ); static final Circle circle = Circle( circleId: CircleId('circle'), ); @override Widget build(BuildContext context) { return Scaffold( appBar: renderAppBar(), body: FutureBuilder( future: checkPermission(), builder: (BuildContext context, AsyncSnapshot snapshot){ if(snapshot.connectionState == ConnectionState.waiting){ return Center( child: CircularProgressIndicator(), ); } if(snapshot.data == '위치 권한이 허가되었습니다.'){ return Column( children: [ _CustomGoogleMap( initialPosition: initialPosition, ), _ChoolcheckButton(), ], ); } return Center( child: Text(snapshot.data), ); }, ),);} Future<String> checkPermission() async { final isLocationEnabled = await Geolocator.isLocationServiceEnabled(); if (!isLocationEnabled) { return '위치 서비스를 활성화 해주세요.';} LocationPermission checkPermission = await Geolocator.checkPermission();if (checkPermission == LocationPermission.denied) { checkPermission = await Geolocator.requestPermission(); if (checkPermission == LocationPermission.denied) { return '위치 권한을 허가해주세요.'; } } if (checkPermission == LocationPermission.deniedForever) { return '앱의 위치 권한을 세팅에서 허가해주세요.'; } return '앱의 위치 권한이 허가되었습니다.';} AppBar renderAppBar() { return AppBar(title: Center( child: Text( '오늘도 출근', style: TextStyle( color: Colors.blue,fontWeight: FontWeight.w700, ),),),backgroundColor: Colors.white, ); }} class _CustomGoogleMap extends StatelessWidget { final CameraPosition initialPosition; const _CustomGoogleMap({required this.initialPosition, Key? key }) : super(key: key); @override Widget build(BuildContext context) { return Expanded( flex: 2, child: GoogleMap( mapType: MapType.normal, initialCameraPosition: initialPosition, myLocationEnabled: true, myLocationButtonEnabled: false, ), ); } } class ChoolcheckButton extends StatelessWidget { const ChoolcheckButton({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return Expanded( child: Text( '출근', ), );}}