본문 바로가기
반응형

Flutter5

[Flutter] 기초가 되는 StreamBuilder BLOC 패턴, StreamSubscription, yield example 저번에는 Cubit를 사용하여 BLOC 패턴을 제작해보았다. 훤하게 눈에 잘 보이는 Cubit로 필요 동작만 깔끔하게 옵저빙 했지만 역시나 BLOC는 복잡하다. 이번에 작성하는 StreamBuilder를 사용한 BLOC 패턴 또한 복잡하다. 결국 하나의 기능을 만들려면 클래스를 최소 3, 4개를 만들어야하니 문제이다. 파일트리이다. 로직을 나누고, 이벤트와 상태를 관리한다. main.dart import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_bloc_with_stream/ticke.. 2021. 1. 6.
[Flutter] fluro package (navigation 이동, route, transition) sample code fluro 를 사용하여 route를 관리할 수 있다. arguments 정하는것도 가능하고 transitionType을 통해 원하는 애니메이션을 보이게, 안보이게 할 수도 있다. pub.dev/packages/fluro fluro | Flutter Package Fluro is a Flutter routing library that adds flexible routing options like wildcards, named parameters and clear route definitions. pub.dev code sample 이다. import 'package:flutter/material.dart'; import 'package:fluro/fluro.dart'; Handler _TestNativeH.. 2020. 12. 22.
[Flutter] flutter intro(splash) -> login page timer sample code flutter_example/widgets 패키지를 하나 만듭니다. main.dart import 'dart:async'; import 'package:flutter/material.dart'; import 'package:flutter_example/widgets/introPage.dart'; import 'package:flutter_example/widgets/loginPage.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( debugShowCheckedModeBanner: false, ti.. 2020. 10. 26.
[Flutter] Flutter 플랫폼 채널을 이용해서 Android 코드 호출하기 (MethodChannel) 생성시 Paltform channel language 체크 모두 해제하기 * 플랫폼 채널을 사용하는데 있어서 중요한것은 Platform channel language를 어떤것을 사용할것인지이다. Include Swift support for iOS code 를 선택한 적이 있는데 Swift 코드를 작성할 사람이 없어서 낭패를 본 적이 있다. 플랫폼 채널을 사용하려면 java, kotlin, Objective-c, swift 모두 숙지해 두어야 한다. project/lib/main.dart import 'dart:async'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; class PlatformChannel.. 2020. 10. 25.
[Flutter] Flutter 생명주기 Sample Code main.dart import 'package:flutter/material.dart'; void main() => runApp(TestApp()); class TestApp extends StatelessWidget { TestApp() { print('TestApp TestApp() start'); print('TestApp TestApp() done'); } @override Widget build(BuildContext context) { print('TestApp build() start'); print('TestApp build() done'); return MaterialApp( title: 'StatefulWidget LifecycleApp', home: _FirstStatefulWidge.. 2020. 10. 25.
반응형