Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
338 of 1024 menu
◀ ▶

Класс AssetBundle

Абстрактный класс AssetBundle читает ресурсы по строковому ключу, например assets/pic.png. Метод load возвращает байты, loadString - текст, evict сбрасывает кэш картинки. Глобальный набор - rootBundle, для поддерева виджетов - DefaultAssetBundle.

Синтаксис

final bundle = DefaultAssetBundle.of(context); final data = await bundle.load('assets/pic.png');

Методы

Метод Описание
load Читает бинарный файл из набора активов. Давайте разберём параметры и примеры.
loadString Читает текстовый файл из активов в строку. Давайте разберём параметры и примеры.
evict Удаляет закэшированное изображение по ключу. Давайте разберём параметры и примеры.

Пример

Давайте прочитаем строку из JSON актива через rootBundle:

import 'package:flutter/material.dart'; void main() { runApp(const MaterialApp(home: LoadDemo())); } class LoadDemo extends StatefulWidget { const LoadDemo({super.key}); @override State<LoadDemo> createState() => _LoadDemoState(); } class _LoadDemoState extends State<LoadDemo> { String text = '12345'; @override void initState() { super.initState(); rootBundle.loadString('assets/data.txt').then((value) { setState(() => text = value.trim()); }).catchError((_) {}); } @override Widget build(BuildContext context) { return Scaffold(body: Center(child: Text(text))); } }

На экране после загрузки появится содержимое assets/data.txt или останется '12345' при ошибке.

Пример

Давайте возьмём набор активов из контекста виджета:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Builder( builder: (context) { final bundle = DefaultAssetBundle.of(context); return Scaffold( body: Center( child: Text(bundle.runtimeType.toString()), ), ); }, ), ), ); }

На экране будет имя класса набора активов, который видят дочерние виджеты.

Смотрите также

  • константа rootBundle,
    которая указывает на активы всего приложения
  • виджет DefaultAssetBundle,
    который подменяет набор для поддерева
  • класс AssetImage,
    который рисует файл из актива
  • метод load,
    который читает бинарный файл
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить