묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
WebView 실행 시 빈화면
안녕하세요.WebView 실행 시 시뮬레이터가 빈화면으로만 나옵니다.그래서 블로그 말고 m.naver.com으로 하면 네이버 화면은 나오는데, 블로그만 뜨질 않습니다.구글링을 해서 플러그인도 써보았지만 안되서 방안을 요청드립니다. 해결방안이 있을까요? 원격지원도 가능하실까요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
이미지 관련 질문
질문하기에 앞서 너무 친절한 답변 감사드립니다.강의를 듣는도중에 이미지 관련해서 절대 배포하면 안된다고 하셨는데 깃허브에 올려도 안되는걸까요..?
-
미해결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 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
질문
OOP 강의에서 상속 공부하던 중 의문이 생겨 질문 드립니다.void main() { print('-------------Idol-------------'); Idol apink = Idol(name: "에이핑크", members_count: 5); apink.say_name(); apink.say_members_count(); // apink.say_male(); - 이건 X print('-------------boy_group-------------'); boy_group bts = boy_group('bts',7); bts.say_name(); bts.say_members_count(); bts.say_male(); print('-------------girl_group-------------'); girl_group red_velvet = girl_group('Red Velvet',5); red_velvet.say_name(); red_velvet.say_members_count(); red_velvet.say_female(); print('-------------type_comparison-------------'); print(apink is Idol); print(apink is boy_group); print(apink is girl_group); print('-------------type_comparison2-------------'); print(bts is Idol); print(bts is boy_group); print(bts is girl_group); print('-------------type_comparison3-------------'); print(red_velvet is Idol); print(red_velvet is boy_group); print(red_velvet is girl_group); } // 상속 - inheritance // // 상속을 받으면, 부모 클래스의 모든 속성을 자식 클래스가 부여받는다. class Idol { //이름 String name; //멤버 숫자 int members_count; Idol({ required this.name, required this.members_count, }); void say_name() { print("저는 ${this.name}입니다."); } void say_members_count() { print("${this.name}은 ${this.members_count}명의 멤버가 있습니다."); } } // super가 부모를 의미하는! class boy_group extends Idol { boy_group( String name, int members_count, ) : super( name: name, members_count: members_count, ); // 밑의 super(~~) 이것이 Idol(~~) 을 의미하는 것임! 즉, 부모의 constructor 의미하는 것! void say_male(){ print("저는 남자아이돌입니다"); } } class girl_group extends Idol { girl_group( String name, int members_count, ) : super( name: name, members_count: members_count, ); // 밑의 super(~~) 이것이 Idol(~~) 을 의미하는 것임! 즉, 부모의 constructor 의미하는 것! void say_female(){ print("저는 여자아이돌입니다"); } }여기에서는 name : name을 함으로써, 자식 class에서 받은 name을 부모 class의 name으로 복사해준다/넣어준다고 하셨는데, 그 다음 코드void main() { TimesTwo tt = new TimesTwo(2); print(tt.calculate()); TimesFour tf = new TimesFour(2); print(tf.calculate()); } // method : function인데, class 내부에 있는! // override - 재정의 (우선시하다. 덮어쓰다) class TimesTwo { final int number; TimesTwo( this.number, ); //method int calculate() { return number * 2; } } class TimesFour extends TimesTwo { TimesFour( int number, ) : super(number); // @override //생략해도 되는데, 예의상 기입한다. int calculate() { // return super.number * 4; return super.calculate() * 2; // 이것도 가능! } } 이 내용을 보면, 부모class는 그냥 number인 것이 왜 그런 것이지 잘 이해가 안 됩니다. number:number가 아닌 이유가 어떤 것일까요?? named(required)의 여부가 이를 결정한 것일까요??
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Failed to reformat code 오류
HomeScreen(), 할때 대문자 S가 입력이 안되고 Failed to reformat code 해당 오류가 발생됩니다ㅜㅜ찾아봐도 안나오네요..
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
flutter doctor 실행시 다름 ㅠㅠㅠ
flutter doctor 실행 했을때 이렇게 나옵니다.2번째꺼는 저기서 말한 가이드 대로 flutter doctor --android-licenses이렇게 나와요...ㅠㅠㅠ그리고 마지막 [!] Android Studio (version 2022.1) ✗ Unable to find bundled Java version. 이부분은 어떻게 해결해야할지 모르겠습니다. ㅠㅠㅠㅠ
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
카메라 위치 애니메이션으로 이동하기 수강중 질문
똑같이 따라 했는데IconButton에서 mapController 사용 시빨간줄이 뜹니다 ㅠㅠ왜이런가요?
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
typedef itemBuilder 제네릭 관련 질문이 있습니다.
아래처럼 itemBuilder를 넣어봤는데요, Widget build(BuildContext context) { return PaginationListView( provider: restaurantNotifierProvider, itemBuilder: itemBuilder<RestaurantModel>); } Widget itemBuilder<T extends IModelWithId>(BuildContext context, int index, T t) { t as RestaurantModel; return GestureDetector( onTap: () { Navigator.of(context).push( MaterialPageRoute( builder: (_) { return RestaurantDetailScreen( id: t.id, ); }, ), ); }, child: RestaurantCard.fromModel( restaurantModel: t, ), ); } }아래와 같은 에러가 나옵니다type '(BuildContext, int, RestaurantModel) => Widget' is not a subtype of type '(BuildContext, int, IModelWithId) => Widget'근데, RestaurantModel implements IModelWithId라고 해주었으니 상속관계가 있는데 왜 subtype이 아니라는걸까요?
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
[상태관리] Riverpod을 쓰신 이유가 있으신가요?
안녕하세요 상태관리 라이브러리 관하여 여쭤볼게 있습니다.상태관리 라이브러리가 많은데 그중 riverpod을 쓰시는 이유가 있으신가요?다른 상태관리 라이브러리 (Provider, Bloc, Get 등)을 사용해도 강의에 나온것과 같은 기능, 같은 패턴으로 구현할수 있나요?
-
해결됨[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
질문!
Idol blackpink = new Idol( ~~~ )Idol blackpink = Idol( ~~ )이렇게 둘 다 가능하다는 내용을 보았습니다.const생성자를 적용시킬 경우, 후자는 const Idol( )을 하면 error가 발생하지 않는데, 전자의 경우에는 new const Idol( ) 을 해도, const new Idol()을 해도 error가발생하는데 어떻게 해야 할까요? 후자의 경우에는?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
selectedDayPredicate 인자인 date를 이해하지 못하겠습니다.
selectedDayPredicate: (DateTime date) { print('Date 정체 ${date}${date.hour}'); if (selectedDay == null) { return false; } return date.year == selectedDay!.year && date.month == selectedDay!.month && date.day == selectedDay!.day; },date가 갑자기 인자로 들어와서이게 무슨 값인지 잘 몰라 프린트를 해보니'Date 정체'로 해서 34개의 날짜가 프린트 됩니다.date 값이 어떻게 들어가는 걸가요?
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
Dio 질문드립니다.!
Dio에 interceptor을 붙여서 토큰 만료일때 갱신을 해주는데, Future.wait 로 병렬적으로 요청할때 연속된 요청에 대해서는 어떻게 처리되나요?
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
CursorPagination 캐스팅 관련 문의
죄송하지만, 어제 질문을 남겼는데 제가 제대로 궁금한 사항을 전달하지 못한 거 같아 다시 질문드립니다.paginate함수에서 왜 꼭 final pState = state as CursorPaginationFetchingMore<T>; 해주어야만 하는지 잘 이해를 못하겠습니다. 강의에서 처럼,final resp = await repository.paginate(paginationParams: paginationParams); if (state is CursorPaginationFetchingMore) { final pState = state as CursorPaginationFetchingMore<T>; // 기존 데이터에 새로운 데이터 추가 state = resp.copyWith( data: [ ...pState.data, ...resp.data, ], );이 아닌, final resp = await repository.paginate(paginationParams: paginationParams); if (state is CursorPaginationFetchingMore) { state as CursorPaginationFetchingMore<T>; // 기존 데이터에 새로운 데이터 추가 state = resp.copyWith( data: [ ...state.data, ...resp.data, ], );으로 하게 되면 왜 data가 자동완성이 안되는 걸까요? state의 상태를 CursorPaginationBase로만 인식을 해서 안되던데, CursorPaginationFetchingMore extends CursorPaginationBase를 했으니, state as CursorPagination<T>이라고 해도 .data를 인식해야 하는거 아닌가요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
flutter doctor 오류 질문
flutter doctor 시 아래와 같은 오류가 나는데...다시 해봤는데 잘 안되더라구요해결방법 질문 드립니다ㅠ
-
해결됨[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Future / async - await
안녕하세요, 선생님.기초적인 것 같은데 이해되지 않는 부분이 있어 질문드립니다.다트 공식문서상에 있는 예제입니다. void main(){ print(createOrderMessage()); } String createOrderMessage() { var order = fetchUserOrder(); return 'Your order is $order'; } Future<String> fetchUserOrder() async { return await Future.delayed(const Duration(seconds: 2), () => 'Large Latte'); } 결과:Your order is Instance of 'Future<String>'로직적으로 해석를 시도해보았고 다른 예제들도 실행하면 잘 되는데..이 예제만 궂이 main함수에 Future를 집어 넣어주야 'Large Latte'를 받을 수 있다는게 ....기본 강의를 돌려보아도 이해가 되지 않는데...좀 상세히 설명 해 주실 수 있을까요?
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
CursorPagination 캐시팅 관련 문의
paginate 함수에서, final pState = state as CursorPagination 하는 분에서요,state as CursorPagination 하면 state.data라고 자동완성이 안되던데 왜 그런가요?데이터타입을 CursorPaginationBase로만 인식하던데 as CursorPagination을하면 확실한 다운캐스팅에선 data가 인식 되어야 맞는거 아닌가요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
flutter doctor 실행시 zsh: command not found: flutter가 떠요
어떡해야 하나요? ㅠ인터넷보고 ~/.zshrc 파일을 수정도 해봤는데 안되네요 - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.코드팩토리 디스코드https://bit.ly/3HzRzUMFlutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다!
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
bottomsheet 사용하기중 ios simulator에서 키보드가 보이지 않아요~
올려주신 강의는 이렇게 하단에 키보드가 보이는데저는 보이지가 않네요 혹시 버전차이 때문인지 아니면이 키보드도 활성화하는 문법이 있는지 궁금합니다!
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
AuthRepository 클래스 token() 함수는 Dead Code 아닌가요?
AuthRepository 클래스에서 token() 함수는 전혀 호출되지 않는거 같은데, Dead Code인가요? (Dead Code가 아니라면, 어디서 호출 되는지 설명 부탁드립니다) Dead Code 가 맞다면, 아래 2개 파일도 필요가 없어서 삭제해도 되는 걸까요?token_response.darttoken_response.g.dart