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

Константа rootBundle

Константа rootBundle имеет тип AssetBundle и читает файлы, перечисленные в pubspec.yaml. Через неё вызывают load, loadString и evict вне дерева виджетов. Внутри UI чаще берут DefaultAssetBundle.of.

Синтаксис

rootBundle.loadString('assets/data.txt')

Пример

Давайте прочитаем строку до запуска интерфейса:

import 'package:flutter/material.dart'; void main() async { var label = 'abcde'; try { label = await rootBundle.loadString('assets/data.txt'); } catch (_) {} runApp( MaterialApp( home: Scaffold(body: Center(child: Text(label))), ), ); }

На экране сразу будет текст из актива или запасная строка 'abcde'.

Пример

Давайте сравним rootBundle с bundle из контекста:

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

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

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

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