2011-06-10 2 views
1

중복 표시하지 마십시오. 이 주제에 대한 모든 게시물을 검토했지만 문제를 해결할 수 없습니다.UUID 및 GUID 문제

나는 특정 UUID와 블루투스 서비스를 검색 J2ME에서 응용 프로그램이 : 나는 특정과 새로운 블루투스 서비스를 생성 32feet.NET 라이브러리를 사용하여 VB.NET의 데스크톱 응용 프로그램이

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

을 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는 16 진수 문자열로 표현되며 JAVA에서는 GUID가 다릅니다. 내가 J2ME 및 .NET GUID/UUID를 동기화하는 방법에 대해 많이 봤지만 성공하지 못했습니다.

답변

1

나는 UUID의 J2ME 구현을위한 소스를 읽었습니다, 단순히 당신이 괄호와 하이픈 즉 사용을 생략하는 것을 나타냅니다 것 : 당신이 진정한 매개 변수를 사용하는 경우

new UUID("7dc53df5703e49b38670b1c468f47f1f", false) 

, 그것은 기대를 (즉, 8 자) 짧은 형태의 UUID가

내 원래의 대답은 J2SE 구현, 즉 기반으로했다 :

것은 문자열에서 UUID의 생성자되지 않습니다 :

012 3,516,

UUID aUUID = UUID.fromString ("")

문자열이다 :는 UUID의 경우

7dc53df5-703e-49b3-8670-b1c468f47f1f (즉 Guid 문자열에서 선행 '{'및 후행 '}'을 제거하십시오.

+0

응답 해 주셔서 감사합니다. UUID u는 J2SE의 java.util에서 온 것이라고 생각합니다. 내가 사용하고있는 것은 J2ME에있다. – knurdy

+0

아, 전 j2me UUID 클래스에 익숙하지 않습니다. http://jcs.mobile-utopia.com/jcs/7627_UUID.java의 소스를 기반으로 하이픈을 생략해야합니다. – Petesh