Witam, pisze aplikacje bluetooth (ksiązka telefoniczna) na zaliczenie, napotkałem pewien problem, a mianowicie wczytując dane z RMS staram się je przesłać za pomocą bluetooth do drugiego telefonu i wyświetlić na liście. Podczas wysyłania pary Stringów - nazwy kontaktu ("abcdef") i numeru telefonu ("123456789") wyświetla mi na liście nazwę kontaktu pełną (abcdef), natomiast numer telefonu tylko (12345). Czy ktoś jest w stanie pomóc mi w jakiś sposób z wysyłaniem 2-3 słów, lub jakoś nakierować? Poniżej kod wysyłający klienta i odbierający serwera:
Klient:
public void wyslij()
{
try
{
String url = usluga.getConnectionURL(ServiceRecord.NOAUTHENTICATE_NOENCRYPT,false);
StreamConnection pol = (StreamConnection)Connector.open(url);
byte nazwakont = (byte)nazwa.length();
byte numerkont = (byte)numer.length();
OutputStream wyj = pol.openOutputStream();
wyj.write(nazwakont);
wyj.write(nazwa.getBytes("ISO-8859-2"));
wyj.write(numerkont);
wyj.write(numer.getBytes("ISO-8859-2"));
wyj.flush();
wyj.close();
pol.close();
} catch (Exception e)
{
e.printStackTrace();
}
}
Serwer:
public void odbierz() throws Exception
{
InputStream wej = pol.openInputStream();
int dlugosc = wej.read();
byte[] bufornazwa = new byte[dlugosc];
byte[] bufornumer = new byte[dlugosc];
int licznik = 0;
while (licznik<bufornazwa.length)
{
int liczba =wej.read(bufornazwa,licznik,dlugosc-licznik);
licznik= licznik+liczba;
}
licznik=0;
while(licznik<bufornumer.length)
{
int liczba = wej.read(bufornumer,licznik,bufornumer.length-licznik);
licznik= licznik+liczba;
}
odebranynumer = new String(bufornumer);
odebranynazwa= new String(bufornazwa);
m.odbierz(odebranynazwa);
m.odbierz(odebranynumer);
wej.close();
}