묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
GoRouter return이 안됩니다.
final routeProvider = Provider<GoRouter>( (ref) { print('1 : routeProvider 실행'); final authState = ref.watch(authProvider); print('1 : authState is ${authState}'); print('------GoRouter return!!-------'); return GoRouter( initialLocation: '/', routes: authState.route, refreshListenable: authState, redirect: authState.redirect, ); }, ); 위에서 return GoRouter하는 순간 위와 같은 오류가 발생하네요...ㅠ몇 시간을 고민해도 도저히 모르겠습니다.복기하면서 나는 오류인데, 그 전에 강의 보면서 해놓은거랑 똑같이해도 이것만 오류가 나네요... 도와주세요
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
class 문법 관련하여 질문있습니다.
final homeUrl = Uri.parse('https://blog.codefatory.ai');homeUrl을 해당 변수를 사용하는 클래스 밖(상위)에서 선언하는건 어떤이유인가요? loadRequest()가 수행되는공간과 같은 공간에 위치시켰더니'the instance member 'homeUrl' can't be accessed in an initializer. Try replacing the reference to the instance member with a different expression.' 이란 에러가 뜨더군요.클래스 컨스트럭터 내에서 변수를 사용하려면 상위공간에 미리 선언해야만 하는것인가요?(이전 코드에선 web view위젯 안에서 homeUrl을 call했기에 webview위젯 밖에 선언되어있어서 괜찮았던거라고 이해해도되는걸까요? WebViewController controller = WebViewController() ..setJavaScriptMode(JavaScriptMode.unrestricted) ..loadRequest(homeUrl);새로 등장한 이 코드에서 (..)은 찾아보니 cascade notation 이라는 문법이더군요.맞다면 WebViewController controller = WebViewController();controller.setJavaScriptMode(JavaScriptMode.unrestricted);controller.loadRequest(homeUrl);과 같은 뜻일텐데 이 코드처럼 풀어서 쓰려하면' the name of a constructor must match the name of the enclosing class'라는 에러가 뜹니다. 이는 왜일까요?
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
UserModel 에서는 IModelWithId를 implements하지 않는 이유가 있나요?
pagination을 할때 사용할 모델들에 IModleWIthId를 implements 한다고 하셨는데, UserModel 에서는 어떤 이유가 있어서 하지 않으신건가요?
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
mainAxisSize
mainAxisSize는 주축 크기를 max일때 부모위젯의 크기만큼 꽉채우고,min일때 자식위젯들의 크기만큼만 채우는게 맞나요?그럼 따로 mainAxisSize파라미터를 사용하지 않을때는 defalut값이 max인건가요??
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
yaml구조 공부링크 요청드립니다
안녕하세요. 강의 중간에 yaml에 대해 더 궁금한 사람들을 위해 링크를 남겨주신다 하셨는데, 수업자료나 다른곳에서 링크를 찾을수가 없어서 질문드립니다.
-
미해결Flutter 중급 1편 - 클린 아키텍처
의존성 주입 질문있습니다.
안녕하세요~ 덕분에 클린 아키텍쳐 구조 잘 공부했습니다.혹시 의존성 주입부분에서 질문이 있습니다.제가 개인적으로 연습을 하면서 클린 아키텍쳐를 적용하고 있습니다./di/provider_setup.dart 에서 한번에 의존성 주입List<ChangeNotifierProvider> getProviders() { final dio = Dio(); SongRepository repository = SongRepository(dio); UseCases useCases = UseCases( getSearchSong: GetSearchSongUseCase(repository: repository), getSearchSinger: GetSearchSingerUseCase(repository: repository), getRecentlySongsList: GetRecentlySongsListUseCase(repository:repository), ); SearchViewModel searchViewModel = SearchViewModel(useCases: useCases); HomeViewModel homeViewModel = HomeViewModel(useCases: useCases); return [ ChangeNotifierProvider(create: (_) => searchViewModel), ChangeNotifierProvider(create: (_) => homeViewModel), ]; }main 에서 주입void main() { // provider 호출 final providers = getProviders(); runApp( MultiProvider( providers: providers, child: const MyApp(), ), ); }context.watch<SearchViewModel>(); 은 잘 작동해서 뷰에 출력을 잘 하고있습니다.class _SearchScreenState extends State<SearchScreen> { @override Widget build(BuildContext context) { final searchViewModel = context.watch<SearchViewModel>(); final state = searchViewModel.state; ... }context.watch<HomeViewModel>();은 에러가 발생합니다.class _Body extends StatelessWidget { const _Body({Key? key}) : super(key: key); @override Widget build(BuildContext context) { final homeViewModel = context.watch<HomeViewModel>(); final state = homeViewModel.state; ... }에러내용======== Exception caught by widgets library ======================================================= The following ProviderNotFoundException was thrown building _Body(dirty): Error: Could not find the correct Provider<HomeViewModel> above this _Body Widget This happens because you used a `BuildContext` that does not include the provider of your choice. There are a few common scenarios: - You added a new provider in your `main.dart` and performed a hot-reload. To fix, perform a hot-restart. - The provider you are trying to read is in a different route. Providers are "scoped". So if you insert of provider inside a route, then other routes will not be able to access that provider. - You used a `BuildContext` that is an ancestor of the provider you are trying to read. Make sure that _Body is under your MultiProvider/Provider<HomeViewModel>. This usually happens when you are creating a provider and trying to read it immediately. For example, instead of: ``` Widget build(BuildContext context) { return Provider<Example>( create: (_) => Example(), // Will throw a ProviderNotFoundError, because `context` is associated // to the widget that is the parent of `Provider<Example>` child: Text(context.watch<Example>().toString()), ); } ``` consider using `builder` like so: ``` Widget build(BuildContext context) { return Provider<Example>( create: (_) => Example(), // we use `builder` to obtain a new `BuildContext` that has access to the provider builder: (context, child) { // No longer throws return Text(context.watch<Example>().toString()); } ); } ``` If none of these solutions work, consider asking for help on StackOverflow: https://stackoverflow.com/questions/tagged/flutter The relevant error-causing widget was: When the exception was thrown, this was the stack: #0 Provider._inheritedElementOf (package:provider/src/provider.dart:343:7) #1 Provider.of (package:provider/src/provider.dart:293:30) #2 WatchContext.watch (package:provider/src/provider.dart:693:21) #3 _Body.build (package:what_do_you_want_to_sing/presentation/home/home_screen.dart:79:35) #4 StatelessElement.build (package:flutter/src/widgets/framework.dart:4949:49) #5 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4878:15) #6 Element.rebuild (package:flutter/src/widgets/framework.dart:4604:5) #7 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2667:19) #8 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:882:21) #9 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:378:5) #10 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1175:15) #11 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1104:9) #12 SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:881:7) (elided 4 frames from class _RawReceivePortImpl, class _Timer, and dart:async-patch)저번에 이런 에러가 발생했을때, 의존성 주입이 안된 상태에서 context.watch() 를 해서 오류가 나 의존성을 추가해 해결했습니다.하지만 이번에는 잘모르겠습니다. 의존성도 잘 주입되어서 view 단에서 잘 호출 하고 있는거 같은데.. 어떻게 해결해야할까요?
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
sdk 오류 문의입니다...
Android toolchain 부분에 오류가 발생하여 아래 명령어인 flutter doctor --android-licenses를 실행했을 때, 아래와 같은 에러가 발생합니다.JAVA_HOME 환경변수는 아래와 같습니다.도움 부탁드립니다!
-
미해결Flutter + Firebase로 넷플릭스 UI 클론 코딩하기 [무작정 플러터]
CarouselImage문제
안녕하세요, home_screen.dart 페이지에서 movies이 부분도 빨간줄이 쳐져 있습니다.어떻게 해결해야 할까요?
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안녕하세요. stream관련해서 질문드립니다.
stream강의 처음코드에선 controller라는 변수에 streamcontroller()를 할당해주고 stream이라는 변수에 controller.stream을 할당해주고나서 stream을 사용할수있었는데요.두번쨰 calculate 코드에선 해당작업을 하지않고도 listen을 할수있더라고요. 이 이유는 무엇인가요?? 또한 첫코드에선 broadcaststream을 사용해야 여러번 리슨할수있다고 하셨는데 두번째 calculate코드에서 제가 임의로 playcalculate().listen((val) {print('$val');}); 스테이트먼트를 두개만들어서 시험해봤을땐 broadcaststream과 같은 기능을 하더군요. 이는 Stream<int> playasync()async*{ yield* claculate(1);yield* claculate(1000);}처럼 stream<>데이터타입을 가진 함수를 만들게되면 dynamic처럼 Single subscription streams와 Broadcas streams 어떤 종류로 써도 무방하게 만들어진것인가요??
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
서버쪽 /user/me api에서 에러가 나서 확인해보니..
서버쪽 bearer-token.guard.ts 쪽에서 토큰으로 유저정보 만드는 부분에 아래처럼 sub으로 유저정보를 검색하는데 sub이 user id이더라구요.. 그래서 user 값이 제대로 조회가 안되서 에러가 발생했었습니다.request.user = await this.userService.findByUsername(payload.sub);일단 payload.username으로 검색하게 하니 잘되는것 같습니다~
-
미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
안드로이드 에뮬레이터 실행오류
강의대로 인스타그램 클론까지 작성후앱을 실행해서 테스트를 진행하려고하는데앱[Flutter]아이콘이 안보입니다..혹시몰라서 강의목차중 '안드로이드 에뮬레이터 설치 및 데모 앱 실행' 강의를 듣고 따라해보니화면이 다르게 보입니다. 강의 화면은 데모앱이 실행되는데제화면은 안드로이드가 실행되어버리며 강의에 나오는 앱[Flutter]아이콘이 안보입니다.*환경 : Windows프로그램 : 안드로이드 스튜디오*에뮬레이터 실행후 상단에서 선택후 실행시 아래와 같은 오류가 발생하네요..
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
sdk 오류 문의드립니다
인녕하세요 안드로이드 라이센스 추가시 오류가 나는데 해결방법 문의드립니다 기존에 c:/app/ 경로에 안드로이드 스튜디오가 깔려있었는데요xl예물레이터는 실행시 오류가나서 일단 다른 디바이스로 실행 시켰습니다.문의내용: 안드로이드 라이센스 추가시 오류1.sdk 매니저에서 영상에 나온 항목 설치(Android SDK Command-line Tools 등등)2.환경변수 설정위 두가지 내용들 다 적용된것도 확인했는데 해결방법을 모르겠습니다확인해봐야할 부분 알려주시면 감사하겠습니다
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Basic Video Call을 통해서 영상 접속이 처음에만 되는 이유가 뭘까요?
코드를 그대로 따라하면서 작성했는데이상하게도 영상 마지막 부분에서 나온 웹사이트를 통해서 시도해보면채널 참가 첫 1회시에만 기능하고채널 나가기를 누른 후 다시 참여할때는 emulator에서 아무리 기다려도 채널에 유저가 없습니다 가 뜹니다.이유를 찾으려고 해봤지만,, 쉽지 않네요...
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
DateTime selectedDate = DateTime(DateTime.now().year);
DateTime selectedDate = DateTime(DateTime.now().year);7분10초 쯤여기서 00시부터 다시 시작 한다고 하셨는데이런 식으로 코드 작성하게 되면 시간은 0으로 초기화 되는 건가요?
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
프로젝트 생성시 이름 제한?
안드로이드 스튜디오에서프로젝트 생성시 이렇게 나오는데...이게 안드로이드스튜디오 버전에 따라 다른걸까요?이름 방식이 틀렸다라는것으로 이해되는데 ㅠㅠ 다르게 이름을 쓰니까 또 되긴하거든요... 또 추가로 안드로이드 스튜디오에서 iOS시뮬레이터를 구동했는데재생버튼을 누르려고 보니계속 No device selected라고 나오네요 ㅠㅠ재부팅도 했는데뭔가 잘못한걸까요 항상 감사합니당
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
[에러] GoRouter 적용, 401 에러가 뜹니다
안녕하세요/data big작성일 22.09.26 18:06 조회수 28GoRouter 프로젝트에 적용하기 / Authentication 마무리하기 강의 단계에서서버에서 401 Unauthorized 에러가 발생합니다. 라고 글이 검색되었는데, 저도 비슷합니다.다만 저는 로컬호스트/유저/미 로그를 클릭하면토큰이 없다고 나오고요,부랴부랴 포스트맨에서 로그인 포스트 해보면리프레시토큰/억세스토큰 잘 받아옵니다다만 그 이후에 auth/token을 하면 잘못된 토큰이라고 나오네요.저 역시 첫 에러는 user_me_repository.g.dart,두번째로 가리키는 곳은 user_me_provider 입니다final resp = await repository.getMe(); 네요강사님 코드와 일치하는 것 확인했고, 혹시나 싶어서강사님 코드 긁어서 붙여넣기도 해봤습니다.저 역시 아이폰 시뮬레이터에선 splash_screen에서 멈추고무한 프로그레스 인디케이터만 돌고 있습니다. 추가합니다(꼼수로 /splash가 아니라 /restaurant로 initialLocation 변경한 다음에미리 만들어놓은 로그아웃 탭으로 가서 로그아웃하고 다시 로그인 하니 되네요..그리고 다시 /splash 원상복구시키니 됩니다.다만 포스트맨에서는 여전히 잘못된 토큰이라고 나오네요.고라우터 버전은 ^4.4.2 으로 맞춰놓고 따라가고 있습니다) 또 추가합니다맨 위에서 언급한 다른 질문글과 에러 로그는 같은데,이런 식?으로 우회하면 되는 건가요? 그냥 순간 안맞는 경우가 있는 건가요?
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Agora API 프로젝트 삭제하는 방법
안녕하세요! 강의대로 Agora 사이트에서 프로젝트를 생성했습니다. 그후 실수로 app id를 노출하게되어 해당 프로젝트를 삭제하고 새로운 프로젝트를 생성하고 싶은데, Create 버튼은 있으나 삭제 버튼이 보이지 않아 질문 드립니다.프로젝트를 삭제하는 방법을 알려주시면 감사하겠습니다!
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Vscode 질문이요~!
안녕하세요 작년에 혼자 vscode로 플러터 깔짝하다가 올해 각잡고 해볼려고 코팩님 mac 셋업 따라하고 vscode로 시뮬레이터 작동이 안되는데요 operation not permitted exit code 126이런 메세지? 가 뜨는데요 제 추측으로는 터미널 설정 때문에 에러가 나는거 같은데요전 vscode가 친숙한데 어떻게 방법 없을까요?flutter doctor 로 체크했을 땐 이상 없습니다!!
-
해결됨Flutter 앱 개발 기초
강의 내 Flutter 버전 문의
안녕하세요.제가 못찾아서 그런지 강의에 이용되는 Flutter 버전을 어떻게 맞추어야 하나요~?
-
미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
firebase 연동 중 오류 질문
안녕하세요 강사팀 . Flutter 입문 - 안드로이드, iOS 개발을 한 번에 강의 수강중에 있으나강의와 동일하게 적용해도 해당 메시지가 출력되어 문의드립니다.깃허브에 올려놓으신 코드와도 다른게 없는것 터미널에서 friebase login 입력시해당메시지가 출력됩니다.*다른분도 비슷한 사례에 답변달린게 있어 동일하게 진행해봤는데 안되네요..