Я написал приложение акселерометра (в учебных целях), используя некоторые предложения из StackOverflow. Все работает нормально, но я получаю сообщение «SensorManager.DATA_X устарело» в качестве предупреждения в моем коде:
// 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" просто возвращает целое число, которое является индексом значения X в массиве. возвращается onSensorChanged(int, float[]). Я смог изменить приведенный выше код на этот, который работает отлично и без каких-либо устаревших предупреждений:
// 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);