需要帮助在flutter中访问assert bundle文件

问题描述 投票:0回答:1

我需要访问位于我的flutter项目的xmlfiles目录中的XML文件(我将它添加到IntelliJ中的项目目录结构中),具体来说,访问xmlfiles目录中名为recipes.xml的文件。

我试图通过在线示例访问它,但我没有取得进展。

我的测试方法是这样的:

  _loadRecipes(BuildContext context) {
    dataDepot.recipeBook = new RecipeBook();
    var recipesXML = DefaultAssetBundle.of(context).loadString('xmlfiles/ingredients.xml');
    print("DUMPING RECIPE BOOK");
    print(recipesXML.toString());
    print("LOADED RECIPE BOOK!!!");
  }

当我尝试运行它时,我得到了这个:

I / flutter(32066):══╡WIDGETS LIBRARY的例外情况╞═​​════════════════════════════════════════════════════════════════════════════════════════════════════ ═════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════>>在null上调用inheritFromWidgetOfExactType'。 I / flutter(32066):Receiver:null I / flutter(32066):尝试调用:inheritFromWidgetOfExactType(DefaultAssetBundle)I / flutter(32066):抛出异常时,这就是堆栈:

...

我想要做的是打开recipes.xml文件并解析它,但我首先需要打开它。有人可以帮我吗?

谢谢!

dart flutter
1个回答
0
投票

在pubspec.yaml中查找名为assets的部分

flutter:
  assets:
    - assets/

这告诉了所有应用程序资产都位于此文件夹中。更多信息 - https://flutter.io/assets-and-images/

重要信息:确保为每行使用制表符。

© www.soinside.com 2019 - 2024. All rights reserved.