본문 바로가기

프로그래밍/Flutter54

[flutter] Dart, JSON 수동 직렬화(Serialization) 하기 프로그래밍 언어와 상관없이 json 문자열 포맷으로 API 통신을 하는 경우가 많습니다. 다트와 플러터에서도 JSON 데이터를 다루기 위해 편리한 기능을 갖추고 있는데요. Dart에서 JSON 데이터를 다루는 방식으로 수동 직렬화와 자동 직렬화로 나눌 수 있습니다. 첫 번째 시간으로 수동으로 직렬화 하는 방식을 알아보도록 하겠습니다. 이번 포스트는 다음 내용을 다루고 있습니다. 플러터(다트)에서 json 직렬화 과정 직렬화(Serialization) 실습 플러터(다트)에서 json 직렬화 과정 코드에 앞서 직렬화하는 과정을 살펴보겠습니다. 수동으로 직렬화 하는 과정은 매우 간단합니다. 유저를 나타내는 Dart 클래스로 예를 들어보겠습니다. 1. 먼저 User클래스로 User객체를 생성하게 됩니다. 2. .. 2022. 5. 17.
[Flutter] Dart, 비동기 처리의 에러 처리 플러터와 다트의 비동기 처리에 대해 알아보고 있는데요. 이번 포스트는 비동기 처리에서 일어날 수 있는 에러를 대처하는 법에 대해 다뤄보겠습니다. 이번 포스트는 다음 내용을 다루고 있습니다. 에러 핸들링의 필요성 다트에서 에러를 처리하는 두 가지 방법 catchError 사용하기 try catch 사용하기 에러 핸들링의 필요성 우리는 프로그램을 만들 때 항상 올바른 순서로 실행되기를 원합니다. 프로그램 사용자들이 의도된 방식대로 우리가 생각한 흐름대로 이용할 거라 생각합니다. 그러나 거의 대부분 유저의 행동과 환경에 대처할 수 있는 완벽한 앱은 존재하지 않습니다. 코딩을 하고 에러를 최대한 발견하기 위해서 유닛테스트를 진행하게 되는데요. 하지만 100% 테스트가 통과되었다고 해도 여전히 코드의 통제 밖에 .. 2022. 5. 10.
[Flutter] Dart, async / await 비동기 처리 플러터 앱에서 async와 await를 사용해 비동기 처리 코드를 깔끔하게 유지할 수 있습니다. 이번 포스트는 다음 내용을 다루고 있습니다. Future와 then을 사용하는 비동기 처리 async와 await 키워드 async, await를 사용하는 비동기 처리 await와 block의 차이 이해하기 Future와 then을 사용하는 비동기 처리 아래 Future와 then을 사용한 비동기 처리 코드가 있습니다. (Future와 아래 코드에 대한 설명은 이쪽을 참고해 주세요.) main 함수에서 세 개의 함수를 호출하고 있습니다. mockFileIO가 호출되고 처리가 끝나면 다음 mockHttpRequest를 호출하게 됩니다. mockHttpRequest는 비동기 처리로 즉시 Future를 반환하게 되.. 2022. 5. 9.
[Flutter] Dart 비동기 처리, Future 사용하기 Dart의 비동기 처리 1탄으로 Future 사용법에 대해 알아보도록 하겠습니다. 동기식 코드를 살펴보고 Future를 이용해서 동기식을 비동기 처리로 바꿔보겠습니다. 이번 포스트는 다음 내용을 다루고 있습니다. 동기식 코드 살펴보기 Future 란? Future 사용해 비동기 처리로 바꿔보기 Future의 상태 반환 값이 있는 Future 동기식 코드 살펴보기 아래 코드를 보고 호출 순서를 생각해보세요. main 메소드에서 비동기 처리로 바꿔야 할 세 개의 메소드를 호출하고 있습니다. mockFileIO, mockHttpRequest, mockDBQuery는 실제 처리를 하는 메소드는 아니지만 실제로 파일 입출력, http리퀘스트, 디비 쿼리를 수행하는 처리 시간이 오래 걸리는 메서드라고 정의하겠습니다.. 2022. 5. 7.