2010-02-25 57 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