アプリに問題がある
各行に1つの整数を含むテキストファイルからデータを読み取る必要があり、それを配列に読み取って2倍にして別のテキストファイルに出力する必要があります。ただし、ファイルを開いて読み取ることができないので、それらを配列に追加できます。
package com.example.doubleandsave;
import java.io.File;
import java.util.Scanner;
import android.os.Bundle;
import android.app.Activity;
import android.content.res.AssetManager;
import android.view.Menu;
public class MainActivity extends Activity {
int[] inArray;
File infile = new File("inputtextfile.txt");
Scanner fsc = new Scanner(infile);
AssetManager assetManager = getAssets();
Scanner fsc1 = new Scanner(assetManager.open("inputtextfile.txt"));
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
これらの2行により、デフォルトのコンストラクターは暗黙のスーパーコンストラクターによってスローされた例外タイプIOExceptionを処理できませんというエラーが表示されます。明示的なコンストラクターを定義する必要があります
これを修正する方法を知っている人はいますか?#修繕#
これが私がしなければならないことの要点です
- 指定された名前の入力 (テキスト) ファイルを開きます (上記の最初の EditText フィールド)。このファイルは、アプリの「assets」ディレクトリに表示されます。成績のリストが含まれている必要があります (1 行に 1 つ)。成績を配列に読み取ります。(ファイルが存在しない場合は、上記の「ステータス」というラベルの付いた画面のテキスト領域に適切なメッセージを表示します。)
- メソッドを使用して、配列内のすべての値を 2 倍にします。(このメソッドをメイン アクティビティ クラスに含め、ボタンの押下に応答するメソッドから呼び出します。)
- 2 倍になった成績のリスト (1 行に 1 つ) を、指定された名前の新しいファイルに出力します (上記の 2 番目の EditText フィールド)。このファイルは、組み込み SDK の「getExternalFilesDir」メソッドを使用して取得できる、アプリの外部ファイル ディレクトリに表示されます。注: 出力ファイルを開く前に、そのファイルが既に存在するかどうかを確認してください。その場合は、上書きしないでください。ステータス テキスト領域にユーザーに適切なメッセージを表示し、ファイルには何も書き込まないでください。