【问题标题】:Accessing large number of JSON assets with Flutter使用 Flutter 访问大量 JSON 资产
【发布时间】:2018-04-21 16:30:57
【问题描述】:

我正在开发一个原型应用程序,该应用程序将读取和显示来自大型 JSON 文件存储库的数据。我目前想知道在 pubspec.yaml 和颤振代码本身中建模这种行为的最佳方法。

现在我最初在 JSON 中加载目录文件,这将创建目录条目的可滚动列表视图,每个目录条目在子目录中都有自己的 JSON 文件(相对于目录文件)。我是否需要将每个新文件添加到 pubspec.yaml,或者我可以直接访问它们。

【问题讨论】:

  • 您不应该为此使用 API 而不是将所有东西都放在本地吗?您不想每次对 JSON 进行一点更改时都重新部署您的应用
  • 这是大量编码的古代文本,它们非常静态。我不担心他们经常更换。但是尺寸有点问题。

标签: android json dart flutter


【解决方案1】:

您也可以只访问文件系统中的文件而不指定pubspec.yaml 中的文件。

我不确定语法是否仍然正确,因为这是我从事的一个旧项目,但它应该以类似的方式工作。

File _themeFile;
Future<Null> _loadThemeFile() async {
  String dir = (await PathProvider.getApplicationDocumentsDirectory()).path;
  _themeFile = new File('$dir/theme.txt');
  if (!await _themeFile.exists()) {
    _themeFile.create();
    await _themeFile.writeAsString(JSON.encode({
      'theme': 'dark',
      'colorIndex': 0,
      'displayDone': true,
    }));
  }
}

这个 sn-p 查找名称为 theme.txt 的文件并返回它。如果不存在,则创建该文件。您可能不需要完全那样,但我认为您可以将其作为起点。

【讨论】:

  • 这很好,看起来合乎逻辑,快速澄清问题是否可以与 gradle 打包系统一起使用,以确保文件捆绑在最终的 APK 中?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-13
  • 1970-01-01
  • 2018-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-07
相关资源
最近更新 更多