inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

gorouter 7 버전 상세화면 이동 오류

미해결

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

안녕하세요 강의 실습 중 오류가 발생해서 도움을 요청드립니다 현재 개발 중인 환경은 윈도우에서 안드로이드 시뮬레이터로 진행 중이며 IDE 는 인텔리제이를 사용하고 있고 gorouter 7.0.1 버전을 사용해서 실습을 하고 있습니다 GoRouter 설정 부분은 7.0.1 버전 실습 강좌를 참고해서 변경했고 정상적으로 로그인 및 스플래시 스크린까지 동작을 했습니다. 레스토랑 리스트에서 레스토랑 상세화면으로 이동하는 부분을 실습 중 오류가 발생합니다 첫번째. context에서 gorouter 관련 메소드가 자동완성이 안되며 실제로 동작도 하지 않습니다. 두번째. context.named() ,context.go() 둘 다 아래와 같은 오류가 나타납니다 레스토랑 스크린 import 'package:actual/common/component/pagination_list_view.dart'; import 'package:actual/restaurant/component/restaurant_card.dart'; import 'package:actual/restaurant/provider/restaurant_provider.dart'; import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; // 미사로 나옵니다 class RestaurantScreen extends StatelessWidget { const RestaurantScreen({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return PaginationListView( provider: restaurantProvider, itemBuilder: <RestaurantModel>(context, index, model) { return GestureDetector( onTap: () { context.go("/restaurant/${model.id}"); }, child: RestaurantCard.fromModel(model: model), ); }, ); } } 레스토랑 디테일 스크린 import 'package:actual/common/layout/default_layout.dart'; import 'package:actual/common/model/cursor_pagination_model.dart'; import 'package:actual/common/utils/pagination_utils.dart'; import 'package:actual/product/componet/product_card.dart'; import 'package:actual/rating/component/rating_card.dart'; import 'package:actual/rating/model/rating_model.dart'; import 'package:actual/restaurant/component/restaurant_card.dart'; import 'package:actual/restaurant/model/restaurant_detail_model.dart'; import 'package:actual/restaurant/model/restaurant_model.dart'; import 'package:actual/restaurant/provider/restaurant_provider.dart'; import 'package:actual/restaurant/provider/restaurant_rating_provider.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:skeletons/skeletons.dart'; class RestaurantDetailScreen extends ConsumerStatefulWidget { static String get routeName => "restaurantDetail"; final String id; const RestaurantDetailScreen({required this.id, Key? key}) : super(key: key); @override ConsumerState<RestaurantDetailScreen> createState() => _RestaurantDetailScreenState(); } class _RestaurantDetailScreenState extends ConsumerState<RestaurantDetailScreen> { final ScrollController controller = ScrollController(); @override void initState() { super.initState(); ref.read(restaurantProvider.notifier).getDetail(id: widget.id); controller.addListener(listener); } void listener(){ PaginationUtils.paginate(controller: controller, provider: ref.read(restaurantRatingProvider(widget.id).notifier)); } @override Widget build(BuildContext context) { final state = ref.watch(restaurantDetailProvider(widget.id)); final ratingsState = ref.watch(restaurantRatingProvider(widget.id)); print(ratingsState); if (state == null) { return DefaultLayout( child: Center( child: CircularProgressIndicator(), ), ); } return DefaultLayout( title: "제목", child: CustomScrollView( controller: controller, slivers: [ renderTop( model: state, ), if (state is! RestaurantDetailModel) renderLoading(), if (state is RestaurantDetailModel) renderLabel(), if (state is RestaurantDetailModel) renderProducts(products: state.products), if (ratingsState is CursorPagination<RatingModel>) renderRatings( models: ratingsState.data, ), ], ), ); } SliverToBoxAdapter renderTop({ required RestaurantModel model, }) { // 일반 위젯 넣기 return SliverToBoxAdapter( child: RestaurantCard.fromModel(model: model, isDetail: true), ); } SliverPadding renderRatings({ required List<RatingModel> models, }) { return SliverPadding( padding: EdgeInsets.symmetric(horizontal: 16.0, vertical: 16.0), sliver: SliverList( delegate: SliverChildBuilderDelegate( (_, index) => Padding( padding: const EdgeInsets.only(bottom: 16.0), child: RatingCard.fromModel( model: models[index], ), ), childCount: models.length, ), ), ); } SliverPadding renderLoading() { return SliverPadding( padding: EdgeInsets.symmetric( vertical: 16.0, horizontal: 16.0, ), sliver: SliverList( delegate: SliverChildListDelegate( List.generate( 3, (index) => Padding( padding: const EdgeInsets.only(bottom: 32.0), child: SkeletonParagraph( style: SkeletonParagraphStyle( lines: 5, padding: EdgeInsets.zero, ), ), ), ), ), ), ); } SliverPadding renderLabel() { return SliverPadding( padding: EdgeInsets.symmetric(horizontal: 16.0), sliver: SliverToBoxAdapter( child: Text( "메뉴", style: TextStyle( fontSize: 18.0, fontWeight: FontWeight.w500, ), ), ), ); } SliverPadding renderProducts({ required List<RestaurantProductModel> products, }) { return SliverPadding( padding: EdgeInsets.symmetric(horizontal: 16.0), sliver: SliverList( delegate: SliverChildBuilderDelegate( (context, index) { final model = products[index]; return Padding( padding: const EdgeInsets.only(top: 16.0), child: ProductCard.fromRestaurantProductModel(model: model), ); }, childCount: products.length, ), ), ); } } 라우터 설정부분 (auth_provider.dart) List<GoRoute> get routes => [ GoRoute( path: "/", name: RootTab.routeName, builder: (_, state) => RootTab(), routes: [ GoRoute( path: "restaurant/:rid", name: RestaurantDetailScreen.routeName, builder: (_, state) => RestaurantDetailScreen( id: state.pathParameters['rid']!, ), ), ], ), GoRoute( path: "/splash", name: SplashScreen.routeName, builder: (_, state) => SplashScreen(), ), GoRoute( path: "/login", name: LoginScreen.routeName, builder: (_, state) => LoginScreen(), ), ]; 메인 import 'package:actual/common/provider/go_router.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; void main() { runApp( ProviderScope( child: _App(), ), ); } class _App extends ConsumerWidget { const _App({Key? key}) : super(key: key); // 라우팅시 BuildContext 사용하기 위한 구조 @override Widget build(BuildContext context, WidgetRef ref) { final router = ref.watch(routerProvider); return MaterialApp.router( theme: ThemeData( fontFamily: "NotoSans", ), debugShowCheckedModeBanner: false, routerConfig: router, ); } } 라우트 프로바이더 (go_router. dart) import 'package:actual/user/provider/auth_provider.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; final routerProvider = Provider<GoRouter>((ref) { final provider = ref.read(authProvider); return GoRouter( routes: provider.routes, initialLocation: "/splash", refreshListenable: provider, redirect: (context, state) { return provider.redirectLogic(state); }, ); }); 오류 로그 ======== Exception caught by gesture =============================================================== The following NoSuchMethodError was thrown while handling a gesture: Class 'ConsumerStatefulElement' has no instance method 'go'. Receiver: Instance of 'ConsumerStatefulElement' Tried calling: go("/restaurant/5ac83bfb-f2b5-55f4-be3c-564be3f01a5b") When the exception was thrown, this was the stack: #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:38:5) #1 RestaurantScreen.build.<anonymous closure>.<anonymous closure> (package:actual/restaurant/view/restaurant_screen.dart:17:21) #2 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:275:24) #3 TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:654:11) #4 BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:311:5) #5 BaseTapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:281:7) #6 GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:167:27) #7 GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:469:20) #8 GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:445:22) #9 RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:331:11) #10 GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:400:7) #11 GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:363:5) #12 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:320:7) #13 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:293:9) #14 _invoke1 (dart:ui/hooks.dart:158:13) #15 PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:382:7) #16 _dispatchPointerDataPacket (dart:ui/hooks.dart:91:31) Handler: "onTap" Recognizer: TapGestureRecognizer#cc27d debugOwner: GestureDetector state: ready won arena finalPosition: Offset(158.8, 246.5) finalLocalPosition: Offset(142.8, 190.5) button: 1 sent tap down ==================================================================================================== F/crash_dump32(30915): crash_dump.cpp:474] failed to attach to thread 188: Permission denied

  • flutter
  • 하이브리드-앱
