묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Flutter 앱 개발 기초
android studio 설치시 오류
intel® haxm installation failed.Downloading Components 도중 위와 같은 오류가 뜨네요..구글링으로 해결법따라해보면될까요?
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
클래스 문의
미세먼지 강의에서 클래스를 인스턴스로 만들지 않고 ,변수를 직접사용하는 부분이 이해가 안됩니다.클래스를 인스터스화 하지않고 , 직접변수를 사용이 가능한가요? (static을 사용하면 변수를 직접사용 가능한것은 알고 있습니다. )class StatusModel { final int level; final String label; final Color primaryColor; final Color darkColor; final Color lightColor; final Color detailFontColor; final String imagePath; final String comment; final double minFineDust; final double minUltraFineDust; final double minO3; final double minNO2; final double minCO; final double minSO2; StatusModel( {required this.level, required this.label, required this.primaryColor, required this.darkColor, required this.lightColor, required this.detailFontColor, required this.imagePath, required this.comment, required this.minFineDust, required this.minUltraFineDust, required this.minO3, required this.minNO2, required this.minCO, required this.minSO2}); }
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
TabBarView와 BottomNavigation 및 table_calendar 같이 사용할 시 화면에 안나오는 문제
캘린더 예시에서 캘린더 라이브러리와 배너랑 스케쥴카드를 한 화면에 넣잖아요. 바텀네비게이션바와 충돌이 나는 건지.. Column(children:)으로 감싸면 화면 에러가 나고 SafeArea/Container(child: )로 감싸면 잘 나옵니다. 탭바뷰List<Widget> renderChildren() { return [ RuleScreen(), TechniquesScreen(), TotalCalendarScreen(),<-- 이부분 CalculateScreen(), ]; }TotalCalendarScreen() 잘 나오는 경우 class TotalCalendarScreen extends StatefulWidget { @override State<TotalCalendarScreen> createState() => _TotalCalendarScreenState(); } class _TotalCalendarScreenState extends State<TotalCalendarScreen> { DateTime selectedDate = DateTime.utc( DateTime.now().year, DateTime.now().month, DateTime.now().day, ); void onDaySelected(DateTime selectedDate, DateTime focusedDate) { setState(() { this.selectedDate = selectedDate; }); } @override Widget build(BuildContext context) { return Scaffold( body: SafeArea( child: MainCalendar( onDaySelected: onDaySelected, selectedDate: selectedDate, ), ), ); } BOTTOM OVERFLOWED BY infinity PIXELS return Scaffold( body: SafeArea( child: Column( children: [ <-- 리스트로 감싸면 에러납니다. MainCalendar( onDaySelected: onDaySelected, selectedDate: selectedDate, ), SizedBox(height: 8), TodayBanner(selectedDate: selectedDate), SizedBox(height: 8), ScheduleCard(startTime: 12, endTime: 14, content: 'content'), ], ), ), ); 어떻게 해결하면 좋을까요?
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Reorderable ListView
이거 자주 안쓰신다고 하셧는데저는 생각나는게 그 todolist프로젝트할때 카드리스트 만들때 이걸로 만들면 카드 순서 바꿀때 좋겟구나 햇는데 카드 순서 바꾸는 스크롤뷰는 보통 멀로 만드시나요
-
해결됨[플러터플로우]코딩 없이 한 달 만에 앱 만들기
파이어베이스 아이디 질문
플러터플로우 관련 질파이어베이스 프로젝트 아이디 설정에서 generate config files을 눌러도 파이어베이스 프로젝트 아이디가 자동생성이 안되요.
-
해결됨GetX 기반 Flutter 앱 만들기
material theme
이거 material theme가져오는거 달라진거같은데 혹시 지금은 어떻게 할 수 있을까요?
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Widget build(BuildContext context) 의미
안녕하세요!StatefulWidget 라이프사이클 강의 중에 Widget build(BuildContext context)를 설명해주실 때 build함수에서Build Context와 context를 파라미터로 받을 수 있고 context를 변수로 사용할 수 있다고 하셨는데요, 이 부분에 대해 잘 이해가 가지 않아 문의드립니다.build는 함수이고 (Build Context context)는 build함수의 파라미터가 되는 것일까요?(Build Context context)의 각각 역할은 어떤 것일까요? context에 대해 변수라는 설명도 있었는데 같이 설명부탁드려요.감사합니다.
-
미해결[플러터플로우]코딩 없이 한 달 만에 앱 만들기
Postgre SQL 연결
안녕하세요. 강의 잘 듣고 있습니다!! ㅎㅎAndroidStudio를 살짝 맛 봤던 사람으로써 코드 없이 앱을 만들 수 있다는게 너무 편하고 좋네요.. FlutterFlow에서는 Firebase를 주로 사용하는데제가 맡은 업무에서는 Postgre 연결이 필요할 것 같아요 혹시 이 연결 방법은 고급 강의에서 들을 수 있나요?제가 postgre sql자체를 아예 몰라서...문서 찾기나 방법 찾기가 더욱 힘든 것 같아질문 남겨봅니다. 또한 자체 개발 백앤드 api를 연결 할 경우 방법이 쉬운 편인지도 여쭤보고싶어요 😃
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
MaterialStateProperty 없어지고 WidgetStateProperty 로 변경
MaterialStateProperty 없어지고 WidgetStateProperty 로 변경되었습니다
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
구글 맵스 ios 오류
Launching lib/main.dart on iPhone 15 in debug mode...Running pod install...CocoaPods' output:↳ [!] Invalid Podfile file: /Users/yurim/Desktop/flutter/chool_check_app/Flutter/Generated.xcconfig must exist. If you're running pod install manually, make sure flutter pub get is executed first. # from /Users/yurim/Desktop/flutter/chool_check_app/ios/Podfile:9 # ------------------------------------------- # unless File.exist?(generated_xcode_build_settings_path) > raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" # end # ------------------------------------------- /opt/homebrew/Cellar/cocoapods/1.15.2/libexec/gems/cocoapods-core-1.15.2/lib/cocoapods-core/podfile.rb:335:in `rescue in block in from_ruby' /opt/homebrew/Cellar/cocoapods/1.15.2/libexec/gems/cocoapods-core-1.15.2/lib/cocoapods-core/podfile.rb:329:in `block in from_ruby' /opt/homebrew/Cellar/cocoapods/1.15.2/libexec/gems/cocoapods-core-1.15.2/lib/cocoapods-core/podfile.rb:50:in `instance_eval' /opt/homebrew/Cellar/cocoapods/1.15.2/libexec/gems/cocoapods-core-1.15.2/lib/cocoapods-core/podfile.rb:50:in `initialize' /opt/homebrew/Cellar/cocoapods/1.15.2/libexec/gems/cocoapods-core-1.15.2/lib/cocoapods-core/podfile.rb:327:in `new' /opt/homebrew/Cellar/cocoapods/1.15.2/libexec/gems/cocoapods-core-1.15.2/lib/cocoapods-core/podfile.rb:327:in `from_ruby' /opt/homebrew/Cellar/cocoapods/1.15.2/libexec/gems/cocoapods-core-1.15.2/lib/cocoapods-core/podfile.rb:293:in `from_file' /opt/homebrew/Cellar/cocoapods/1.15.2/libexec/gems/cocoapods-1.15.2/lib/cocoapods/config.rb:206:in `podfile' /opt/homebrew/Cellar/cocoapods/1.15.2/libexec/gems/cocoapods-1.15.2/lib/cocoapods/command.rb:160:in `verify_podfile_exists!' /opt/homebrew/Cellar/cocoapods/1.15.2/libexec/gems/cocoapods-1.15.2/lib/cocoapods/command/install.rb:46:in `run' /opt/homebrew/Cellar/cocoapods/1.15.2/libexec/gems/claide-1.1.0/lib/claide/command.rb:334:in `run' /opt/homebrew/Cellar/cocoapods/1.15.2/libexec/gems/cocoapods-1.15.2/lib/cocoapods/command.rb:52:in `run' /opt/homebrew/Cellar/cocoapods/1.15.2/libexec/gems/cocoapods-1.15.2/bin/pod:55:in `<top (required)>' /opt/homebrew/Cellar/cocoapods/1.15.2/libexec/bin/pod:25:in `load' /opt/homebrew/Cellar/cocoapods/1.15.2/libexec/bin/pod:25:in `<main>'Error running pod installError launching application on iPhone 15.이렇게 에러가나서 지도가 나오지 않습니다 ㅜㅜ 도와주세요
-
해결됨[Python 초보] Flutter로 만드는 ChatGPT 음성번역앱
음성 인식 후 마이크 색깔이 변하지 않아요.
안녕하세요.강의를 보면서 쭈욱 진행하고 있는데, 에뮬레이터에서 음성인식을 테스트하면 음성인식이 완료되었음에도 마이크 색깔이 검정색으로 변하지 않습니다. 강의 내용대로 코드를 쳤는데 확인 부탁드립니다. (혹시 소스코드가 깃헙에는 없나요?..)import 'package:dash_chat_2/dash_chat_2.dart'; import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; import 'dart:convert'; import 'package:speech_to_text/speech_to_text.dart'; import 'package:speech_to_text/speech_recognition_result.dart'; class BasicScreen extends StatefulWidget { @override _BasicState createState() => _BasicState(); } class _BasicState extends State<BasicScreen> { bool isListening = false; SpeechToText _speechToText = SpeechToText(); bool _speechEnabled = false; String _lastWords = ''; @override void initState() { super.initState(); _initSpeech(); } ChatUser user1 = ChatUser( id: '1', firstName: 'me', lastName: 'me', ); ChatUser user2 = ChatUser( id: '2', firstName: 'chatGPT', lastName: 'openAI', profileImage: "assets/img/gpt_icon.png" ); late List<ChatMessage> messages = <ChatMessage>[ ChatMessage( text: '반갑습니다. 어서오세요. 무엇을 도와드릴까요?', user: user2, createdAt: DateTime.now(), ), ]; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text('Basic example'), ), body: DashChat( currentUser: user1, onSend: (ChatMessage m) { setState(() { messages.insert(0, m); }); Future<String> data = sendMessageToServer(m.text); data.then((value){ setState(() { messages.insert(0, ChatMessage( text: value, user: user2, createdAt: DateTime.now(), )); }); }); }, messages: messages, inputOptions: InputOptions( leading: [ IconButton( icon: Icon(Icons.mic, color: isListening? Colors.red: Colors.black), onPressed: (){ setState(() { isListening = !isListening; if (isListening == true){ print('음성인식 시작'); _startListening(); }else{ print('음성인식 끝'); _stopListening(); } }); }, ) ] ) , ), ); } Future<String> sendMessageToServer(String message) async{ var headers = { 'Content-Type': 'application/json', 'Authorization': 'Bearer sk-proj-b2yCBjZ7jwkR7nmWl4NLT3BlbkFJmm0iaZMBGPJHHy3b3I4J', }; var request = http.Request('POST', Uri.parse('https://api.openai.com/v1/chat/completions')); request.body = json.encode({ "model": "gpt-3.5-turbo", "messages": [ { "role": "user", "content": message, } ] }); request.headers.addAll(headers); http.StreamedResponse response = await request.send(); if (response.statusCode == 200) { String responseString = await response.stream.bytesToString(); Map<String, dynamic> jsonResponse = json.decode(responseString); String result = jsonResponse['choices'] != null? jsonResponse['choices'][0]['message']['content']: "No result found"; print(responseString); return result; } else { print(response.reasonPhrase); return "ERROR"; } } /// This has to happen only once per app void _initSpeech() async { print("음성인식 기능을 시작합니다."); _speechEnabled = await _speechToText.initialize(); // setState(() {}); } /// Each time to start a speech recognition session void _startListening() async { print("음성인식을 시작합니다."); await _speechToText.listen(onResult: _onSpeechResult); // setState(() {}); } /// Manually stop the active speech recognition session /// Note that there are also timeouts that each platform enforces /// and the SpeechToText plugin supports setting timeouts on the /// listen method. void _stopListening() async { print("음성인식을 종료합니다."); await _speechToText.stop(); // setState(() {}); } /// This is the callback that the SpeechToText plugin calls when /// the platform returns recognized words. void _onSpeechResult(SpeechRecognitionResult result) { _lastWords = ""; if(result.finalResult){ _lastWords = result.recognizedWords; print("최종 인식된 문장: $_lastWords"); setState(() { messages.insert(0, ChatMessage( text: _lastWords, user: user1, createdAt: DateTime.now(), )); }); Future<String> data = sendMessageToServer(_lastWords); data.then((value){ setState(() { messages.insert(0, ChatMessage( text: value, user: user2, createdAt: DateTime.now(), )); }); }); } } }
-
해결됨[플러터플로우] 실전! 앱 출시를 위한 끝장 노하우!
Firebase로 관계형 데이터베이스 구현 가능성
안녕하세요 개발 초보입니다.파이어베이스로 관계형 데이터베이스를 구축하기는 힘들거라는 조언을 얻었는데구체적으로 뭐가 힘든건지는 잘 모르겠어서 질문드립니다 일단 플러터플로우에서 기본적으로 파이어베이스를 제공하고있고 자료도 많아 이쪽으로 하고싶은데 조언대로라면 수파베이스를 써야할 것 같아서요. 예를 들어 a유저와 b유저 사이에 각자가 생각하는 친밀도값이 있고 b유저와 c유저도 마찬가지로 친밀도값이 있습니다. 결국 a유저와 b유저는 친하고, b유저는 c유저와 친하다는 것을 알아내어 a와 c를 연결하기 위한 것이 목적인데 이러한 알고리즘을 파이어베이스로 구축가능할까요?
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
retrofit multipartfile 리스트 보내기
@POST('/boards') @Headers({'Authorization': 'true'}) @MultiPart() Future<HttpResponse> createBoard({ @Part() required BoardRequestModel boardCreateModel, @Part() List<MultipartFile>? files, });이렇게 multipartfile 리스트로 이미지를 보내려고 하는데생성된 g.dart 파일을 보면 이렇게 에러가 발생합니다현재 getx 에서 Multipartfile을 hide 해주고 사용했습니다혹시 retrofit을 이용할때 multipartfile 리스트를 보내는 방법이 따로 있을까요?
-
미해결[플러터 상태관리] Bloc 마스터 코스 기초부터 응용까지!
잘 모르겠어요
따라쳐볼때 전체적인 구조나 흐름을 잘 모르겠어서 따라치지않고 그냥 봐도 잘 모르겠네요.. 여러번 보면 괜찮을까요?? bloc사용할거라 후속작 책 리뷰앱도 결제했는데 getX부터 잘 모르겠어요.. getX 유튜브강의 따로 내놓으신거있던데 그걸봐야할까요?시간낭비일까요.. 큰일이네요..(setState까진 이해했습니다..)
-
해결됨[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
한국어로 언어 변경 후 날짜 옆에 '일' 표시가 생겼어요
이런 식으로 날짜 옆에 일 표시는 제거할 수 없나요?
-
해결됨Flutter로 SNS 앱 만들기
섹션4 FirebaseAuth인증상태에 따라 authStatus상태변경에서 예외로직이 안먹고 있어요
섹션4 FirebaseAuth인증상태에 따라 authStatus상태변경에서 예외로직이 안먹고 있어요.// '인증되지 않은 이메일' 이런식으로 예외를 발생시키기 위해서 throw를 사용함 throw CustomException( code: 'Exception', message: '인증되지 않은 메일',저는 이런창이 뜨네요... 뭐가 잘못 된건가요..? 멜보냅니다
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
drift로 글 가져올때요
데이터를 get으로 호출해서 가져오는데... 늘 이렇게 여러줄로 가져오는데.. 원래 내부디비는 이렇게 나오는건가요?찾아도 잘 안나오네요..데이터를 저장하고 새로고침하면, 이런식으로 같은 데이터가 여러줄로 나오더라구요
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
환경설정 작업 오류
안녕하세요. 오늘 처음 안드로이드 스튜디오 다운받았고, 처음으로 플러터 sdk 다운받았습니다. 그런데 에뮬레이터를 실행하고 test_proj를 실행하는 과정에서 아래와 같은 오류가 발생합니다. ㅠ.. 어떻게 해결해야 하나요?4번째 Warning 부분이 빨간색으로 나오네요. Launching lib\main.dart on sdk gphone64 x86 64 in debug mode...Running Gradle task 'assembleDebug'...Warning: This version only understands SDK XML versions up to 3 but an SDK XML file of version 4 was encountered. This can happen if you use versions of Android Studio and the command-line tools that were released at different times.Checking the license for package Android SDK Tools in C:\Users\suhol\AppData\Local\Android\sdk\licensesLicense for package Android SDK Tools accepted.Preparing "Install Android SDK Tools (revision: 26.1.1)"."Install Android SDK Tools (revision: 26.1.1)" ready.Installing Android SDK Tools in C:\Users\suhol\AppData\Local\Android\sdk\tools"Install Android SDK Tools (revision: 26.1.1)" complete."Install Android SDK Tools (revision: 26.1.1)" finished.Checking the license for package Android SDK Build-Tools 30.0.3 in C:\Users\suhol\AppData\Local\Android\sdk\licensesLicense for package Android SDK Build-Tools 30.0.3 accepted.Preparing "Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)"."Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)" ready.Installing Android SDK Build-Tools 30.0.3 in C:\Users\suhol\AppData\Local\Android\sdk\build-tools\30.0.3"Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)" complete."Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)" finished.√ Built build\app\outputs\flutter-apk\app-debug.apkInstalling build\app\outputs\flutter-apk\app-debug.apk...Debug service listening on ws://127.0.0.1:50981/764n9IlfL4k=/wsSyncing files to device sdk gphone64 x86 64...Lost connection to device.adb.exe: device offline
-
미해결[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안드로이드 에뮬레이터 동영상 재생 안 됨
동영상 플레이어를 제작하는 중입니다.영상을 에뮬레이터에 넣고 영상 선택까지도 됩니다.그런데 초록 화면조차 안 나오고 재생이 안 됩니다. 플러터앱이 아니라 기본 앱을 통해 재생하려고 해도 재생이 안 되네요. 영상 파일 자체에는 이상이 없습니다. 윈도우 플레이어로 재생하면 잘 나오거든요. 에뮬레이터와 앱을 몇 번 재실행해도 안 되네요.제 컴퓨터가 자원이 충분하지 않은가 싶어서 참고 수강하다가 아무래도 그런 문제는 아닐 것 같아서 문의드립니다.
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
Rating의 get 요청이 가질 않습니다.
안녕하세요. 강의를 들으며 ratingState를 print 해보니 Instance of '_RestaurantRatingRepository' 결과가 나왔습니다. 이제보니 dio 요청 자체도 가지 않은 상태입니다. pagination_provider.dart를 적용한 후 Restaurant와 RestaurantDetail은 잘 실행되는데, Rating만 dio 요청 자체가 가지 않습니다.저 아래의 Instance of '_RestaurantRatingRepository'가 ratingState입니다.디버깅을 통해서 dio를 제대로 받아온 것은 확인했는데, pagination 내부의 print는 restaurant만 먹히고, restaurantdetail과 rating은 print되지 않아 어떻게 해결해야할지, 어떻게 해결 방법을 찾아야 할지 갈피도 못 잡겠습니다.프로젝트의 repository를 첨부합니다. https://github.com/jungeyo3/codefactory-flutter-lv2-study 버전은 아래와 같습니다. 감사합니다.