Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Евгений С
самый вменяемый тролль
560 / 50 / 6
Регистрация: 19.09.2012
Сообщений: 155
#1

Система координат акселерометра планшета и телефона - Программирование Android

29.12.2014, 14:27. Просмотров 1145. Ответов 4
Метки нет (Все метки)

Всех с наступающим!!!
Была задача, простая до скрежета зубов:
импортирую
Java
1
import android.hardware.SensorEvent;
далее просто метод, считывающий значения от SensorEvent
Java
1
2
3
4
5
6
7
8
9
10
public void onSensorChanged(SensorEvent event) { 
builder.setLength(0); 
builder.append("x: "); 
builder.append(event.values[0]); 
builder.append(", y: "); 
builder.append(event.values[1]); 
builder.append(", z: "); 
builder.append(event.values[2]); 
textView.setText(builder.toString()); 
}
Просто дивлюсь на показания акселерометра...
И всё было красиво, пока у меня не оказался в руках планшет.
Значения акселерометра на планшете и мобилке показывает разные (одинаковые, при альбомной ориентации планшета и книжной мобилки). Подумал, может, это проблемы именно этого девайса, скачал игрушки для акселерометра на мобилку и планшет, всё играется корректно...
Что я делаю не так?

Добавлено через 7 минут
наглядно: ставлю "книжкой" планшет (П) и телефон (Т)
П-х = -9
П-y = 0
П-z = 0

Т-х = 0
Т-y = 9
Т-z = 0

альбомно:
П-х = 0
П-y = 9
П-z = 0

Т-х = 9
Т-y = 0
Т-z = 0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2014, 14:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Система координат акселерометра планшета и телефона (Программирование Android):

Перевод в земную систему координат. Спроецировать ускорения акселерометра на ось силы тяжести - Программирование Android
Доброго времени суток, товарищи Дано: показания акселерометра по 3 осям и показания системы ориентации телефона (в градусах). ...

Отправка данных с планшета на удаленный компьютер. оптимизация производительности планшета - Программирование Android
Всем здравствуйте. В общем, задача такая. Имеется приложение для планшета, собирающее данные с некоего прибора по блютусу, а конкретно, оно...

CustomView разные изображения для разных экранов - одна система координат - Как? - Программирование Android
Есть изображение, карта, на ней я должен в координатах размещать объекты. Изображения разные: hdpi, ldpi, mdpi и так далее. Когда я...

Программирование с использованием акселерометра - Программирование Android
Доброго времени суток, пытался найти какую-либо информацию о том, как писать приложения при участии акселерометра, но не смог найти ничего...

Не работает приложение с использованием акселерометра - Программирование Android
Пытаюсь написать приложение, в котором по экрану будет двигаться какой то объект в зависимости от наклона смартфона. Насколько я понял, у...

Отключение акселерометра для одного приложения - Программирование Android
Добрый вечер! Написала свою первую прогу для Андроид. При наклоне телефона горизонтально прога тоже наклоняется. Подскажите, пожалуйста,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
29.12.2014, 14:51 #2
Видимо такое поведение из-за того что у планшета по умолчанию альбомная ориентация, а у телефона портретная. Почему работают игры - скорее всего у их движков другое представление данных акселерометра. Но это все ИМХО, как все на самом деле не скажу.
arrjj
199 / 190 / 61
Регистрация: 24.09.2014
Сообщений: 532
Завершенные тесты: 1
29.12.2014, 15:01 #3
Пробовал как в мануале сказано вместо 012 брать 345 значения?
IMPORTANT NOTE: The axis are swapped when the device's screen orientation changes. To access the unswapped values, use indices 3, 4 and 5 in values[].
и еще
When the device lies flat on a table, the acceleration value is -STANDARD_GRAVITY, which correspond to the force the device applies on the table in reaction to gravity.
Евгений С
самый вменяемый тролль
560 / 50 / 6
Регистрация: 19.09.2012
Сообщений: 155
29.12.2014, 15:49  [ТС] #4
arrjj, спасибо, уже куда-то туда, как раз в том же направлении копал:
в чём-то должна быть разница между
TYPE_ACCELEROMETER и
TYPE_GRAVITY
arrjj
199 / 190 / 61
Регистрация: 24.09.2014
Сообщений: 532
Завершенные тесты: 1
29.12.2014, 16:04 #5
Цитата Сообщение от Евгений С Посмотреть сообщение
в чём-то должна быть разница между
TYPE_ACCELEROMETER и
TYPE_GRAVITY
да. это 2 разных типа сенсоров первый показывает все действующие на устройство силы, второй только гравитацию.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2014, 16:04
Привет! Вот еще темы с ответами:

Приложение собирающее показания с акселерометра в SQlite базу - Программирование Android
Помогите пожалуйста найти ошибку в коде. Когда работаю с проектом вроде всё нормально компилируется, а запускаю .apk файл пишется ошибка...

С планшета/телефона не подключается к видеорегистратору - Веб-камеры
Имеется видеорегистратор, который содержит в себе несколько камер. Имеется айпи камеры, порт, пароль и логин. Проблема такая: пробую через...

Адаптация страницы для телефона и планшета - Web-дизайн
Здравствуйте. Есть страница, макет которой на рисунке. Справа на 25 процентов экрана располагаются блоки с категориями. Категорий может...

При подключении телефона/планшета по usb ноут выключается - Ремонт ноутбуков
Возникла такая проблема, когда подключаю телефон/ планшет по usb к asus n61da 930, ноут выключается, и включить его удается только после...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.12.2014, 16:04
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru