###前提・実現したいこと
Androidアプリで、加速度センサーの値をCSV出力したいです。
最終的にはグラフにしたりしたいのですが、今はとりあえず
“アプリでCSVファイルを出力”出来ればいいです。
###発生している問題・エラーメッセージ
エラーはなく、実機上でセンサーの値を表示してはくれるのですが
(アプリは動作しているのですが)
CSVファイルが出力されません。
ここで解決策を教えていただいたら、文字列部分にセンサーの値を入れて
挑戦してみたいと考えています。
For文があるのは、センサーの値を配列に入れて、
それを出力しようと思っていた時期があったからです。
###ソースコード
Java
1import android.os.Environment; 2import android.support.v7.app.AppCompatActivity; 3import android.os.Bundle; 4import android.hardware.Sensor; 5import android.hardware.SensorEvent; 6import android.hardware.SensorEventListener; 7import android.hardware.SensorManager; 8import android.os.Bundle; 9import android.support.v7.app.AppCompatActivity; 10import android.util.Log; 11import android.view.View; 12import android.widget.Button; 13import android.widget.TextView; 14import android.widget.Toast; 15import android.view.View.OnClickListener; 16import java.io.BufferedWriter; 17import java.io.FileWriter; 18import java.io.IOException; 19import java.io.OutputStream; 20import java.io.OutputStreamWriter; 21import java.io.PrintWriter; 22 23public class MainActivity extends AppCompatActivity implements SensorEventListener { 24 private Sensor accSensor; 25 private TextView mX; 26 private TextView mY; 27 private TextView mZ; 28 private SensorManager manager; 29 public int button_flag = 0; 30 31 32 public void onAccuracyChanged(Sensor sensor, int n) { 33 } 34 35 @Override 36 protected void onCreate(Bundle savedInstanceState) { 37 super.onCreate(savedInstanceState); 38 setContentView(R.layout.activity_main); 39 manager = (SensorManager)this.getSystemService(SENSOR_SERVICE); 40 accSensor = this.manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); 41 Button start_btn = (Button) findViewById(R.id.button); 42 Button stop_btn = (Button) findViewById(R.id.button2); 43 44 start_btn.setOnClickListener(new View.OnClickListener() { 45 @Override 46 public void onClick(View v) { 47 button_flag = 1; 48 } 49 }); 50 51 stop_btn.setOnClickListener(new View.OnClickListener() { 52 @Override 53 public void onClick(View v) { 54 button_flag = 0; 55 } 56 }); 57 58 mX = (TextView)this.findViewById(R.id.textView); 59 mY = (TextView)this.findViewById(R.id.textView4); 60 mZ = (TextView)this.findViewById(R.id.textView6); 61 62 try { 63 //出力先を作成する 64 FileWriter fw = new FileWriter(Environment.getDataDirectory().getPath()+"test.csv", false); 65 PrintWriter pw = new PrintWriter(new BufferedWriter(fw)); 66 67 //内容を指定する 68 pw.print("あ"); 69 pw.print(","); 70 pw.print("い"); 71 pw.println(); 72 73 pw.print("01"); 74 pw.print(","); 75 pw.print("02"); 76 pw.println(); 77 78 //ファイルに書き出す 79 pw.close(); 80 81 //終了メッセージを画面に出力する 82 System.out.println("出力が完了しました。"); 83 84 } catch (IOException ex) { 85 //例外時処理 86 ex.printStackTrace(); 87 } 88 89 } 90 91 92 @Override 93 protected void onPause() { 94 super.onPause(); 95 this.manager.unregisterListener((SensorEventListener)this, this.accSensor); 96 } 97 98 protected void onResume() { 99 super.onResume(); 100 this.manager.registerListener((SensorEventListener) this, this.accSensor, 0); 101 } 102 103 public void onSensorChanged(SensorEvent sensorEvent) { 104 if (sensorEvent.sensor.getType() == Sensor.TYPE_ACCELEROMETER) { 105 if(button_flag==1){ 106 int[] [] arrn = new int[3] [100]; 107 for (int i = 1; i <= arrn.length; i++) { 108 Log.d("SENSOR_DATA", "TYPE_ACCELEROMETER1 = " + String.valueOf(sensorEvent.values[0])); 109 Log.d("SENSOR_DATA", "TYPE_ACCELEROMETER2 = " + String.valueOf(sensorEvent.values[1])); 110 Log.d("SENSOR_DATA", "TYPE_ACCELEROMETER3 = " + String.valueOf(sensorEvent.values[2])); 111 112 mX.setText("加速度センサーX:" + String.valueOf(sensorEvent.values[0])); 113 mY.setText("加速度センサーY:" + String.valueOf(sensorEvent.values[1])); 114 mZ.setText("加速度センサーZ:" + String.valueOf(sensorEvent.values[2])); 115 } 116 }else{ 117 mX.setText("止まっていますX"); 118 mY.setText("止まっていますY"); 119 mZ.setText("止まっていますZ"); 120 } 121 } 122 } 123} 124
###補足情報(言語/FW/ツール等のバージョンなど)
Android studio 1.5で、実機はXPERIA Z3c(SO-02G)です。
パソコンはwindoiws7、スマホはAndroid4.4です。
宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/01/19 00:40
2016/01/19 00:55
退会済みユーザー
2016/01/19 07:48
2016/01/19 08:13 編集
退会済みユーザー
2016/01/19 10:07
2016/01/19 10:22 編集
退会済みユーザー
2016/01/19 10:52