나는 블랙 베리 애플 리케이션에서 일하고있다. 이 앱은 이미 "Basic4Android"프로그램에서 Android로 개발되었습니다. 안드로이드 애플 리케이션을위한 코드는 vb.net로 작성되었습니다. 나는 BlackBerry와 똑같은 코드를 작성해야한다. 나는이 방법을 이해하려고 노력하고 있지만 vb.net 전문가가 아니기 때문에 나는 할 수 없다.vb.net 안드로이드 애플 리케이션 코드
Sub HEX_T24_SHORT_GPS(latitude_decimal_degrees As Double, longitude_decimal_degrees As Double, speed_knots As Int, heading_degrees As Int, time_seconds_since_midnight_gmt As Int, alert_on As Boolean, alert_ack As Boolean, external_interface_control As Boolean, send_extended As Boolean) As String
Dim pBuffer(11) As Int
pBuffer(0)=0 ' T24 MSGID 0
Log("pBuffer(2)" & pBuffer(2))
Dim t1 As Double
'Get latitude sign
Dim lat_south As Boolean
lat_south=True
If latitude_decimal_degrees<0 Then lat_south=False
'Get Longitude sign
Dim lon_west As Boolean
lon_west=True
If longitude_decimal_degrees<0 Then lon_west=False
'Get number of second since midnigh extra bit
Dim num_of_second_extra_bit As Boolean
num_of_second_extra_bit=False
If time_seconds_since_midnight_gmt > 0xFFFF Then num_of_second_extra_bit=True
'Convert latitude in bytes 1 to 3
latitude_decimal_degrees = Abs(latitude_decimal_degrees*60000)
"time_seconds_since_midnight_gmt> 0xFFFF의 경우"무엇을 의미합니까 : 나는 전체 방법하지만 명확히 할 필요가 일부만 붙여 넣기하지 않습니다? 여기에 무슨 일이 일어나고 있는지 "latitude_decimal_degrees = Abs (latitude_decimal_degrees * 60000)". "Basic4Android"설명서를 확인했지만 Abs API를 찾을 수 없습니다.
If num_of_second_extra_bit=True Then latitude_decimal_degrees=latitude_decimal_degrees + 0x800000
pBuffer(1)=Bit.ShiftRight(Bit.And(latitude_decimal_degrees, 0xFF0000),16)
pBuffer(2)=Bit.ShiftRight(Bit.And(latitude_decimal_degrees, 0x00FF00),8)
pBuffer(3)=Bit.And(latitude_decimal_degrees, 0xFF)
비트 시프트는 어떻게 적용됩니까? "AND"연산은 int와 hex 값 사이에서 사용됩니까? pBuffer (1)의 최종 값은 무엇입니까? pBuffer (1)에서 pBuffer (3) 단계의 목적은 무엇입니까? 무엇을하고 있으며 latitude_decimal_degrees의 최종 값은 무엇입니까? 바이트, 바이트 배열 또는 16 진수의 최종 값입니까? 설명하십시오.
답변 해 주셔서 감사합니다. latitude_decimal_degrees는 16 진수로 변환됩니까? latitude_decimal_degrees = Abs (latitude_decimal_degrees * 60000)입니다. 당신은 paranthesis 내부에서 일어나는 일을 설명했지만 Abs는 무엇을하고 있습니까? 내 질문을 편집하고 있습니다. 위를보고 답장을 보내주십시오. – Sarah
Abs는 절대 값입니다. – tcarvin
latitude_decimal_degrees는 정수입니다. 제가 쓴 것처럼, 다른 방식으로 쓰여질 수 있습니다. 다시 작은 예를 들어 보겠습니다. 0b1010 = 0xA = 10 = 0o12 모든 숫자는 동일합니다. 변화하는 기본 숫자입니다. –