質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

0回答

1827閲覧

Android Studio:作成したリストをcsvファイルに出力する方法

退会済みユーザー

退会済みユーザー

総合スコア0

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2021/10/06 09:51

編集2021/10/07 05:04

前提・実現したいこと

Android Studioで計測した加速度の情報をcsvファイルに保存するプログラムを作成しています

・現在実装できていること
加速度の情報を表示する。(strTmp1)
加速度の情報をリストに保存する。(listX,listY,listZ)
リストの情報を表示する。(strTmp2)(リストに加速度の情報が入力されているかを確かめるもの)

・実装したいこと
現在、表示させているリストの情報をcsvファイルに出力できるようにしたい。

発生している問題・エラーメッセージ

リストの情報をcsvファイルに出力する方法がわかりません。
Androidのファイルの扱い方がわからず、pcのファイルに保存する場合と同じような方法で保存できるのか疑問です。

該当のソースコード

Java

1MainActivity.java】 2package com.websarva.wings.android.test1; 3 4import android.os.Bundle; 5import android.hardware.Sensor; 6import android.hardware.SensorEvent; 7import android.hardware.SensorEventListener; 8import android.hardware.SensorManager; 9import android.widget.TextView; 10import androidx.appcompat.app.AppCompatActivity; 11 12import java.util.ArrayList; 13import java.util.List; 14 15public class MainActivity extends AppCompatActivity implements SensorEventListener { 16 17 private SensorManager sensorManager; 18 private TextView textView, textInfo; 19 20 //加速度の履歴を保存する配列 21 List<Float> listX = new ArrayList<>(); 22 List<Float> listY = new ArrayList<>(); 23 List<Float> listZ = new ArrayList<>(); 24 25 @Override 26 protected void onCreate(Bundle savedInstanceState) { 27 super.onCreate(savedInstanceState); 28 setContentView(R.layout.activity_main); 29 30 // センサーマネージャーのインスタンスを取得 31 sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); 32 33 // TextViewのインスタンスを取得 34 textView = findViewById(R.id.text_view); 35 textInfo = findViewById(R.id.text_info); 36 } 37 38 @Override 39 protected void onResume() { 40 super.onResume(); 41 // リスナの登録 42 Sensor accel = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); 43 44 //センサの反応速度を変化 45 //sensorManager.registerListener(this, accel, SensorManager.SENSOR_DELAY_NORMAL); 46 sensorManager.registerListener(this, accel, SensorManager.SENSOR_DELAY_FASTEST); 47 //sensorManager.registerListener(this, accel, SensorManager.SENSOR_DELAY_GAME); 48 //sensorManager.registerListener(this, accel, SensorManager.SENSOR_DELAY_UI); 49 } 50 51 @Override 52 protected void onPause() { 53 super.onPause(); 54 // 登録したリスナを解除 55 sensorManager.unregisterListener(this); 56 } 57 58 //イベントリスナ 59 @Override 60 //センサーの値が変化したとき 61 public void onSensorChanged(SensorEvent event) { 62 float sensorX, sensorY, sensorZ; 63 64 if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) { 65 sensorX = event.values[0]; 66 sensorY = event.values[1]; 67 sensorZ = event.values[2]; 68 69 String strTmp1 = "加速度センサー\n" 70 + " X: " + sensorX + "\n" 71 + " Y: " + sensorY + "\n" 72 + " Z: " + sensorZ; 73 textView.setText(strTmp1); 74 75 //加速度の履歴を保存 76 listX.add(sensorX); 77 listY.add(sensorY); 78 listZ.add(sensorZ); 79 80 String strTmp2 = " X: " + listX + " Y: " + listY + " Z: " + listZ; 81 82 textInfo.setText(strTmp2); 83 84 } 85 } 86 87 @Override 88 //センサーの精度が変化したとき 89 public void onAccuracyChanged(Sensor sensor, int accuracy) { 90 } 91}

補足情報(言語/FW/ツールのバージョンなど)

開発環境:Android Studio Arctic Fox | 2020.3.1 Patch 2
開発言語:Java
Androidバージョン:11.0(R)-API30
Android Studioでの開発は始めて1ヵ月程度で、Javaについても今回初めて使用しています。そのため理解していない部分が多いです。
どうかご指摘、ご指導よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2021/10/06 09:59

AndroidのファイルアクセスはAndroidのバージョンや読み書き、ファイルの格納先などによって様々な制約があったりなかったりするので、ひととおり学んで実際にご自身の環境で試し、出てきた疑問を質問した方が良いです。ググれば大量の記事がヒットしますが、まずは公式の情報に当たった方がよいでしょう。 [アプリ固有のファイルにアクセスする] https://developer.android.com/training/data-storage/app-specific?hl=ja
dodox86

2021/10/06 10:08

で、Android Studio自体のバージョン情報も大事ですが、Android Studioは開発環境でしかないので、より重要なのは動かそうとしているAndroid端末のAndroidバージョンです。更に、場合によって機種固有の事情があったりするので、特有の問題が発生すればその機種名などの情報も必要になります。とりあえずAndroid端末(やエミュレーター)のAndroidバージョンは明確にしておいた方が良いでしょう。
y_waiwai

2021/10/06 12:01

提示のコードの出力はどうなっていて、 それのどこをどうなればいいのかを説明しましょう。 問題が見えません。
dodox86

2021/10/06 23:40

@y_waiwaiさん > リストの情報をcsvファイルに出力する方法がわかりません。 > Androidのファイルの扱い方がわからず、pcのファイルに保存する場合と同じような方法で保存できるのか疑問です。 と書かれているように、Android上においてCSVファイルとして出力する方法がまったく分からず、それゆえコードが書けない、コードが書けないから出力も得られないというのが問題です。
退会済みユーザー

退会済みユーザー

2021/10/07 05:02

@dodox86さん 返信ありがとうございます。 Androidのファイルアクセスはpcの場合とは大きく違うようですね。まずは自分で試してみて、何か問題が生じた場合再度質問させてもらおうと思います。わざわざ情報のURLまで張っていただきありがとうございます。 Androidバージョンについて追記しました。
退会済みユーザー

退会済みユーザー

2021/10/07 05:15

@y_waiwaiさん 返信ありがとうございます。 コードの出力は、現在の加速度と過去の加速度の履歴を表示するようなものになっています。この過去の加速度の履歴をcsvファイルに出力することが目的になります。 問題点としてはAndroidのファイルアクセスの方法が分からないことです。回答しずらいような質問になってしまい申し訳ありませんでした。自分で試して問題が明確になった場合に改めて質問させてもらおうと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問