1

私はプログラミングが初めてで (数か月前に Java を学んだばかりです)、通常はここを検索してオンラインで多くのヘルプを見つけましたが、今回はかなり困惑しています。

Androidフォンのセンサーデータをストレージ内のテキストファイルに保存しようとしており、後でUSBコードを使用してテキストファイルを引き出しています。ただし、電話でアプリを実行した後、内部ストレージのフォルダーにアプリが見つからないようです。

権限の問題を除外するために、マニフェストにこの行を含めました。

    <uses-permission 
    android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

画面上のボタンを押すとブール値の save_data がトリガーされ、ボタンが押されたときに画面にオン/オフを表示することでボタンが機能していることを確認しました。

public void onSensorChanged(SensorEvent event) {
synchronized (this) {
    switch (event.sensor.getType()) {
    case Sensor.TYPE_ACCELEROMETER: 
        A_x_value.setText(Float.toString(event.values[0]));
        A_y_value.setText(Float.toString(event.values[1]));
        A_z_value.setText(Float.toString(event.values[2]));

        if (save_data == true) {
            SaveButton_Label.setText("On");

            String datastring = "A: " + Float.toString(event.values[0]) + " " + Float.toString(event.values[1]) + " " + Float.toString(event.values[2]);
            try
            {
                File f = new File("sensordata.txt");
                FileWriter fr = new FileWriter(f);
                BufferedWriter out = new BufferedWriter(fr);
                out.write(datastring);
                out.close();
            }

            catch (IOException e)
            {
                System.out.println("Exception");
            }

        } else {
            SaveButton_Label.setText("Off");
        }
        break;
    }
}

}

皆さんが提供できる助けに感謝します。ありがとう!

4

2 に答える 2

1

新しい File インスタンスを作成するときは、外部ストレージ パスを含むパス全体を定義する必要があります。

File f = new File(Environment.getExternalStorageDirectory().getPath(), "sensordata.txt");
于 2013-04-08T01:28:16.677 に答える