강의 수집가 댓글 1 좋아요 3 조회수 859

GoRouter 프로젝트에 적용 후 질문있습니다

미해결

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

GoRouter 적용하는 강의 후 처음 splash screen으로 진입 후 getMe함수를 통해 state가 null이 되는 로직을 통과했음에도 router의 redirect를 따르지 않고 계속해서 splash screen에서 머무는 모습이 나타납니다. print로 결과를 확인해보니 처음 redirect 로직을 검증할 때 UserModelLoading의 Instance로 나타나고 이후 getMe를 통해 null이 되더라도 새롭게 redirection이 일어나지 않는 것 같습니다. 고민하다가 해결책이 떠오르지 않아 문의남깁니다!

  • flutter
  • 하이브리드-앱
ollo20 댓글 2 좋아요 0 조회수 750

안녕하세요 InputDecoration() 의 border, enabledBorder, focusedBorder 에 대해서 질문있습니다

미해결

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

border: baseBorder 로 설정했을때 color 를 Colors.red 로 해놔도 아무 변화가 없습니다. enabledBorder: baseBorder 설정했을때 그제서야 빨간색이 적용됩니다. focusedBorder 는 커서가 있을때 border 의 형태로 이해가 되었는데 일반 border 와 enabledBorder 속성은 어떤차이가 있는걸까요? border 속성만 사용할때는 아무 변화가 없는 이유도 궁굼합니다.

  • flutter
  • 하이브리드-앱
