[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
bottomnavigatorbar만 사용할때와 bottomnavigatorbar와 tabbarview를 사용하는데 physics: NeverScrollableScrollPhysics() 이 조건을 추가하는거랑 어차피 bottomnavigatorbar로만 화면 이동이 가능한데 두개의 차이점이 무엇인지 궁금합니다!
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
table_calendar에서 onRangeSelected를 사용하다가 시작일과 종료일이 2일 이상이 아니라 하루로 기간을 설정하고 싶을 땐 어떻게 해야할지 궁금해서 질문드립니다. 선택한 기간의 시작일과 종료일의 날짜를 다른 페이지로 전달하려고 할 때 시작일만 선택하고 전달해주면 되는 것일까요?
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
provider로 pagination을 하는데 이렇게 전체 데이터를 불러오는 경우를 제외한 카테고리 별로 불러오기 검색으로 불러오기 위의 경우가 있을 때 보통 어떻게 하나요 같은 provider를 쓴다면 state를 초기화하고 prameter를 다르게 하여 불러오나요 아니면 카테고리별 검색 별 provider를 따로 만들어서 불러오나요?
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요. 강사님 페이스북 sns 로그인 기능을 추가하여 앱 사용하고 있었습니다. 현재 안드로이드는 페이스북 로그인 사용 가능하도록, ios는 로그인 아이콘을 숨김 처리하여 사용 하지 못하게 막아 놓은 상태입니다. 이런 sns 로그인 기능의 경우 안드로이드, ios 동일하게 사용하도록 아이콘을 오픈해야하는지와 플랫폼 정책이 있는지 궁금합니다. 감사합니다.
안녕하세요. banner.js에서 질문이 있습니다 이 부분에서 왜 async await를 사용하셨는지 궁금합니다! const fetchData = async () => { // 현재 상영중인 영화 정보를 가져오기(여러 영화) const request = await axios.get(requests.fetchNowPlaying); // 여러 영화 중 영화 하나의 ID를 가져오기 const movieId = request.data.results[ Math.floor(Math.random() * request.data.results.length) ].id; // 특정 영화의 더 상세한 정보를 가져오기(비디오 정보도 포함) const { data : movieDetail } = await axios.get(`movie/${movieId}`, { params: {append_to_response: "videos"}, }); setMovie(movieDetail); }
강의 마지막 부분에 StreamSubscription 해제 관련해서 질문드립니다. dispose에서 _subscription?.cancel(); 해주는데 다시 화면에 들어가면 오류가 발생하여 StreamController 의 속성을 boradcast 로 주어 오류를 해결하셧는데 stream 을 해제해야 StreamSubscription 이 해제되어야 할 것 같은데 broadcast 에서는 이전에 구독한게 계속 남아있지 않을까요??
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
Authentication 마무리하기 편에서 onPressed: () async { ref .read(userMeProvider.notifier) .login(username: username, password: password); userMeProvider 프로바이더를 쓰고 나서 로그인 하면 로그인이 안되고 에러 메세지에 WRONG_VERSION_NUMBER(tls_record.cc:242)) 이렇게 뜨는데 그냥 작성한 코드 중 어디가 틀린걸까요 ? ㅠㅠ
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
typedef ColorIdSetter = void Function(int id); 정의를 해서 ColorIdSetter는 int id값을 받는 함수라고 이해했습니다. 그리고 아래 코드에서 색상을 누르면 해당 색상의 id 값을 넘겨주는 것까지 이해했습니다 GestureDetector( onTap: () { colorIdSetter(e.id); }, 잘 이해가 되지 않는 부분은, final ColorIdSetter colorIdSetter; 위 코드 처럼 외부에서 받게 되면 아래 코드를 입력할때 (int id) 값을 어떻게 받아 와서 selectedColorId에 id를 넘겨줄 수가 있는 건지 잘 이해가 되지 않습니다. colorIdSetter: (int id) { setState(() { selectedColorId = id; }); }, onTap 메소드 안에서 colorIdSetter( e.id )로 넣어준 id 값이 colorIdSetter: (int id) {} 의 id로 들어가게 되는건가요? 어떻게 그렇게 되는지 몇번을 봐도 이해가 되지 않아서 질문 남깁니다 ㅠㅠㅠ 코드를 계속 보고 있으니까 점점 미궁으로 들어가는 거 같네요,,
FAILURE: Build failed with an exception. * What went wrong: A problem was found with the configuration of task ':app:processDebugResources' (type 'LinkApplicationAndroidResourcesTask'). - In plugin ' com.android .internal.version-check' type ' com.android.build .gradle.internal.res.LinkApplicationAndroidResourcesTask' property 'androidJarInput.androidJar' specifies file 'C:\Users\user\AppData\Local\Android\sdk\platforms\android-33\android.jar' which doesn't exist. 강의보고 안드로이드스튜디오에서 Pixel2 API 29로도 해보고 Pixel2 API UpsideDownCakePrivacy어쩌구(최신버전)로도 해봤는데 동일하게 Run with Debugging을 했을 때 위의 오류가 뜨면서 실행이 되지않습니다. 어디가문제일까요
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안녕하세요 코드팩토리님! 다트의 기초부터해서 플러터까지 강의 정말 잘 듣고 있습니다. 설명을 너무 잘해주셔서 이해가 잘 되고 새로운 것을 알아가는 기쁨을 느끼게 해줘서 고맙습니다! 개인적으로 챗gpt api를 이용한 간단한 챗봇 만들기 프로젝트를 하고 있는데 며칠 째 해결이 안되는 부분이 있어서 문의드립니다. 한 번 봐주시면 정말 감사드리겠습니다. 기본적으로 챗gpt에 영어로 질문하고 영어로 대답을 받아오는 것을 만들었습니다. 다음으로 구글 translate()를 통해서 사용자가 한글로 입력한 것을 영어로 번역하고 챗gpt로 넘겨주고 화면에는 한글로 표시하게까지는 완료했습니다. 그런데 이제 화면에서 보는 바와 같이 챗gpt의 답변만 영어로 바꾸면 되는데 여기서 에러가 뜹니다. child: IconButton( icon: const Icon( Icons.send_rounded, color: Color.fromRGBO(142, 142, 160, 1), ), onPressed: () async { var beforeTransText = _textController.text; var translationUser = await beforeTransText.translate( from: 'ko', to: 'en', ); setState( () { _messages.add( ChatMessage( text: _textController.text, chatMessageType: ChatMessageType.user, ), ); isLoading = true; }, ); // var input = _textController.text; var input = translationUser.text; _textController.clear(); Future.delayed(const Duration(milliseconds: 50)) .then((_) => _scrollDown()); generateResponse(input).then((value) { setState(() { isLoading = false; _messages.add( ChatMessage( text: value, chatMessageType: ChatMessageType.bot, ), ); }); }); _textController.clear(); Future.delayed(const Duration(milliseconds: 50)) .then((_) => _scrollDown()); }, ), ), ); } 코드입니다. 제가 이해한 바는 아래와 같습니다. send 아이콘 버튼을 누르면 입력 받은 자료를 번역하고 ChatMessage()로 챗봇 기능을 사용하게 합니다. 다음으로 밑에 generateResponse(input).then((value)){} 로 챗gpt의 대답을 받아서 _message.add로 화면에도 추가하고 ChatMessage()로 값을 받는데 이 때 text: value를 저는 한글로 번역하기 위해서 이 부분을 다음과 같이 바꾸면 에러가 뜹니다. text: value.translate(from: 'en', to: 'ko'), 에러는 Error: The argument type 'Future<Translation>' can't be assigned to the parameter type 'String'. 이 방법 외에도 어떻게해도 자꾸 이런 타입에 String을 할당할 수 없다고 만 뜹니다ㅠㅠㅠ 도와주시면 정말 감사하겠습니다.. 아래는 ChatMessage 클래스입니다. enum ChatMessageType { user, bot } class ChatMessage { ChatMessage({ required this.text, required this.chatMessageType, }); final String text; final ChatMessageType chatMessageType; } 긴 질문 읽어주셔서 감사합니다!^^ 꼭 답변 부탁드립니다.. 그럼 좋은 하루되세요 - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 코드팩토리 디스코드 https://bit.ly/3HzRzUM Flutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다!