Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何限制某些传感器每隔几秒钟发送一次数据?_Java_Android_Android Sensors - Fatal编程技术网

Java 如何限制某些传感器每隔几秒钟发送一次数据?

Java 如何限制某些传感器每隔几秒钟发送一次数据?,java,android,android-sensors,Java,Android,Android Sensors,我正在构建一个应用程序,它将读取传感器数据并将其存储到卡夫卡中,rest控制器作为中间人。(首次使用传感器) UI由传感器名称+开关按钮组成,用于启动或停止发送传感器数据。 我正试图控制发送多少传感器数据,因为我的android应用程序在开始发送数据时跟不上一些传感器,我的UI就会阻塞。 我用模拟器和传感器进行了测试,它们的名字里有金鱼,它们工作正常,游戏旋转矢量传感器,重力传感器,还有其他一些传感器刚刚开始发送大量数据,应用程序跟不上。 (我每次都用新线程发送数据) 改变采样周期根本没有任何帮

我正在构建一个应用程序,它将读取传感器数据并将其存储到卡夫卡中,rest控制器作为中间人。(首次使用传感器) UI由传感器名称+开关按钮组成,用于启动或停止发送传感器数据。 我正试图控制发送多少传感器数据,因为我的android应用程序在开始发送数据时跟不上一些传感器,我的UI就会阻塞。 我用模拟器和传感器进行了测试,它们的名字里有金鱼,它们工作正常,游戏旋转矢量传感器,重力传感器,还有其他一些传感器刚刚开始发送大量数据,应用程序跟不上。 (我每次都用新线程发送数据)

改变采样周期根本没有任何帮助,一些传感器工作正常,而一些传感器只是不断发送大量数据,而不管数据的数量如何

我尝试过,在每次传感器更改事件中,新线程都从发送数据开始,这样UI就可以正常工作,但我的应用程序跟不上一些传感器

public void onSensorChanged(SensorEvent sensorEvent) {
Thread t = new Thread(new MyOwnRunnableClass(sensorEvent,username));
t.start();
}
  • 制作本机应用程序以学习传感器
  • 不要每次传感器更新时都创建线程,因为每个线程都会在头上生成。您需要一个线程来管理传感器,一个线程用于ui。应该足够了
  • 如果需要的读数太多,您的传感器线程可能会丢失读数(只需处理十分之一)
  • 当我使用安卓本机开发时,采样率或多或少起作用
  • 阅读教程,使用传感器是移动设备的关键,因此每个框架都有关于如何正确使用传感器的教程
  • 祝你好运第二条路: 您可以在共享首选项和OnSensorChanged方法中设置上一次检查当前时间和上一次的差异是否超过500000设置数据

    第一种方式:
    您可以使用alarm manager每隔500000秒执行一次

    你好,你的问题太宽泛了,但我会尽量给你一些建议。
    public void onSensorChanged(SensorEvent sensorEvent) {
    Thread t = new Thread(new MyOwnRunnableClass(sensorEvent,username));
    t.start();
    }