2011-06-10 46 views
1

請不要將其標記爲重複。我已經閱讀了關於此主題的所有帖子,但無法解決我的問題。UUID和GUID問題

我在J2ME與特定的UUID藍牙服務搜索的應用程序:

UUID[] uuidSet = { new UID("100000",true) }; 
int[] attrSet = {0x0100, 0x0003, 0x0004}; 
int transID = agent.searchServices(attrSet,uuidSet,remoteDevice,this); 

我在VB.NET使用32feet.NET庫與特定創建一個新的藍牙服務的桌面應用程序GUID。

Sub startBluetoothListener() 
    Dim lsnr As New BluetoothListener(MyConsts.MyServiceUuid, record) 
    lsnr.Start() 
    Dim conn As New BluetoothClient 
    Dim peerStream As Stream    
End Sub 

Class MyConsts 
Public Shared ReadOnly MyServiceUuid As Guid _ 
    = New Guid("{7dc53df5-703e-49b3-8670-b1c468f47f1f}") 
End Class 

現在根據規則,爲了使GUID/UUID應該匹配都應該匹配。但是在.NET中,GUID表示爲十六進制字符串,而在JAVA中則不同。我搜索了很多關於如何同步J2ME和.NET GUID/UUID但不能成功的。

回答

1

我讀過的J2ME實現UUID的來源,它只是似乎表明省略了括號和連字符,即使用:

new UUID("7dc53df5703e49b38670b1c468f47f1f", false) 

如果你使用真正的參數,它預計一個簡短形式的UUID(即8個字符)

我原來的答覆是基於J2SE實現,即:

不是一個字符串的UUID的構造:

UUID aUUID = UUID.fromString( 「」)

其中字符串是:

7dc53df5-703e-49b3-8670-b1c468f47f1f

在UUID的情況下(即刪除Guid字符串中的前導'{'和尾部'}')

+0

感謝您的回覆。我認爲你所說的UUID是來自J2SE中的java.util。我正在使用的是J2ME。 – knurdy 2011-06-10 16:38:48

+0

好的,我不完全熟悉j2me UUID類 - 基於http://jcs.mobile-utopia.com/jcs/7627_UUID.java上的源代碼,您應該省略這些問題 – Petesh 2011-06-10 19:01:38