정정훈 댓글 1 좋아요 0 조회수 465

[네이티브연동 관련 질문]

미해결

Flutter 초급 - Http통신, 상태관리

kotlin MainActivity에 강의에서 알려주신대로 쳤는데 왜 오류가 날까요? 근데 일단 실행은 문제가 없었습니다.

  • flutter
  • ios
  • android
  • 웹앱
FLUTter 댓글 1 좋아요 0 조회수 361

Flutter Hello World 에서 에러가 발생합니다.

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

안녕하세요, Flutter에 익숙해지기 위해 해당 강의를 보며 샘플 코드(?)와 비슷하게 코드를 추가하고 hot reload 버튼을 눌렀습니다. 그러자 IOS simulator(iPhone 14 Pro Max)에서 "Lookup failed: title in @getters in MyHomePage in package:hello_world/main.dart" 에러가 발생하여 추가 한 코드가 정상동작을 하는지, 수정해야 하는 부분이 있는지 확인이 불가능하게 되었습니다. 혹시 제가 추가한 코드에서 문제가 될 만한 부분이 있을까요? 제가 추가한 코드와 IOS simulator 에러 화면 첨부드립니다.

  • flutter
  • 클론코딩
threeme12 댓글 2 좋아요 1 조회수 903

Sec 9. 5번째 강의 1분 대 Provider를 Code generation으로 어떻게 고칠 수 있을까요?

해결됨

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

