이전 포스팅에서 Data Model을 제작하는 방법에 대해 자세히 살펴보았습니다.
이번 포스팅에서는 이렇게 제작한 Data Model을 어떻게 화면에 표시하고 활용할지에 대해 다룰 예정입니다.
아직 이전 포스팅을 보지 못했다면 아래 링크를 이용해 확인할 수 있습니다.
[Flutter] DataModel을 사용하여 api 데이터 화면에 보여주기 (1)
[Flutter] DataModel을 사용하여 api 데이터 화면에 보여주기 (1)
Flutter을 사용하여 앱을 개발하거나 인터넷에서 데이터를 가져올 때, 중요한 단계 중 하나는 서버에서 데이터를 가져오는 과정입니다. 하지만 앱에서 서버로 직접 통신하는 것은 대부분 불가능
space-engineers-developer.tistory.com
이전 포스팅에서 제작한 dataModel은 json데이터를 가져오기 위한 준비단계에 불과합니다.
dataModel을 사용해 데이터를 불러오기 위해서는 apiService라는 파일을 하나 더 만들어 http/http.dart 라이브러리를 이용하여 데이터를 불러올 수 있게 작업을 해줘야 합니다.
우선 http라이브러를 가져오기 위해 프로젝트 경로 안에서 아래 명령어를 사용합니다.
flutter pub add http
설치 완료시 아래와 같이 Got dependencies! 라고 나옵니다.
"http" is already in "dependencies". Will try to update the constraint.
Resolving dependencies...
collection 1.17.2 (1.18.0 available)
cupertino_icons 1.0.5 (1.0.6 available)
flutter_lints 2.0.2 (2.0.3 available)
google_fonts 5.1.0 (6.1.0 available)
material_color_utilities 0.5.0 (0.8.0 available)
meta 1.9.1 (1.10.0 available)
petitparser 5.4.0 (6.0.1 available)
stack_trace 1.11.0 (1.11.1 available)
stream_channel 2.1.1 (2.1.2 available)
test_api 0.6.0 (0.6.1 available)
web 0.1.4-beta (0.2.2-beta available)
webview_flutter 4.2.4 (4.3.0 available)
webview_flutter_android 3.10.1 (3.12.0 available)
webview_flutter_wkwebview 3.8.0 (3.9.0 available)
win32 5.0.7 (5.0.9 available)
xml 6.3.0 (6.4.2 available)
Got dependencies!
http라이브러리 설치가 끝났으면 service_api.dart라는 파일을 생성하여 아래 코드를 작성해줍니다.
class DataApiService{
Future<DataModel> getData() async {
List<DataModel> dataInstence = [];
final coreUrl =
Uri.parse('당신의 API URL');
final response = await http.get(coreUrl);
if (response.statusCode == 200) {
final Map<String, dynamic> data = jsonDecode(response.body);
final List<dynamic> dataSet = data['호출 키 필드(ex: jvak)'];
// "jvak" 필드가 있는 경우에는 아래 코드를 사용합니다.
for (var data in dataSet) {
movieInstence.add(DataModule.fromJson(data));
}
// "jvak" 필드가 없는 경우에는 데이터를 직접 파싱합니다.
final DataModel dataModel =
DataModel.fromJson(data);
return dataInstence;
} else {
print('''
error[jvapApiService - response error] \nresponseCode = ${response.statusCode}
''');
}
throw Error();
}
}
위 코드에 대해 간단하게 설명하고 넘어가겠습니다.
API에서 데이터를 불러오는 작업을 성공적으로 완료하셨습니다. 이제 데이터를 활용하여 앱의 사용자 인터페이스(UI)를 구성하고, 사용자에게 친숙한 방식으로 데이터를 표시하는 작업을 시작할 수 있습니다. 다음 포스팅에서는 데이터를 화면에 출력하고 사용자와 상호작용하는 방법에 대해 알아보겠습니다.
DataModel을 사용하여 api 데이터 화면에 보여주기 1편 -
[Flutter] DataModel을 사용하여 api 데이터 화면에 보여주기 (1)
Flutter을 사용하여 앱을 개발하거나 인터넷에서 데이터를 가져올 때, 중요한 단계 중 하나는 서버에서 데이터를 가져오는 과정입니다. 하지만 앱에서 서버로 직접 통신하는 것은 대부분 불가능
space-engineers-developer.tistory.com
DataModel을 사용하여 api 데이터 화면에 보여주기 3편 -
[Flutter] DataModel을 사용하여 api 데이터 화면에 보여주기 (3)
이전 포스팅에서 데이터 모델(DataModel)을 만들고 API 서비스(apiService)를 설정하여 데이터를 가져오는 작업을 마쳤습니다. 이제 이 데이터를 사용자에게 친숙한 방식으로 표시하기 위해 UI를 만들
space-engineers-developer.tistory.com
[Flutter] Flexible 위젯 사용법 (0) | 2023.10.05 |
---|---|
[Flutter] DataModel을 사용하여 api 데이터 화면에 보여주기 (3) (0) | 2023.10.01 |
[Flutter] Dart의 명명된 생성자(Named Constructor) 이해하기 (0) | 2023.10.01 |
[Flutter] DataModel을 사용하여 api 데이터 화면에 보여주기 (1) (0) | 2023.10.01 |
[Flutter] Flutter로 Timer을 활용한 타이머 앱 만들기 (0) | 2023.09.28 |