반응형
반응형
HttpClient 란? HTTP 서버와 통신하기 위한 HTTP 클라이언트 HTTP 요청을 HTTP 서버에 보내고 응답을 받음 동일한 서버에 대한 여러 요청 간에 세션 쿠키 및 기타 쿠키를 포함한 상태 유지 HttpClient는 낮은 수준의 HTTP 기능을 제공하기 때문에 개발자 친화적인 API인 http 패키지를 권장 구문 getUrl / postUrl import 'dart:convert'; import 'dart:io'; import 'package:flutter/material.dart'; // HttpClient 인스턴스 생성 var client = HttpClient(); try { // API 설정 HttpClientRequest request = await client.getUrl('url..
dio Dart/Flutter용 HTTP 클라이언트 패키지 헤더 설정, 인터셉터, 파일 업로드 및 다운로드, 쿠키 관리 등 지원 비동기 작업을 위해 async/await 문법과 함께 사용 가능 간단하고 직관적인 API 제공, 손쉽게 HTTP 요청, 생성, 응답 처리 할 수 있도록 함 구문 import 'package:dio/dio.dart'; final dio = Dio(); void getHttp() async { final response = await dio.get('https://dart.dev'); print(response); } 프로젝트 의존성 추가 터미널에서 아래의 명령어 입력 dio 패키지 설치 flutter pub add dio 프로젝트 기본 UI 설계 UI 버튼을 누르면 버튼 아래의 ..
dynamic Dart언어에서 제공하는 특별한 타입 모든 유형의 값을 나타낼 수 있는 동적 타입 컴파일러가 해당 값을 검사하지 않고 직접 실행 설명 추론할 수 있는 데이터타입은 명시적으로 정의할 필요가 없습니다. 그러나 명시된 데이터타입의 문제점은 이 변수가 항상 한가지의 데이터타입을 유지하여야 한다는 것입니다. 만약 때에 따라서 변수를 다른 데이터타입으로 할당할 경우가 생기는데, 이런 경우를 고려하여 보다 동적인 변수를 만들고 싶을 때 dynamic 키워드를 사용하여 재할당 할 수 있습니다. 쉽게 말하면, 변수에 데이터타입을 따지지 않고 값 저장이 가능하다는 이점이 있습니다. dynamic의 필요성 String message = 'hello?'; message = 1234; // error : A va..
포스팅 참고 사항 포스팅에서 진행한 환경 OS : Windows 10 IDE : Visual Studio Code Emulator : Pixel 5 API 27 (Android-x86 emulator), Windows (windows-x64) 포스팅에서의 예시 프로젝트 다운로드 포스팅에서 다루는 예시 프로젝트는 아래의 깃허브 링크에서 다운로드 받을 수 있습니다. '7_memo_CRUD_example' 폴더를 확인해주세요. https://github.com/luvris2/flutter_memo_app 할 것 이번 포스팅에서는 DB가 연동되었다는 가정하에 데이터 조회, 추가, 수정, 삭제 기능을 구현합니다. 생략한 것 MySQL 연동 및 쿼리 실행 부분은 이전 포스팅에서 진행하였으므로 생략합니다. DB에서 ..
메모 관리를 위한 MySQL 설정 MySQL - 테이블 생성 memo 테이블 생성 컬럼은 아래와 같음 특이사항 메모 추가 시간 자동 등록 : createDate의 Deafault/Expression : now() 메모 수정 시간 자동 업데이트 : updateDate의 Default/Expression : now() on update now() Default/Expression에 위와 같이 입력하면 자동으로 그림처럼 변경 됨 FK 설정 이 포스팅은 로그인된 유저에게만 메모를 작성하도록 설계되어 있음 로그인되어 있는 유저의 인덱스 번호가 필요 참고 : users 테이블의 정보는 다음과 같음 Flutter - MySQL 연동 포스팅의 내용이 매우 길어질 것 같아서 아래의 포스팅의 링크로 대처 합니다. 기본적인..
Overview Provider 패키지를 사용하여 StatefulWidget의 상태 관리를 편리하게 할 수 있습니다. 아래의 예시는 플러터 provider 패키지의 공식 가이드 문서를 참고하여 작성하였습니다. 또한, 소스 코드는 글쓴이의 취향에 맞게 수정되어 작성되었음을 알려드립니다. Provider 패키지란? 상속된 위젯들을 감싸는 래퍼 애플리케이션에서 데이터의 상태를 관리하고 공유하기 위한 기능을 제공하는 패키지 상태를 사용하는 위젯을 자동으로 재빌드 Provider 패키지 추가하기 특정 버전으로 추가 (프로젝트 디렉토리 내) pubspec.yaml 파일의 dependencies 아래 코드 추가 컨트롤 + S (파일 저장)을 눌러 의존성 주입 dependencies: flutter: sdk: flut..