안녕하세요. 실험적으로 Code Generator 기능을 이용해서 프로바이더를 다시 작성해보고 있습니다. 궁금한 게 Section 9. 다섯 번째 강의를 보는데, 1분 대에 나오는 RestaurantStateNotifier와 StateNotifierProvider를 어떻게 CodeGenerator를 이용해서 고칠 수 있을까 고민 중입니다. 시도한 코드는 아래와 같은데요(import는 생략했습니다): part 'restaurant_provider.g.dart'; @Riverpod(keepAlive: true) class Restaurant extends _$Restaurant { final RestaurantRepository repository; Restaurant({ required this.repository, }) { paginate(); } // 초기 상태는 Loading 상태로 @override CursorPaginationBase build() { return CursorPaginationLoading(); } paginate() async { final response = await repository.paginate(); state = response; } } 코드 제너레이션은 잘 되는데, 문제는 이를 실행시키려고 하니 다음과 같은 에러가 뜹니다. Launching lib/main.dart on iPhone 14 Pro Max in debug mode... main.dart:1 Xcode build done. 3.9s Failed to build iOS app Error (Xcode): lib/restaurant/provider/restaurant_provider.g.dart:15:3: Error: The argument type 'Restaurant Function({RestaurantRepository repository})' can't be assigned to the parameter type 'Restaurant Function()' because 'Restaurant Function({RestaurantRepository repository})' is nullable and 'Restaurant Function()' isn't. restaurant_provider.g.dart:15 Could not build the application for the simulator. Error launching application on iPhone 14 Pro Max. Exited 이전까지는 잘 됐었는데, 바로 직전 강의에서 CursorPaginationBase를 만들고, 이를 상속받는 CursorPagination 상태들을 구현하고 나서부터, 문제가 발생한 것 같습니다. 아마 CursorPagination의 경우는 data와 meta라는 필드가 들어가는데, 어디선가 Code generation에 문제가 생겨서, CursorPaginationBase가 아닌, data와 Meta를 필요로 하는 생성자가 호출된 건 아닌가 의심하는 중입니다. 아래는 위 코드로 생성된 .g.dart 파일입니다. // GENERATED CODE - DO NOT MODIFY BY HAND part of 'restaurant_provider.dart'; // ************************************************************************** // RiverpodGenerator // ************************************************************************** String _$restaurantHash() => r'50915edab0a63433f5d54b932240cf504147e391'; /// See also [Restaurant]. @ProviderFor(Restaurant) final restaurantProvider = NotifierProvider<Restaurant, CursorPaginationBase>.internal( Restaurant.new, name: r'restaurantProvider', debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product') ? null : _$restaurantHash, dependencies: null, allTransitiveDependencies: null, ); typedef _$Restaurant = Notifier<CursorPaginationBase>; // ignore_for_file: unnecessary_raw_strings, subtype_of_sealed_class, invalid_use_of_internal_member, do_not_use_environment, prefer_const_constructors, public_member_api_docs, avoid_private_typedef_functions 어떻게 하면 Code Generator를 이용해서 문제를 해결할 수 있을까요?

  • flutter
  • 하이브리드-앱
limazero14 댓글 1 좋아요 0 조회수 383

video영상을 choose하면 메인으로 돌아가요

해결됨

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 코드팩토리 디스코드 https://bit.ly/3HzRzUM Flutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다! video영상을 choose하면 compressing video를 거치고 메인으로 돌아가버려요 뭐가 문제일까요?

  • flutter
  • 클론코딩
star 댓글 1 좋아요 0 조회수 363

코드 자동 생성 오류 발생

해결됨

[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter

// GENERATED CODE - DO NOT MODIFY BY HAND part of 'naver_book_info_results.dart'; // ************************************************************************** // JsonSerializableGenerator // ************************************************************************** NaverBookInfoResults _$NaverBookInfoResultsFromJson( Map<String, dynamic> json) => NaverBookInfoResults( total: json['total'] as int?, start: json['start'] as int?, display: json['display'] as int?, items: (json['items'] as List<dynamic>?) ?.map((e) => NaverBookInfo.fromJson(e as Map<String, dynamic>)) .toList(), ); Map<String, dynamic> _$NaverBookInfoResultsToJson( NaverBookInfoResults instance) => <String, dynamic>{ 'total': instance.total, 'start': instance.start, 'display': instance.display, 'items': instance.items, }; naver_book_info_results.g.dart 파일에서 영상이랑 똑같이 생성했는데 이렇게 오류가 발생하는데 이유를 모르겠습니다.

  • flutter
  • firebase
  • bloc
조은형 댓글 1 좋아요 0 조회수 386

higher order function 에서

미해결

실리콘밸리 엔지니어가 가르치는 파이썬 기초부터 고급까지

128줄에 return inside에서 inside()를 안하는 이유가 궁금합니다 @higher_order_example 자체가 inside 리턴받은 함수를 자동으로 ()붙여서 실행해주는 것인가요? 136줄에 sample_example()을 안쓰면 121줄에 있는 func 매개변수로 못넣는것인가요???

  • python
  • 알고리즘
남기정 댓글 2 좋아요 1 조회수 371

video_player / image_picker 버전관련 질문입니다

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 코드팩토리 디스코드 https://bit.ly/3HzRzUM Flutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다! 강의대로 따라해도,최신버전을 넣어도 Pub get 에러가 계속생기는데 다른 설정을 따로 해야하나요? 윈도우10 사용중입니다

  • flutter
  • 클론코딩
Rain J 댓글 1 좋아요 0 조회수 457

구글지도 - 플랫폼뷰 관련 에러

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

안녕하세요 강사님, 구글지도 사용해보기 수업을 듣는데 지도가 나타나지 않아 질문드립니다. PlatformView, registerViewFactory가 호출되었는지 확인하라는 메세지로 파악했으나 해결 방법을 찾지 못하고 있습니다. 에러 메세지는 아래와 같습니다. [VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(unregistered_view_type, A UIKitView widget is trying to create a PlatformView with an unregistered type: < plugins.flutter.io/google_maps >, If you are the author of the PlatformView, make sure registerViewFactory is invoked. See: https://docs.flutter.dev/development/platform-integration/platform-views#on-the-platform-side-1 for more details. If you are not the author of the PlatformView, make sure to call GeneratedPluginRegistrant.register ., null) #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:652:7) #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:310:18) <asynchronous suspension> #2 PlatformViewsService.initUiKitView (package:flutter/src/services/platform_views.dart:242:5) <asynchronous suspension> #3 UiKitViewState. createNewUiKitView (package:flutter/src/widgets/platform_view.dart:649:44) <asynchronous suspension>

  • flutter
  • 클론코딩
소민 댓글 1 좋아요 0 조회수 672

button강의에 resolveWith()메소드 질문 있어요!

해결됨

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 코드팩토리 디스코드 https://bit.ly/3HzRzUM Flutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다! 강의에 나온대로 resolveWith를 사용해서 실행했는데 버튼을 눌러도 계속 빨강색으로 뜨고 하얀색으로 바뀌질 않아요. 뭐가 문제인걸까요?ㅠㅠ

  • flutter
  • 클론코딩
star 댓글 1 좋아요 0 조회수 275

webview 강의 따라하는데 다음과 같은 에러가 나옵니다. ㅜㅜ

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

webview 강의 진행중 에러가 나와서 문의 드립니다. console창에 나온 에러 내용입니다. 강의보면서 세팅 똑같이 했는데 이렇게 나오면서 화면이 아무것도 적용이 안되네요. Performing hot restart... Syncing files to device Android SDK built for x86... Restarted application in 797ms. E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null) E/flutter ( 3101): #0 WebStorageHostApi.create (package:webview_flutter_android/src/android_webview.pigeon.dart:2036:7) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null) E/flutter ( 3101): #0 WebViewHostApi.create (package:webview_flutter_android/src/android_webview.pigeon.dart:289:7) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null) E/flutter ( 3101): #0 WebSettingsHostApi.create (package:webview_flutter_android/src/android_webview.pigeon.dart:1013:7) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null) E/flutter ( 3101): #0 WebSettingsHostApi.setDomStorageEnabled (package:webview_flutter_android/src/android_webview.pigeon.dart:1061:7) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null) E/flutter ( 3101): #0 WebSettingsHostApi.setJavaScriptCanOpenWindowsAutomatically (package:webview_flutter_android/src/android_webview.pigeon.dart:1087:7) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null) E/flutter ( 3101): #0 WebSettingsHostApi.setSupportMultipleWindows (package:webview_flutter_android/src/android_webview.pigeon.dart:1113:7) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null) E/flutter ( 3101): #0 WebSettingsHostApi.setLoadWithOverviewMode (package:webview_flutter_android/src/android_webview.pigeon.dart:1239:7) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null) E/flutter ( 3101): #0 WebSettingsHostApi.setUseWideViewPort (package:webview_flutter_android/src/android_webview.pigeon.dart:1263:7) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null) E/flutter ( 3101): #0 WebSettingsHostApi.setDisplayZoomControls (package:webview_flutter_android/src/android_webview.pigeon.dart:1288:7) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null) E/flutter ( 3101): #0 WebSettingsHostApi.setBuiltInZoomControls (package:webview_flutter_android/src/android_webview.pigeon.dart:1313:7) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null) E/flutter ( 3101): #0 WebViewClientHostApi.create (package:webview_flutter_android/src/android_webview.pigeon.dart:1476:7) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null) E/flutter ( 3101): #0 WebSettingsHostApi.setUserAgentString (package:webview_flutter_android/src/android_webview.pigeon.dart:1163:7) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): #1 Future.wait.<anonymous closure> (dart:async/future.dart:522:21) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): #2 WebViewAndroidPlatformController.updateSettings (package:webview_flutter_android/webview_android_widget.dart:275:5) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null) E/flutter ( 3101): #0 WebSettingsHostApi.setMediaPlaybackRequiresUserGesture (package:webview_flutter_android/src/android_webview.pigeon.dart:1189:7) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null) E/flutter ( 3101): #0 DownloadListenerHostApi.create (package:webview_flutter_android/src/android_webview.pigeon.dart:1749:7) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): #1 Future.wait.<anonymous closure> (dart:async/future.dart:522:21) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): #2 WebView.setDownloadListener (package:webview_flutter_android/src/android_webview.dart:379:5) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null) E/flutter ( 3101): #0 WebChromeClientHostApi.create (package:webview_flutter_android/src/android_webview.pigeon.dart:1861:7) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): #1 Future.wait.<anonymous closure> (dart:async/future.dart:522:21) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): #2 WebView.setWebChromeClient (package:webview_flutter_android/src/android_webview.dart:399:5) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(channel-error, Unable to establish connection on channel., null, null) E/flutter ( 3101): #0 WebViewHostApi.loadUrl (package:webview_flutter_android/src/android_webview.pigeon.dart:401:7) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): E/flutter ( 3101): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(error, java.lang.IllegalStateException: Trying to create a platform view of unregistered type: plugins.flutter.io/webview E/flutter ( 3101): at io.flutter.plugin.platform.PlatformViewsController$1.createPlatformView( PlatformViewsController.java:489 ) E/flutter ( 3101): at io.flutter.plugin.platform.PlatformViewsController$1.createForTextureLayer( PlatformViewsController.java:191 ) E/flutter ( 3101): at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.create( PlatformViewsChannel.java:128 ) E/flutter ( 3101): at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.onMethodCall( PlatformViewsChannel.java:55 ) E/flutter ( 3101): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage( MethodChannel.java:258 ) E/flutter ( 3101): at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler( DartMessenger.java:295 ) E/flutter ( 3101): at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger( DartMessenger.java:322 ) E/flutter ( 3101): at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12) E/flutter ( 3101): at android.os.Handler.handleCallback( Handler.java:938 ) E/flutter ( 3101): at android.os.Handler.dispatchMessage( Handler.java:99 ) E/flutter ( 3101): at android.os.Looper.loop( Looper.java:223 ) E/flutter ( 3101): at android.app .ActivityThread.main( ActivityThread.java:7656 ) E/flutter ( 3101): at java.lang.reflect.Method.invoke(Native Method) E/flutter ( 3101): at com.android .internal.os.RuntimeInit$MethodAndArgsCaller.run( RuntimeInit.java:592 ) E/flutter ( 3101): at com.android .internal.os.ZygoteInit.main( ZygoteInit.java:947 ) E/flutter ( 3101): , null, null) E/flutter ( 3101): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:653:7) E/flutter ( 3101): #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:315:18) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): #2 SurfaceAndroidViewController._sendCreateMessage (package:flutter/src/services/platform_views.dart:1017:30) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): #3 AndroidViewController.create (package:flutter/src/services/platform_views.dart:801:5) E/flutter ( 3101): <asynchronous suspension> E/flutter ( 3101): 도움 좀 부탁드립니다.

  • flutter
  • 클론코딩
justin cho 댓글 1 좋아요 0 조회수 2297

초기화 질문

미해결

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

안녕하세요 속도를 위해 캐싱을 하고 있지만 매번 다시 초기화 해서 불러올려면 어떤 방법이 있을까요

  • flutter
  • 하이브리드-앱
dlckdals9467 댓글 1 좋아요 0 조회수 319

질문1) webview 과제중 실행시 url화면을 받아오지 못하는 문제 질문2)실행시 app관련 화면보여주는 emulator 설정방법

해결됨

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

질문1) webview 과제중 실행시 url화면을 받아오지를 못하네요 질문2) Android studio에서 run작동시킬때 app ios나 android가 나오지않습니다. 추가로 설정하는방법 알고싶습니다 감사합니다!!:)

  • flutter
  • 클론코딩
