android studioについて質問です 現在加速度センサーや地磁気センサーをボタンを押してcsv形式で保存するアプリを作っています.
android studioについて質問です 現在加速度センサーや地磁気センサーをボタンを押してcsv形式で保存するアプリを作っています. 前に似たような質問をしていますが今回聞きたいのは 加速度センサーや地磁気センサーをボタンを押してcsv形式で保存するアプリはできたのですが,できたcsvファイルを覗いてみると地磁気センサーはうまく表示できているように見えるのですが,加速度センサーのほうが地磁気センサーと交互に記録されています. この説明ではよくわからないと思うので 恐らく原因の可能性があるonCreateとonSensorChangedのスクショと表示したcsvファイルのスクショをTwitterにて投稿しました. コードのほうはなるべく掲載範囲を広げたためコードが少し読みにくいかと思います. 解決法を教えていただきたいです. ちなみに地磁気センサー関係のコードを全部削除したら加速度センサーはうまく表示されました. 言語はJavaです よろしくお願いします. https://twitter.com/rck79851871/status/1333392235019132933?s=20
ベストアンサー
onSensorChangedで 書き込みデータを文字列化するところ(write_intの代入箇所) event.values[~]の所はacceleratiorValues[~]の値ではないでしょうか? リスナーを分けてないので 磁気も加速度も両方同じevent.valuesで通知されます。 それをtryの上のif文でgetTypeをして 加速度の通知なのか磁気の通知なのかを切り分けて それぞれの配列で一時保存する処理ですよね? 以上から、 加速度の通知を書き込みたければ、acceleratiorValuesを書き込めばよいと思います。
ありがとうございます! うまく表示することが出来ました! 追加で質問して申し訳ないのですが このコードはSENSOR_DELAY_NORMALを採用していて,つまり200ミリ秒ごとにscvファイルに書き込むようにしているのですが 書き込みの間隔がバラバラなのはどうしてですか? もしよろしければ回答お願いします. https://twitter.com/rck79851871/status/1333445805009563657?s=20
質問者からのお礼コメント
わかりました ありがとうございます
お礼日時:2020/12/1 10:15