2010-02-25 54 views
6

有没有人知道与传感器一起工作的“标准化”Java API,它与JSR 256的情况密切相关?我正在写一个Java库,用于连接由几种不同类型的传感器(主要是简单的东西,如温度,湿度,GPS等)组成的传感器网络。是否有Java SE传感器API?

到目前为止,我已经推出了自己的界面,用户必须针对此编写应用程序。我想改变这种方法并实现一个“标准”API,以便实现不与我的库紧密相关。

我已经看过JSR 256,但它确实不是一个很好的解决方案,因为它适用于Java ME,而且我的库主要由Android设备或运行完整Java SE的便携式计算机使用。

+0

JSR-256适用于J2ME,根据此:http://jcp.org/en/jsr/tech?listBy=1&listByType=platform – skaffman 2010-02-25 23:11:04

+0

是的,不幸的是,JSR-256不允许您扩展你自己的传感器。你仅限于你的设备的传感器。在我的情况下,我需要连接不属于移动设备的传感器网络,所以这不是一种选择(除了JSR-256是为J2ME开头的)。 – 2010-03-05 07:06:04

+0

有关温度,湿度和位置(GPS)的传感器示例见JSR-256规范1.2版的第68-69页。 – shadit 2010-03-11 21:26:40

回答

1

在android中有android.hardware包,其中包含类Sensor,总的来说非常类似于JSR 256传感器api。请看看你能用这个做什么。也许这是在Java SE中实现它的合理方法,据我所知,没有Java SE传感器API。

+1

我看过android。硬件,但它比JSR-256更不易扩展,仅限于Android,它不允许我使用自己的传感器(也就是仅限于手机的传感器)进行扩展。 – 2010-03-05 07:07:26

1

JSR-256似乎没有限制或限制其支持的传感器类型。附录E包含传感器定义,但这些只是某种传感器应处理的推荐数据。似乎没有任何东西阻止某人定义其他传感器类型。

我建议你落实JSR-256,然后就包括它的包:

  • javax.microedition.sensor
  • javax.microedition.sensor.control

...在你的发行版中。由于他们瞄准的是有限的设备,图书馆必然非常紧凑。只要你不会被禁止重新分发JSR-256的参考实现,那么计划这么做是有意义的。

1

不完全。 JSR-275旨在具有部分功能(数量和单位类型非常类似于256),但SE/EE EC将其关闭。由甲骨文提到的SE和ME之间

合并可能导致更常见的传感器API和单元框架一段时间,但它不太可能之前的Java 8

沃纳

1

事实上,甲骨文现在奔走相告,Java 8需要某种形式的SE Sensor API。

它在Java 8之后被添加到OpenJDK中:http://openjdk.java.net/projects/dio/ 与Java ME和SE(嵌入式)一起使用。

+0

宣布哪里? – 2017-03-02 19:25:18

+0

这是一个很好的问题。我想我假设它,因为它被接受为OpenJDK项目。无论如何,我错了。评论已删除。 – Tuupertunut 2017-03-02 20:51:34

+0

不,这一点意味着什么;-)还有一个OpenJDK项目Kona:http://openjdk.java.net/projects/kona/,但它在2015年7月以后没有看到太多活动,在邮件列表中也没有:http ://mail.openjdk.java.net/pipermail/kona-dev/或其他地方。 – 2017-03-03 16:35:22