#android #wear-os #wearables
#Android #wear-os #носимые устройства
Вопрос:
Я использую Smartwatch для сбора данных датчика и сохранения их в файл.
Умные часы — это Ticwatch E X8B1 с Wear OS 2.6, сервисами Google Play 15.0.90, Android 8.0.0.
Я разрабатываю приложение с использованием Android Studio 3.3.1 (номер сборки AI-182.5107.16.33.5264788), JRE: 1.8.0_152-release-1248-b01 amd64, JVM: 64-разрядная серверная виртуальная машина OpenJDK от JetBrains s.r.o на Windows 10 10.0.
Приложение использует минимальный SDK 23, но целевой — 28.
Он имеет следующие зависимости:
com.google.android.support:wearable:2.4.0
com.google.android.gms:play-services-wearable:16.0.1
com.android.support:percent:28.0.0
com.android.support:support-v4:28.0.0
com.android.support:recyclerview-v7:28.0.0
com.android.support:wear:28.0.0
com.google.android.wearable:wearable:2.4.0
Часть кода выглядит следующим образом:
Sensor accelerometer = null;
accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
sensorManager.registerListener(this, accelerometer, SensorManager.SENSOR_DELAY_FASTEST);
Когда слушатель получает информацию с акселерометра, я получаю код точности 111 или 79. Насколько я понимаю, это должно быть значение между -1 (SENSOR_STATUS_NO_CONTACT) и 3 (SENSOR_STATUS_ACCURACY_HIGH).
Что происходит? Это ошибка или я делаю что-то не так?
РЕДАКТИРОВАТЬ: образец данных о том, когда часы были неподвижны на моем столе
accuracy;timestamp;x;y;z
79;179275411989490;-2.1816406;2.0527344;9.484375
79;179275422089490;-2.2011719;2.0644531;9.5234375
79;179275432189490;-2.1894531;2.0546875;9.5078125
79;179275442289490;-2.1816406;2.0585938;9.46875
79;179275452389490;-2.1679688;2.0742188;9.5
79;179275462489490;-2.1816406;2.0683594;9.4921875
79;179275472589490;-2.1582031;2.0703125;9.4609375
79;179275482689490;-2.1660156;2.0703125;9.5
79;179275492789490;-2.1699219;2.078125;9.484375
79;179275502889490;-2.1679688;2.0644531;9.46875
79;179275512989490;-2.1757812;2.0546875;9.484375
79;179275523089490;-2.1699219;2.0800781;9.46875
79;179275533189490;-2.1640625;2.078125;9.484375
79;179275543289490;-2.1699219;2.0585938;9.4921875
79;179275553389490;-2.1679688;2.0488281;9.4921875
79;179275563489490;-2.1757812;2.0703125;9.4765625
79;179275573589490;-2.15625;2.0742188;9.453125
79;179275583689490;-2.1699219;2.0703125;9.5
79;179275593789490;-2.1875;2.046875;9.5078125
79;179275603889490;-2.1777344;2.0800781;9.484375
79;179275613989490;-2.1816406;2.0625;9.49
Комментарии:
1. Возможно, датчик поддерживает более детальную точность? Моя интуиция заключается в том, что все, что равно / выше 3, должно быть в порядке. Являются ли значения, возвращаемые датчиком при тестировании, достоверными?
2. Я не верю, что if обладает более детализированной точностью, но я действительно надеюсь, что вы правы. Честно говоря, поскольку я впервые работаю с данными датчика, я понятия не имею, являются ли значения, возвращаемые датчиком, изменяемыми. Примером значений является: точность; x; y; z 79;-2.1699219;2.0800781;9.46875 79;-2.1640625;2.078125;9.484375 79;-2.1699219;2.0585938;9.4921875 79;-2.1679688;2.0488281;9.4921875 79;-2.1757812;2.0703125;9.4765625 Еще одна странная вещь заключается в том, что часы были неподвижны на моем столе, и значения меняются. Разве они не должны быть всегда одинаковыми в этом состоянии?
3. Я отредактировал вопрос, чтобы добавить большую и читаемую выборку данных
4. Датчик будет иметь небольшие неточности, которые могут быть вызваны, например, магнитными помехами. Чтобы проверить достоверность данных, переместите и переверните их. Проверьте, находится ли значение в том же месте, если вы вернете его позицию.