2017-06-29 40 views
4

後でスキャンできるアセットになるテキストファイル(.txt)があります。 pubspec.yamlでFlutter - アセットからテキストファイルを読み取る

、私がいることを確認しましたしました:

flutter: assets: - res/my_file.txt

が存在します。ファイルはlib/android /と同じレベルに作成したres /フォルダにあります。

ウィジェットではなくカスタムクラスからファイルを読み込もうとしています。

文書によると、私はこのインポートを使用するよ:

import 'package:flutter/services.dart' show rootBundle;

などのように読み始める:やる、

/// Assumes the given path is a text-file-asset. Future<String> getFileData(String path) async { return await rootBundle.loadString(path); }

そして、実際のデータを取得します:

String data = await getFileData(fileName);

'assets/res/my_file.txt'のようなfileNameを使用すると、エラー:Unable to load asset: assets/res/my_file.txtが表示されます。

私は単体テストからこれをやろうとしています。どのようにこれを正しく行うためのアイデアですか?ありがとう!

+1

ユニットテストに参加していないと問題はありませんか? –

+0

私は基本的なアプリでテストしたが、うまくいきませんでした。 – Jellio

+0

単体テストではないときに動作させた後も、単体テストでは成功できませんでした。私は一貫して '資産を積むことができません。 ' – Jellio

答えて

4

フォルダ名「assets」は魔法のように追加されていません。 pubspec.yamlを更新して、アセットのフルパスを含めます。

flutter: 
    assets: 
    - assets/res/my_file.txt 
+0

ありがとうございます。私のフォルダは 'assets/res/my_file.txt'、私のpubspec.yamlは' assets/res/my_file.txt'を必要とし、私のパスは 'assets/res/my_file.txt'にする必要がありました。 – Jellio

関連する問題