【问题标题】:Need help accessing assert bundle file in flutter需要帮助在颤振中访问断言捆绑文件
【发布时间】:2019-02-12 10:39:36
【问题描述】:

我需要访问位于 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):══╡ 小部件库发现异常 ╞═════════════════════════════════════════════════ ══════════ I/颤振 (32066):在构建 Builder 时引发以下 NoSuchMethodError: I/flutter (32066):方法“inheritFromWidgetOfExactType”是 调用为空。 I/颤振(32066):接收器:空 I/颤振(32066): 尝试调用:inheritFromWidgetOfExactType(DefaultAssetBundle) I/flutter (32066): 抛出异常时,这是堆栈:

...

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

谢谢!

【问题讨论】:

标签: dart flutter


【解决方案1】:

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

flutter:
  assets:
    - assets/

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

重要提示:确保每行都使用制表符。

【讨论】:

  • "重要提示:确保每行都使用制表符。"不需要标签。正确的缩进,是的;制表符,编号。
  • 我们说的是同一件事,我只是更喜欢使用制表符,因为它比手动添加间距更容易保持一致,如果不一致会降低可读性..
猜你喜欢
  • 1970-01-01
  • 2020-12-06
  • 2020-06-26
  • 2012-02-16
  • 2020-09-11
  • 2021-02-03
  • 2015-01-15
  • 1970-01-01
  • 2020-04-29
相关资源
最近更新 更多