Я использую Google Nexus 4 и пытаюсь написать приложение, которое управляет курсором мыши на ПК. Более сдержанно, когда я перемещаю телефон вправо, курсор мыши также должен двигаться вправо.Вычислить расстояние с помощью LINEAR_ACCELERATION
Я сейчас работаю только по оси x и следую инструкциям the document в this answer.
Но я не смог получить результат, которого я хотел. Когда я перемещаю телефон вправо, курсор перемещается вправо, и он перемещается влево. Вот часть моего кода:
@Override
public void onSensorChanged(SensorEvent event)
{
// sampling acceleration
do
{
acceleration_x[1] = acceleration_x[1] + (int) event.values[0];
count_x++;
} while (count_x < 64);
acceleration_x[1] = acceleration_x[1] >> 6;
count_x = 0;
//Mechanical Filtering
if((acceleration_x[1] <= 3) && (acceleration_x[1] >= -3))
acceleration_x[1] = 0;
// first integration
velocity_x[1] = velocity_x[0] + acceleration_x[0] +
((acceleration_x[1] - acceleration_x[0]) >> 1);
// second integration
position_x[1] = position_x[0] + velocity_x[0] +
((velocity_x[1] - velocity_x[0]) >> 1);
acceleration_x[0] = acceleration_x[1];
velocity_x[0] = velocity_x[1];
sendData.sendPacket(position_x[1], 0); // sending data(x,y) to PC
movement_end_check(event);
position_x[0] = position_x[1];
}
Формула интеграции и метод movement_end_check были взяты из документа.
Итак, вы можете помочь мне с этой проблемой?
смотреть это http://m.youtube.com/watch?v=C7JQ7Rpwn2k – pskink
Извините за поздний ответ, мне пришлось выйти из системы. Спасибо, я некоторое время искал эту тему, поэтому я уже несколько раз смотрел видео. Я согласен, что эта презентация действительно информативна, но нет образца кода для работы. Поскольку я новичок в этом вопросе, может быть полезным небольшой пример. – cemm