2017-05-18 1 views
0

Ich habe ein Problem mit meiner APP Android. Mein Antrag ist sehr einfach. Es ist Login-Bildschirm für die Authentifizierung.Erste leere Zeichen in BufferedReader auf Android

Mein Problem ist, dass beim Lesen der Daten mit dem BufferedReader, glaube ich, es nicht richtig gelesen wird. Weil der erste Wert des Strings immer leer ist.

BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8")); 
StringBuilder sb = new StringBuilder(); 
String line = null; 
while ((line = reader.readLine()) != null) 
{ 
    sb.append(line); 
} 
is.close(); 
String vIdEmpleado = sb.toString(); 

Der Wert, meine PHP-Datei zurückgibt, ist: idEmployee (falls vorhanden) und "0" (falls vorhanden nicht). Aber der Wert, der mich zurückgibt, enthält immer dieses Zeichen in der ersten Position ('\ uFEFF').

enter image description here

Dann, wenn ich die idEmployee.equals ("0") ... es falsch tut. zu programmieren

if (vIdEmpleado.equals("0")) 
{ 
    return false; 
} 
else 
{ 
    return true; 
} 

habe ich gewählt, idEmployee.substring (1) zu verwenden, aber ich glaube nicht, dass der richtige Weg ist.

Ich benutze:

  • Login-Bildschirm mit Android (Java).
  • WebService: Ich benutze XAMPP in localhost.
  • Reader in meinem Date Basis: PHP
  • Datenbank: MySQL

Wer irgendwelche Ideen?

Wenn Sie mich brauchen, meinen Code zu schreiben ... es wird kein Problem

Sie sein Dank für Fortschritt.

+0

Bitte meine Antwort überprüfen. –

Antwort

0

Bitte versuchen Sie Funktion entfernen Raum zu trimmen

String vIdEmpleado = sb.toString.trim(); 

Dann versuchen Sie dieses

if (vIdEmpleado.contains("0")) 
{ 
    return true; 
} 
else 
{ 
    return false; 
} 
+0

Ich habe schon darüber nachgedacht, aber es funktioniert nicht. –

+0

@EnricSauret Bitte überprüfen Sie meine aktualisierte Antwort. –

+0

Es ist sehr komisch. Da ich den Ausdruck auswerte und es gibt wahr zurück, aber es tritt nicht in die IF. Aber das wäre eine ähnliche Lösung wie SUBSTRING. Und ich würde gerne wissen, warum das passiert Danke! –