[개발] Flutter

[Flutter] await rootBundle.loadString 란?

  • -
반응형

 

Flutter의 await rootBundle.loadString() 설명

Flutter에서 rootBundle.loadString()은 앱의 assets 폴더에 저장된 파일(예: JSON 파일, 텍스트 파일 등)을 비동기적으로 읽어오는 방법입니다. await 키워드는 이 작업이 완료될 때까지 기다린 후 결과 값을 반환받는 데 사용됩니다.

rootBundle은 Flutter에서 기본적으로 제공하는 AssetBundle 객체로, 앱의 리소스(이미지, 텍스트 파일, JSON 파일 등)에 접근할 수 있게 해줍니다. loadString() 메서드를 사용하면 파일을 읽고, 그 파일의 내용을 문자열로 반환합니다.

await는 비동기 함수가 완료될 때까지 기다린 후 그 결과를 반환하는 역할을 합니다. await를 사용하면 비동기 작업의 완료 여부에 따라 다른 작업을 진행할 수 있습니다.

 

 

 

 

 

 

rootBundle.loadString()을 사용하여 assets 폴더에 저장된 JSON 파일을 불러오는 예제입니다:

import 'package:flutter/services.dart'; import 'dart:convert'; import 'package:flutter/material.dart'; class MyApp extends StatefulWidget { @override _MyAppState createState() => _MyAppState(); } class _MyAppState extends State { String _data = ''; @override void initState() { super.initState(); loadAsset(); } Future loadAsset() async { String jsonString = await rootBundle.loadString('assets/data.json'); final jsonResponse = jsonDecode(jsonString); setState(() { _data = jsonResponse['message']; }); } @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: Text('Load Asset Example'), ), body: Center( child: Text(_data), ), ), ); } }

rootBundle.loadString()을 사용하기 위해서는 pubspec.yaml 파일에서 assets를 등록해야 합니다. 예를 들어, assets/data.json 파일을 사용할 경우 다음과 같이 설정해야 합니다:

flutter: assets: - assets/data.json

rootBundle.loadString()은 파일의 내용을 String 타입으로 반환합니다. 반환된 문자열은 JSON 파싱이나 텍스트로 화면에 표시하는 데 사용할 수 있습니다.

  • JSON 파일 불러오기: 서버와 연동하기 전에 로컬에서 JSON 데이터를 읽어올 때 유용합니다.
  • 텍스트 파일 읽기: 텍스트 파일을 앱 내에서 사용하고자 할 때 loadString()을 통해 불러올 수 있습니다.

await rootBundle.loadString()은 Flutter에서 로컬 리소스 파일을 비동기적으로 읽어올 때 사용하는 편리한 메서드입니다. 이를 통해 앱의 assets 폴더에 저장된 파일을 쉽게 읽고 처리할 수 있습니다.

반응형

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.