2011-01-14 6 views

答えて

9

一般的に「正確な値」はありません。デバイスによって異なります。 SensorクラスはgetMaximumRange()です。アクセラレーションは正または負になる可能性があるので、最小値を得るには、その値に安全に-1を掛けることができます。

+0

私は、最小値がgetMaximumRange()によって返される値の負数であることに同意します。ほとんどのアプリケーションで違いを生むには小さすぎますが、実際の正の最大値はgetMaximumRange()より小さい1つの解像度値であると考えられます。 – gregS

+0

実際には、私は机の上に 'getMaximumRange()'の '156.88'を返す' Bosch Sensortec GmbH'加速度計の電話を持っていますが、恥ずかしいことに、各軸に正確に '39.225403 ' (私はこれを試すことができるほど頑丈な装置を揺り動かして墜落させた)。だから、この方法が返すものは、センサーが高い精度を持っていると報告した場合には、信頼できないイベントです(彼らは常にこのデバイスでそう言います)。一方、私のNexus 6Pは軸ごとに「150ms^2」以上の距離値を報告でき、最大総加速度は「135.92858447775066ms^2」でした。 –

1

これは物理的な大きさを測定します。 ハードウェアデバイスによって導入された実用的な制限があるかどうかは本当にわかりませんが、速くなるとは思っていません...そのベクトル的な大きさから、 。

PD:私はあなたがSensor.TYPE_ACCELEROMETERイベント値を意味すると仮定しています。

+1

すべてのハードウェアセンサーには制限があります。ドライバの開発者は、これらの制限を明記しておきます。その制限を超えた値に達すると、報告された値が切り捨てられます。 – NickSoft