Flutter 如何读取 App 安装包的资源
Posted on Wed, 25 Dec 2024 11:22:03 +0800 by LiangMingJian
Flutter 如何读取 App 安装包的资源
资源加载
在 flutter 中,如果需要加载资源的话,需要在 pubspec.yaml 指定 APP 所需要的资源。这样的话,指定的每个 Asset (资源)都会被打包在 APP 中,并且在 APP 运行时可以访问到这些资源。
最常见的 Asset 类型就是图片,指定图片资源后即可以在 APP 页面使用图片控件加载资源了。
# pubspec.yaml
flutter:
assets:
- assets/images/logo.png
// lib/main.dart
Image.asset('assets/images/logo.png')
使用 rootBundle 对象访问资源
APP 还可以通过引入 services 包使用 rootBundle 对象来访问资源。
import 'package:flutter/services.dart';
比如访问文件 test.txt,可以使用 rootBundle 对象的 loadString 方法。当然,前提也是需要在 pubspec.yaml 中指定资源才能访问的到。
rootBundle.loadString('assets/txt/test.txt').then((data){
print(data);
});
因为 loadString()
返回的是 Future,所以需要用 then()
接受返回的 String 类型的数据。Future 类似于 ES6 中的 Promise,当异步任务执行完成后会把结果返回给 then()
。