2017-11-08 5 views
1

私は大きなJSONファイルのリポジトリからデータを読み込んで表示するプロトタイプアプリケーションを開発しています。私は現在、この動作をpubspec.yamlとフラッタコード自体でモデル化する最良の方法について疑問を抱いています。Flutterで多数のJSONアセットにアクセスする

私は最初にJSONでカタログファイルをロードしています。これにより、カタログエントリのスクロール可能なリストビューが作成され、それぞれのサブディレクトリに独自のJSONファイルがあります。それぞれの新しいファイルをpubspec.yamlに追加する必要がありますか、それとも直接アクセスできますか?

+0

ローカルにすべてを持つ代わりにAPIを使用してはいけませんか? JSONで少し変更を加えるたびにアプリを再デプロイする必要はありません – Darky

+0

これはコード化された古代テキストの大量収集です。私はそれらが頻繁に変わることを心配していません。しかし、サイズは少し問題です。 – labarna

答えて

0

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, 
    })); 
    } 
} 

このコードは、名前theme.txtを持つファイルを探し、それを返します。ファイルが存在しない場合、ファイルを作成します。おそらくこれはまさにそのようなものではありませんが、出発点として使うことができると思います。

+0

これは偉大で、論理的で、明らかに明らかな質問ですが、このファイルは最終的なAPKにバンドルされていることを確認するために、gradleパッケージシステムで動作しますか? – labarna

関連する問題