MJ90 댓글 1 좋아요 2 조회수 309

페이제 갱신 문제 해결에서 버그가 있는거 같아요~

해결됨

[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter

search 함수에서 result 상태만 초기화 되어서 searchOption 의 start 가 갱신이 안되는 문제가 있는거 같습니다. 위 스크린샷 처럼 searchOption 을 위와 같이 초기화 했더니 문제는 해결되었는데 맞는 방법인지 모르겠네요~

  • flutter
  • firebase
  • bloc
Moon 댓글 1 좋아요 0 조회수 309

선생님 데이터 import가 안돼요 ㅠㅠ

미해결

[개정판] 파이썬 머신러닝 완벽 가이드

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 선생님 보스턴 가격예측 데이터 임포트가 안돼요 ㅠㅠ

  • python
  • 머신러닝
  • 통계
이호준 댓글 2 좋아요 0 조회수 498

'블랙핑크' 검색 시에만 오류가 뜨는 현상

미해결

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

안녕하세요. 강사님 아래 코드에서 '블랙핑크' 를 검색할 때 Traceback (most recent call last): File "c:\pratice_crolling\심화1_\03_스포츠 뉴스 크롤링.py ", line 52, in <module> print(article_title.text.strip()) ^^^^^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'text' 다음과 같은 오류가 뜹니다 ㅠㅠ CSS 선택자, 오타도 모두 맞게 확인이 되는데 왜 저 검색어만 오류가 뜰까요ㅠㅠ? # -*- coding: euc-kr -*- # 네이버에서 손흥민, 오승환과 같은 스포츠 관련 검색어 크롤링하기 import requests from bs4 import BeautifulSoup import pyautogui import time search = pyautogui.prompt("어떤 것을 검색하시겠어요?") response = requests.get(f"https://search.naver.com/search.naver?sm=tab_hty.top&where=news&query={search}&oquery=%EC%98%B7%EC%9C%BC%ED%99%98&tqi=i74G%2FdprvTossZPeMhCssssssko-058644") html = response.text soup = BeautifulSoup(html, "html.parser") articles = soup.select(".info_group") for article in articles: # '네이버뉴스' 가 있는 기사만 추출한다. (<a> 하이퍼링크가 2개 이상인 경우에 해당) links = article.select("a.info") if len(links) >=2 : url = links[1].attrs['href'] response = requests.get(url, headers={'User-agent':'Mozila/5.0'}) html = response.text soup = BeautifulSoup(html, "html.parser") # 스포츠 기사인 경우 if "sports" in url: article_title = soup.select_one("h4.title") article_body = soup.select_one("#newsEndContents") # 본문 내에 불필요한 내용 제거 p태그와 div태그의 내용은 출력할 필요가 없다. 없애주자. p_tags = article_body.select("p") # 본문에서 p 태그인 것들을 추출 for p_tag in p_tags: p_tag.decompose() div_tags = article_body.select("div") # 본문에서 div 태그인 것들을 추출 for div_tag in div_tags: div_tag.decompose() # 연예 기사인 경우 elif "entertain" in url: article_title = soup.select_one(".end_tit") article_body = soup.select_one("#articeBody") # 일반 뉴스 기사인 경우 else: article_title = soup.select_one("#title_area") article_body = soup.select_one("#dic_area") # 출력문 print("==================================================== 주소 ===========================================================") print(url.strip()) print("==================================================== 제목 ===========================================================") print(article_title.text.strip()) print("==================================================== 본문 ===========================================================") print(article_body.text.strip()) #strip 함수는 앞 뒤의 공백을 제거한다. time.sleep(0.3)

  • python
  • 웹-크롤링
댓글 2 좋아요 0 조회수 325

context 관련 질문입니다!

해결됨

Flutter 앱 개발 실전

섹션3 / AssetIcon / 04:41~04:51 / Line24 color ?? context.color.text, 04:47에서 context.co까지만 입력해도 자동완성이 뜨는데요. Q1. context가 어떤걸(어떤 파일의 어떤 클래스?) 지칭하는지 궁금합니다 Q2. 어떤 매커니즘으로 theme_service import가 자동완성으로 뜨는지 궁금합니다(어떻게 인식했는지..?) 질문이 난해할 수도 있는데, context에 관한 질문입니다!

  • flutter
  • dart
  • context
안일호 댓글 1 좋아요 1 조회수 492

가운데정렬 이안되여

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

import 'package:flutter/material.dart'; class HomeScreen extends StatelessWidget { const HomeScreen({super.key}); @override Widget build(BuildContext context) { return Scaffold( body: SafeArea( bottom: false, child: Container( width: double.infinity, height: double.infinity, color: Colors.black, child: Column( mainAxisAlignment: MainAxisAlignment.spaceAround, crossAxisAlignment: CrossAxisAlignment.center, children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ Container(color: Colors.red, width: 50, height: 50), Container(color: Colors.orange, width: 50, height: 50), Container(color: Colors.yellow, width: 50, height: 50), Container(color: Colors.green, width: 50, height: 50), ], ), Row( children: [ Container(color: Colors.orange, width: 50, height: 50), ], ), Row( mainAxisAlignment: MainAxisAlignment.end, children: [ Container(color: Colors.red, width: 50, height: 50), Container(color: Colors.orange, width: 50, height: 50), Container(color: Colors.yellow, width: 50, height: 50), Container(color: Colors.green, width: 50, height: 50), ], ), Row(children: [ Container(color: Colors.green, width: 50, height: 50), ],), ], ), ), ), ); } }

  • flutter
  • 클론코딩
YOUNGJAE KIM 댓글 2 좋아요 0 조회수 410

인기 태그

인프런 TOP Writers

주간 인기글