Flutter/Flutter 스파르타코딩클럽 11

비동기, 동기

* 비동기 방식으로 작동하는 상황들 - 네트워크 요청하여 데이터 받아오기 - 파일 읽기/ 쓰기 - 데이터베이스 쓰기 * 비동기 코드 앞에 await 붙이고, 해당 코드가 속한 함수에 async를 넣어주면 비동기 방식의 코드를 동기 방식으로 실행할 수 있다. Future getName() async { String name = await HTTP요청; return name; } (비동기 방식으로 네트워크에서 값을 긁어와서 UI로 화면에 띄워주고 싶을 때 주로 이렇게 한다) (네트워크에서 값을 가져올 때까지 기다렸다가 화면에 띄워줘야 되니깐) async 가 선언된 함수의 반환 값은 Future 형식으로 표현. await를 해야만 String을 Future(미래)에 반환할거야. 출처) 스파르타코딩클럽 강의자료..

setState vs. ChangeNotifier, notifiyListeners

setState vs. ChangeNotifier, notifiyListeners setState - 전체 build 를 새로 그린다. vs. ChangeNotifier, notifiyListeners : Consumer 하단 부분만 다시 그린다. (build 처음부터 다시 다 그리는게 아님) class _HomePageState extends State { @override Widget build(BuildContext context) { return Consumer( builder: (context, memoService, child) { // memoService로 부터 memoList 가져오기 List memoList = memoService.memoList; return Scaffold( app..

ListView.builder 에서 padding 여백

ListView.builder 에서 padding 여백 body: Padding( padding: const EdgeInsets.symmetric(horizontal: 16), child: ListView.separated( itemCount: 10, itemBuilder: (context, index) { return Feed(); }, separatorBuilder: (context, index) { return Divider(); }, ), ), const EdgeInsets.symmetric(horizontal: 16) 가로 방향에만 여백을 주는 것 (요소의 왼쪽, 오른쪽이 패딩이 생김) (아래 사진에서 사진의 왼쪽, 하트의 오른쪽) Feed() 자체에 세로 여백을 준다면 ? 아래와 같이 됨 (요..

ListView vs. ListView.builder / ListView.separated

ListView 는 반복적으로 작성 ListView.builder() 이용하면 더 적은 코드로 itemCount 만큼 화면을 그릴 수 있다. ListView 예제 import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: ListView( children: [ Text('Hello ListView'), Text('Hello ..

Movie Reviews 앱 과제

Movie Reviews 앱 과제 1. 이미지 위에 라벨 겹치게 표시하고 싶으면 : Stack 2. 여러개 요소들이 반복되어서 만드는데 스크롤하고 싶으면 : Listview.builder 출처: 스파르타코딩클럽 TIL 1. AppBar 영역 왼쪽에 앱 아이콘 위치하고 싶으면 leading 오른쪽에 앱 아이콘 위치하고 싶으면 actions: [] (하나 이상의 아이콘 넣을 수 있음) elevation은 appBar자체의 그림자의 정도이다. elevation이 높을수록 그림자가 많아진다. appBar: AppBar( elevation: 0, backgroundColor: Colors.white, centerTitle: false, iconTheme: IconThemeData(color: Colors.blac..