Flutter 8

[Flutter] API 요청하기

노마드코더님의 플러터 강의를 수강 하면서 플러터 API요청은 어떤 방식으로 이루어 지는지 알아보려고 한다. lib 폴더 구조 ├─lib ├─models │└─webtoon_model.dart ├─screens │└─home_screen.dart └─services └─api_service.dart api 요청 // api_service.dart // pub.dev에서 http를 설치 import 'package:http/http.dart' as http; class ApiService { // baseUrl과, 오늘의 웹툰을 받아올 수 있는 주소를 final로 담아준다 final String baseUrl = ''; final String today = 'today'; // JS와 같이 async, aw..

Flutter 2023.01.06

[Flutter, Dart] Getter, Setter 정의와 사용법

OOP에서 나오는 개념인 Getter와 Setter에 대해서 알아보려고 한다. Getter → 값을 가져올 때 Setter → 값을 변경할 때 void main() { Idol seulgi = new Idol( name : '슬기', group : '레드벨벳' ); seulgi.sayName(); // _name과 name은 다름 (_name은 멤버변수, name은 getter의 변수명) print(seulgi._name); print(seulgi.name); // setter seulgi.name = 'hoo_dev'; print(seulgi.name); } class Idol { // 변수명 앞에 _ 를 붙이면 private변수 // 자바같은 전통적인 OOP에선 클래스 안에서만 private변수를 가..

Flutter 2022.12.28

[Flutter] 하단바, 페이지 하단에 떠 있는 버튼 위젯(FloatingActionButton)

return Scaffold( floatingActionButton: renderFloatingActionButton(), body: SafeArea( child: Column( children: [ Calendar( ... 생략 오늘은 앱 밑에 떠 있는 하단 버튼에 대해 알아보려고 한다. Scaffold 위젯 아래에 floatingActionButton 을 통해 생성 할 수 있고, 나는 아래와 같이 따로 함수로 빼서 정의해주었다. FloatingActionButton renderFloatingActionButton() { return FloatingActionButton( onPressed: () { showModalBottomSheet( context: context, // showModalBotto..

Flutter 2022.12.27

[Flutter] Calendar 구현(table_calendar 오픈소스 활용)

pub.dev의 table_calendar를 활용 한 캘린더 구현 (https://pub.dev/packages/table_calendar) table_calendar | Flutter Package Highly customizable, feature-packed calendar widget for Flutter. pub.dev import 'package:calendar_scheduler/const/colors.dart'; import 'package:flutter/material.dart'; import 'package:table_calendar/table_calendar.dart'; class Calendar extends StatefulWidget { const Calendar({Key? key}..

Flutter 2022.12.26

[Flutter] 비동기 프로그래밍 (Future, Stream, async, async*, yeild, yeild*)

동기와 비동기의 차이 동기 '직렬적'으로 작동하는 방식 비동기 - '병렬적'으로 작동하는 방식이다. 비동기란 특정 코드가 끝날때 까지 코드의 실행을 멈추지 않고 다음 코드를 먼저 실행하는 것 Future와 Stream의 차이( FutureBuilder(), StreamBuilder()** )** FutureBuilder() 일회성 데이터에 사용하기 적합 (이미지 가져오기, 파일 가져오기 등) 데이터의 캐싱이 가장 큰 장점 setState가 없이 자동으로 화면에 변화를 FutureBuilder가 적용해줄 수 있다. connectionState*가 바뀔때마다 builder함수가 새로 불린다. ConnectionState의 상태 4가지 ConnectionState.none - null 일 때 initialDa..

Flutter 2022.12.22

[Flutter] Class와 Widget

Class and Widget Class → 객체가 가져야 하는 속성과 기능을 정의한 내용을 담고 있는 설계도 역할 객체 → 클래스가 정의된 후 메모리상에 할당되었을 때 이를 객체라고 함 인스턴스 → 클래스를 기반으로 생성, 클래스의 속성과 기능을 똑같이 가지고 있고 프로그래밍 상에서 사용되는 대상 Static 인스턴스에 귀속되지 않고, 클래스 통째로 귀속 함수 또는 변수가 통째로 클래스에 귀속 ex) class Employee { static String building; String name; Employee( String name, ):this.name = name; void NameAndBuilding(){ print(${this.name}, {building}; } } building 변수에만 ..

Flutter 2022.12.22

[Flutter] 문법 정리

* 추후 수정 예정 ... ----------------------------- Flutter 문법 type int → 정수형 double → 실수형 String → 문자형 var와 String의 차이 var → 자동으로 형 유추 String → 문자형 var와 dynamic의 차이 dynamic은 형 변환이 자유로움 (var는 선언 후 다른 타입으로 변환이 불가능함) dynamic → 어떤 타입이든 넣을 수 있다. List → map Map 변수명 = array.asMap() map에서 key, value 꺼내기 변수명.keys 변수명.values 변수명.keys.toList() → 리스트 형태로 반환 변수명.keys.toList() → 리스트 형태로 반환 List → Set Set 변수명 → Set...

Flutter 2022.12.22
LIST