묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
플러터 [초보] 쳅터 14의 두번째강의 에서 7분20초대
안녕하세요, 코드팩토리님 질문있습니다!쳅터 14의 두번째강의 에서 7분20초대에 routetwo스크린에서 팝하면 routeone스크린으로 가야하는거 아닌가요? 왜 팝했는데 home스크린으로 가는건가요?답변 부탁드립니다!
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
문의드립니다
안녕하세요, 같은 프로젝트들을 여러번 반복해서 완전한 체득을 하고 있는데요, 반복하는데도 불구하고 프로그램 업그레이드 때문인지, 또는 알 수 없는 이유로 변화가 종종 생깁니다 ㅠ 이번엔 시작시간과 종료시간의 TextField에 null이라는 글자가 뜨는데요, 이전에는 이게 안떴던걸로 기억합니다.data가 들어있지 않은 맨 초기 화면에서도 null이라는 글자가 뜨지 않도록 하려면 어떻게 해야할까요?
-
미해결Flutter 초입문 왕초보편
에뮬레이터 실행오류
006. Android 에뮬레이터 작성 에서 실행시 위와 같은 오류가 뜹니다. 해결방법 문의합니다. 참고로 바이오스의 가상머신은 동작함을 확인했어요
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
Riverpod + Drift MVVM패턴 오류
안녕하세요 선생님!초급, 중급 강의 들으면서 riverpod 와 drift를 사용해서 MVVM패턴으로 간단한 코드를 작성 하였는데 에러가 발생하여 질문 드립니다._onTap으로 생성을 시도하면 point2번까지는 값이 잘 전달되는데 다음과 같은 오류가 발생합니다. ##### 오류 내용 #####[VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: SqliteException(1299): while executing statement, NOT NULL constraint failed: counter_model.value, constraint failed (code 1299)Causing statement: INSERT INTO "counter_model" ("title") VALUES (?), parameters: TextName 답변 부탁 드리겠습니다.감사합니다!
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
StreamSubscription listen 내부에서 file copy 이슈
안녕하세요. 학습내용을 확장하는 중 이슈가 있어서 문의드립니다.윈도우 OS 타겟으로 개발 중이며,특정폴더(origin)에 파일이 생성되는 event 발생 시 다른 특정폴더(target)로 파일을 복사하는 로직을 구현했습니다.이슈는, 용량이 1kb로 작은 파일일 경우 잘 작동하지만, 용량이 몇mb 정도로 큰파일은 아래와 같은 예외가 발생하며 복사가 되지 않습니다.예외는 다음과 같습니다.Unhandled Exception: PathAccessException: Cannot copy file to 'C:\0.st\target\10.tdms', path = 'C:\0.st\origin\10.tdms' (OS Error: 다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다. , errno = 32) #0 _checkForErrorResponse (dart:io/common.dart:55:9) #1 File.copy.<anonymous closure> (dart:io/fileimpl.dart:356:7) <asynchronous suspension> 제가 파일을 복사하기 위해 구현한 함수는 아래와 같습니다.중간에 newOriginFile.copy(copyFilePath); 부분에서 예외가 발생합니다.참고로 copySync 메서드로 변경해 보았으나 같은 현상이 발생합니다.복사할 대상 파일을 다른 프로세스에서 열지 않은 상태인데도 위와 같은 예외가 발생하여 디버깅이 안되는 상황입니다.항상 감사합니다!void _startEvaluationMode() { Navigator.pop(context, 'OK'); // 계측 모드 시작 setState(() { _evaluationMode = true; }); // origin 경로 불러오기 if (_directoryInfoBox.containsKey(DirectoryType.origin.name)) { setState(() { _originDirectory = Directory(_directoryInfoBox.get(DirectoryType.origin.name)!.path); }); if (!_originDirectory!.existsSync()) { // 실제 origin 경로의 폴더가 존재하지 않는 상태 // origin directory 확인하라는 alert dialog 보여주고 evaluation mode 종료 } // origin 경로 워칭 Stream<FileSystemEvent> originDirFileEvent = _originDirectory!.watch(); print('start evaluation mode'); // _streamListner = originDirFileEvent.listen((event) async { // if (event.type == 1) { // print('create event'); // } // }); _streamListner = originDirFileEvent.listen((event) { // origin 경로에 새 파일이 생성된 경우 FileSystemCreateEvent type == 1 if (event.type == 1) { print('created file: ${event.path}'); final newOriginFile = File(event.path); // 포맷에 맞는 파일 이름 생성 var newOriginFilename = p.basenameWithoutExtension(event.path); // print('base file name: ${newOriginFilename}'); String testMethodRoadName = TestMethodRoadInfoManager.getNameById(newOriginFilename); // 중복되는 이름 확인 // 파일 이름을 _ 로 분리하여 4번째 인덱스 값으로 구분 List<String> existingTestMethodRoadNameList = _evaluationItem!.evaluationFileInfos!.map((fileInfo) { return p .basenameWithoutExtension(fileInfo.evaluationFilePath) .split('_') .first; }).toList(); // print(existingTestMethodRoadNameList); // List<String> duplicatedList = existingTestMethodRoadNameList.where((name) { return name == testMethodRoadName; }).toList(); String fileNameWithDuplicateCount = ''; if (duplicatedList.isNotEmpty) { fileNameWithDuplicateCount = '${testMethodRoadName}_${duplicatedList.length + 1}'; } else { fileNameWithDuplicateCount = '${testMethodRoadName}_1'; } // print('road name: ${testMethodRoadName}'); // var copyFilePath = p.join(_itemDirectory!.path, // '${_itemFilePrefix}_${fileNameWithDuplicateCount}.tdms'); var copyFilePath = p.join( _itemDirectory!.path, '${fileNameWithDuplicateCount}.tdms'); print('copy file path: ${copyFilePath}'); // 파일을 eval item 경로로 이름 바꾸어 복사 newOriginFile.copy(copyFilePath); print('copy finish'); // eval item DB의 evaluationFileInfos 리스트 업데이트 var newEvaluationFileInfo = EvaluationFileInfo( originFilePath: event.path, evaluationFilePath: copyFilePath, activated: true, ); setState(() { _evaluationItem!.evaluationFileInfos!.add(newEvaluationFileInfo); }); // print( // 'file info length: ${_evaluationItem!.evaluationFileInfos!.length}'); _evaluationItemBox.put(_evaluationItem!.id, _evaluationItem!); // ui 상 file list, count 업데이트 List<File> files = []; for (var entity in _itemDirectory! .listSync(recursive: false, followLinks: false)) { if (entity is File) { files.add(entity); } } setState(() { _files = files; }); } }); } }
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Text(number.toString()),
route_one_screen.dart에서요 class RouteOneScreen extends StatelessWidget { final int number; const RouteOneScreen({required this.number, super.key});int number 받는다고 했는데children: [ Text(number.toString()), ElevatedButton(Text(number) 이러게 하면 안돼나요,문자만 가능해서 그런가요
-
해결됨[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter
17강 진행중입니다..
강의 순서대로 따라하고 있는데구글 sns 등록하고 시뮬레이터 켜보니 Class 'StatelessElement' has no instance method 'read'.Receiver: Instance of 'StatelessElement'Tried calling: read<AuthenticationCubit>() 란 오류가 뜨네요 ㅠ찾아보니 밑 login_page 중 밑 read 부분인 것 같긴한데 정확히 모르겠습니다 ㅠWidget _appleLoginBtn(BuildContext, context) { return GestureDetector( onTap: context.read<AuthenticationCubit>().appleLogin(), child: Container(
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
type 'Null' is not a subtype of type 'List<dynamic>' in type cast
섹션 11 > Pagination 일반화하기 > RatingsPagination 렌더링하기 수강 중인데 "type 'Null' is not a subtype of type 'List<dynamic>' in type cast"라서 RatingCard가 나오지 않는데 어디서 부터 확인해야할 지 모르겠습니다... ㅠㅠflutter: [RES] [GET] http://127.0.0.1:3000/restaurant/5ac83bfb-f2b5-55f4-be3c-564be3f01a5b/rating/?count=20flutter: type 'Null' is not a subtype of type 'List<dynamic>' in type castflutter: #0 $RatingModelFromJson (package:actual/rating/model/ratingmodel.g.dart:14:62)#1 new RatingModel.fromJson (package:actual/rating/model/rating_model.dart:27:62)#2 RestaurantRatingRepository.paginate.<anonymous closure> (package:actual/restaurant/repository/restaurantrating_repository.g.dart:46:29)#3 MappedListIterable.elementAt (dart:_internal/iterable.dart:415:31)#4 ListIterator.moveNext (dart:_internal/iterable.dart:344:26)#5 new GrowableList.ofEfficientLengthIterable (dart:core-patch/growable_array.dart:189:27)#6 new GrowableList.of (dart:core-patch/growablearray.dart:150:28)#7 new List.of (dart:core-patch/array_patch.dart:47:28)#8 ListIterable.toList (dart:_internal/iterable.dart:214:7)#9 $CursorPaginationModelFromJson (package:actual/common/model/cursorpagination_model.g.dart:15:60)#10 new CursorPaginationModel.fromJson (package:actual/common/model/cursor_pagination_model.dart:44:108)#11 _RestaurantRatin<…>flutter: Instance of 'CursorPaginationModelError'
-
해결됨Flutter 앱 개발 실전
IntelliJ에서 Flutter Intl 확장 프로그램 설치 방법
다국어 구현에서 VS Code 에서는 Flutter Intl 확장 프로그램을 추가하는데 IntelliJ에서는 어떻게 하는지요?설치를 안해도 상관 없는지요?
-
해결됨Flutter 초입문 왕초보편
60강 비동기 처리 부분 문의
future를 통한 sharedpreferences에 저장할때 비동기로 처리해야할때, 향후 로직이 많아지게 될 경우 dispose가 된 이후에 controller의 값을 가져오게 되어 문제가 발생할 확률이 높아질것 같습니다. (향후에 찾기도 어려울것 같은..)이럴때 어떻게 처리하는것이 좋을까요? future 메서드가 종료된 이후에 페이지 전환이 발생하도록 할 수 있나요?
-
해결됨[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter
cloud Firestore 설정
FireStore Database에 들어가서 데이터베이스 생성하기 누르고 설정했는데 오류가 나더니이렇게 뜨네요,, 이런 경우 어떻게 해야 할까요,,?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
textFormField validation 질문입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.코드팩토리 디스코드https://bit.ly/3HzRzUMFlutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다! 에러메세지가 뜰때 2개의 time텍스트필드 수평위치가 맞지않게 되는데 이런걸 조절 할 방법이 없는건가요? 시작시간, 마감시간 validator할때, 시작시간은 마감시간보다 숫자가 작아야 된다 라는 조건을 건다면 isTime을 isTime1, isTime2으로 세분화 해서 조건을 비교하면 되는걸까요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
textAlign :TextAlign.start 로 정렬하지 않는이유
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.코드팩토리 디스코드https://bit.ly/3HzRzUMFlutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다! text field의 label를 정렬할때Column에 Text와 TextField의 자식이있는데label정렬시에textAlign: TextAlign.start로 적용은 안되고 Column의 crossAxisAlignment를 start로 주었습니다. textAlign이 왜 적용이 안되는지 알기위해text에다가 backgroundColor을 주었더니 딱 label글자크기만큼 차지하는것을 알수있었습니다.Widget build(BuildContext context) { return Column( crossAxisAlignment: CrossAxisAlignment.start, //세로축(주축)은 최대너비 / 가로축(반대축은 최소너비) children: [ Container( width: 900, color: Colors.red, child: Text( label, style: TextStyle( color: PRIMARY_COLOR, fontWeight: FontWeight.w600, backgroundColor: Colors.blue, ), textAlign: TextAlign.end, //??왜 이게아니고 crossAxis를 start로 정렬해야하는지.. ), ), textAlign의 사용법을 보니 Text위젯에 Container를 감싸서 너비를 준다음에 textAlign으로 정렬을 하더라고요text의 너비는 그대로 글자크기만큼이고Container의 너비에서 정렬하는게 textAlign인것 같은데 왜 Column으로 감싼 경우는 textAlign이 적용 안되는건가요?? crossAxisAlignment가 start, end 다 적용되는걸 보니 반대축(가로) 너비는 사이즈가 있는것 같아서요
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
dio HTTP 요청 결과 처리
안녕하세요! dio 활용한 http 요청 처리에 대해 질문이 있습니다. 해당 프로젝트의 경우 http 요청의 response body에 맞는 model을 jsonSerializable로 생성하고, 해당 model을 return type으로 갖는 함수를 repository에 선언하여 response body를 model.fromJson 형태로 가져오는 걸로 이해했습니다. 하지만 이 경우 response body가 기존에 선언한 model의 형태와 동일한 경우에만 fromJson으로 받아올 수 있고, 다른 에러 코드 등(400 BAD_REQUEST)에 의해 response body가 다른 형태로 오게 된다면 처리가 불가능 할 것 같습니다. 이런 경우 프론트엔드에서 요청 처리를 어떻게 진행해야 하나요? repository의 함수에서 response.data 만 return 해주는 경우 해당 함수를 호출하는 다른 provider에서는 예외 처리가 어려울 것 같아서 질문드립니다!
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
캘린더 예제에서 한글 입력이 이상합니다.
캘린더 예제를 다 완성해서 돌려보고 있는데요.잘 돌아가는 거 같은데SW 키보드를 통한 입력도 그렇고HW 키보드를 통한 입력도 한글이 완성 조합이 안됩니다.정상) 테스트비정상) ㅌ ㅔ ㅅ ㅡ ㅌ ㅡ뭐가 문제일까요?
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
RestaurantDetail 캐싱
Restaurant 와 RestaurantDetail 가 서로 연결될 수 있게 설계를 했기 때문에, detail 캐싱이 가능한걸까요?현업에서 강의와 다르게 설계가 되어 있다면 별도의 상태를 하나 더 만들어야 할까요?==== 억지 가정 ====현업에서Restaurant 의 이미지는 thumbUrl 로, RestaurantDetail 의 이미지는 detailThumbUrl 로 설계가 되어 있다는 가정
-
미해결플러터와 장고로 1시간만에 퀴즈 앱/서버 만들기 [무작정 풀스택]
혹시 강의 따라하시려는 분들
RaisedButton 은 ElevatedButton 으로 변경 되었고 스타일 폼 주는 것도 조금 바뀌었습니다 참고하세요
-
해결됨[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter
authentication_repository.dart 오류 질문합니다.
구글 로그인 버튼을 누르면 이런 오류가 뜨는데뭐가 잘못된 걸까요??
-
해결됨[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter
signup_page.dart 오류 질문있습니다.
프로필 이미지 업로드 기능 개발 강의 듣는 중위와 같은 오류가 나는데어디 부분을 확인해야 할까요?
-
해결됨[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
섹션 15/ imagePicker 사용해보기/ 2:27초 부분 계속 오류가 나서요 도와주세요 선생님~
(사진)