0
私はアンドロイドでモバイルアプリケーションを開発しています。加速度計とジャイロスコープのデータを正確に同時に取得する必要があります。つまり、2つのセンサーを同期させて同時に読み取る必要があります。サービス(アクティビティではない)を使用する必要がありますが、2つのevent.timestampの値はまったく異なります。加速度計とジャイロスコープ/ Androidの同期
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
xa =event.values[0] ;
ya =event.values[1] ;
za =event.values[2] ;
ta= event.timestamp;
}
if (event.sensor.getType() == Sensor.TYPE_GYROSCOPE) {
xg = event.values[0];
yg = event.values[1];
zg = event.values[2];
tg = event.timestamp;
}
ありがとうございます。
まずはご返信ありがとうございます。最初は私が(ta == tg){データベースのデータを保存する}というテストを使用しましたが、5分後でもテーブルがほとんど空であることがわかりました。私がSensor apiを同期用に使用できない場合は、どのツールに助言してください。 – Lotus
これは、新しいプロジェクトのセンサリスナーを作成し、1つのジャイロスコープで得られる加速度計出力の数を確認するだけです。 ログまたはSystem.printlnを使用し、別のいずれかを設定すると、両方ともフラグがtrueに設定されます。これは機能します。コンパスアプリケーションをチェックすると、加速度計と磁場センサーの両方からデータを取得した後に回転行列を設定するのに使用されていることがわかります。 – Thracian
私は3つまたは4つの加速度計データと磁場センサーデータを参照して、フラグとトリガーアクションの両方を設定し、アクションの実行後に両方のフラグを再びfalseに設定します。 – Thracian