전체 글 39

Firebase로 회원 생성 / 로그인

Firebase로 회원을 생성하고 로그인 하고, 다른 페이지에 currentUser로 해당 사용자의 정보를 쓸수 있다. 최소한의 예제이니 그냥 main함수에 때려넣음;;; import 'package:firebase_auth/firebase_auth.dart'; import 'package:flutter/material.dart'; import 'package:firebase_core/firebase_core.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); final _authentification = FirebaseAuth.instance; String userEmail..

flutter/기타 2022.05.19

RenderBox was not laid out: RenderRepaintBoundary 에러

======== Exception caught by rendering library ===================================================== The following assertion was thrown during performLayout(): RenderBox was not laid out: RenderPointerListener#3eb68 relayoutBoundary=up6 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE 'package:flutter/src/rendering/box.dart': Failed assertion: line 1982 pos 12: 'hasSize' 대략 이런 에러가 날때가 있다. Listview를 col..

flutter/기타 2022.05.19

TextFormField

- textfield에서 controller들을 관리하는게 번거로우니 쓰자. - StatefulWidget에서 Form 위젯안에 넣음. - Form위젯에 global 키를 지정하고 후에 validation에서 이 키로 form에 접근 if (_formKey.currentState!.validate()) { _formKey.currentState!.save(); } import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home: MyHome(), ..

flutter/widget 2022.05.19

Value Key

타입이 같은 위젯들의 식별을 위함. - Flutter는 기본적으로 위젯의 타입으로 식별 - Stateful 위젯의 식별을 위해서는 key 필요 - value key는 value값을 가지는 stateful 위젯을 식별하는데 사용한다. import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home: MyHome(), ); } } class MyHome extends StatefulWidget { @override State createState() ..

flutter 2022.05.15

Snackbar 케이스 정리

1. ScaffoldMessenger 이용 ScaffoldMessenger.of(context).showSnackBar(SnackBar( content: Text("스낵바!") )); 2. Global Key & scaffoldMessengerKey 이용 최상위 위젯 MaterialApp단위에서 scaffoldMessenger에 global Key를 사용하여 Snackbar 사용 import 'package:flutter/material.dart'; void main() => runApp(MyApp()); final rootScaffoldKey = GlobalKey(); class MyApp extends StatelessWidget { @override Widget build(BuildContext c..

flutter/widget 2022.05.15

FutureBuilder

- 수행하는데 오래걸리는 일이 있을 때, 시점에 따라서 다른 UI를 보여줄 때 씀. - 매개변수 * future : 수행하는 (오래걸리는) 일 함수(네트워크나 복잡한 계산 등) * builder: (context, _snapshot) .. 상태가 변할 때마다 호출됨. _snapshot.done이면 완료되었다. .. 표시할 위젯을 리턴하자 .. future의 리턴값이 _snapshot.data에 들어있다. 최소 예제 import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return ..

flutter/widget 2022.05.14