StackOverflow からの提案のいくつかを使用して、(学習目的で) 加速度計アプリを作成しました。すべて正常に動作しますが、コードで警告として「SensorManager.DATA_X is deprecated」というメッセージが表示されます。
// setup the textviews for displaying the accelerations
mAccValueViews[SensorManager.DATA_X] = (TextView) findViewById(R.id.accele_x_value);
mAccValueViews[SensorManager.DATA_Y] = (TextView) findViewById(R.id.accele_y_value);
mAccValueViews[SensorManager.DATA_Z] = (TextView) findViewById(R.id.accele_z_value);
「SensorManager.DATA_X」を使用する代わりに、ここや他の場所で何をすべきかを検索しようとしましたが、指示が見つからないようです。
公式ガイドでは代わりに「センサー」を使用するように書かれていますが、方法がわかりません!
上記を行う新しい「公式」の方法を誰かが提案できれば、私は非常に感謝しています。
編集 ドキュメントを読み直した後(今回は正しく!)、「SensorManager.DATA_X」がonSensorChanged(int、float [])によって返される配列内のX値のインデックスであるintを返すだけであることに気付きました。上記のコードをこれに変更することができました。これは完全に機能し、非推奨の警告はありません。
// setup the textviews for displaying the accelerations
mAccValueViews[0] = (TextView) findViewById(R.id.accele_x_value);
mAccValueViews[1] = (TextView) findViewById(R.id.accele_y_value);
mAccValueViews[2] = (TextView) findViewById(R.id.accele_z_value);