0

さまざまなテストで構成されるアプリを開発していますが、各テスト (アクティビティ) ごとに異なる txt ファイルを読み取る必要があります。私はこれを行うことを知っていますが、手動で変更します。特定のアクティビティの実行中に適切な txt を読み取るにはどうすればよいでしょうか。たとえば、アクティビティ 1 では、1.txt などを読み取る必要があります。ここに私がtxtを読んだコードがあります。

String questionFile = "";
questionFile = "1.txt";
questionCount = 20;

Log.i("Question", questionFile + ": " + questionCount);
try {
    InputStream is = context.getAssets().open(questionFile);
    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    // Skips lines
    for (i = 0; i< questionNumber; i++) {
        reader.readLine();
    }
    question = reader.readLine();
} catch (IOException e) {
    e.printStackTrace();
}
4

1 に答える 1

2

別のクラス内に現在のコードを配置し、現在実行中のアクティビティに依存するアセットからファイルを読み取るためのメソッドを作成する必要があります。

public class GetFileAssets {
Context context;

public GetFileAssets(Context context){
 this.context=context;
 }

public String readFilefromAssets(String str_file_id){
  String questionFile = "";
  questionFile = str_file_id;
  questionCount = 20;

  //... your code here

  return question;
 }

}

次に、アクティビティ 1 からファイル accoding をアクティビティ .like に渡します。

GetFileAssets obj=new GetFileAssets(Activity1.this);
String str=obj.readFilefromAssets("1.txt");

アクティビティ 2 と同じ:

GetFileAssets obj=new GetFileAssets(Activity2.this);
String str=obj.readFilefromAssets("2.txt");
于 2013-02-05T09:32:04.037 に答える