如何在移动应用

时间:2017-07-12 16:49:46

标签: android movesense

我在订阅发送的值时遇到了一些麻烦。 以前,我设法通过创建我自己的服务来同时获取加速度计陀螺仪数据,其中两者都包含在user1987093建议中作为以下问题的答案:{{3} }。

这是正常工作,直到新设备更新发布,当我想使用更新的新功能(基本上是快速传感器的更高采样率)时,我意识到我的Android应用程序不再工作了,即使我将这些课程改编为现在应该从传感器接收到的内容,在以下问题的答案中简要解释:Simultaniously read accelerometer and gyroscope

总而言之,我无法读取传感器正在发送的数据,我甚至不知道传感器是否正在发送内容。

要查看我在创建的课程中是否存在问题,以便读取我的服务的值(包括同时的acc& gyro值)或新的更新结构的问题,这使得当前的Android应用程序过时了,我尝试了建议的AccelerometerSampleService,它每5秒提供一个新的最大线性加速度值和一个时间戳。我直接使用了以下链接How can I set the sampling rate in a Movesense device?中提供的新更新提供的dfu包。只要我知道,这个服务保持不受新版本的影响(来自函数get的appart已删除,但我们正在尝试订阅服务权限?)并且应该每5秒提供一个值和时间戳。问题出在以下代码行中:

      listenMaxAccelerationDisposable = movesense.getDevice(address)
            .listen("/Sample/Accelerometer/Data", MaxLinearAcceleration.class)
            .observeOn(AndroidSchedulers.mainThread())
            .subscribeWith(new DisposableObserver<MovesenseResponse<MaxLinearAcceleration>>() {
                @Override
                public void onNext(MovesenseResponse<MaxLinearAcceleration> maxLinearAcceleration) {
                    if (maxLinearAcceleration.body != null) {
                        dismissInitializingDialog();

它永远不会调用onNext上的方法,因此我没有得到任何值,我也不知道是不是因为它们没有被发送到那条路径上(我也尝试过路径样本/加速度计/数据/订阅具有相同的否定结果)或因为我不知道如何从android端正确阅读它们。

我有以下问题:

  • Android App的新版本何时发布?目前最新版本是从4月份开始,从那时起嵌入式方面发生了很多变化。

  • 我如何才能有效地订阅此AccelerometerSampleService,以获得此最大值和时间戳,并在应用上查看它。

  • 我没有找到关于函数listen如何工作以及它与post的区别的任何参考。当你使用帖子时,你总是必须使用删除吗?

对于像我这样试图使用Android应用程序的人,我想如果您发布了一些关于Android应用程序的更多文档,我们会更加感激,这样我们就可以更轻松地关注设备方面。

2 个答案:

答案 0 :(得分:0)

导致同时订阅失败的问题已在最新的Movesense-mobile-lib中修复。然而,最近的传感器改进引入了一个错误,如果首先订购加速度计并且陀螺仪稍后订购,则导致陀螺仪无法运行。

简而言之:

  • 现在,您可以直接从移动设备订阅多个服务
  • 您必须(直到最近的错误已被修复)首先订阅 Gyro 加速度计第二

完全免责声明:我为Movesense团队工作

答案 1 :(得分:0)

订阅新的Api所需的URI和合同。

看起来你正在尝试使用旧的api / lib。

请查看BitBucket存储库中的示例Android App。

它已经更新。

有一些示例如何使用新API以及如何使用&#34; new&#34;订阅。