2016-07-29 24 views
0

Ich habe ein QR-Code-Scan-Ergebnis, ich möchte eine bestimmte Zeichenfolge aus dem Ergebnis erhalten.So erhalten Sie die erforderliche Zeichenfolge von einem QR-Code-Scan Ergebnis verwenden Sie die ZXING-Bibliothek

Beispiel: Wenn das Ergebnis ist "ROGS, Hudson, J'kobi, Anderson, Harrison, 454242, SAM, HARRY, TIM, JOHN, SAMMY, TONNY, SAMON, GROOD, TOD."

Und ich möchte den Namen TONNY aus der Ergebniszeichenfolge erhalten. Was ist der beste Weg, dies in Android Java-Code zu tun?

Mein aktueller Code ist wie unten

public void handleResult(Result rawResult) { 
     // Do something with the result here 

     Log.e("handler", rawResult.getText()); // Prints scan results 
     Log.e("handler", rawResult.getBarcodeFormat().toString()); // Prints the scan format 
AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     builder.setTitle("Scan Result"); 
     builder.setMessage(rawResult.getText()); 
     AlertDialog alert1 = builder.create(); 
     alert1.show(); 

     // If you would like to resume scanning, call this method below: 
     mScannerView.resumeCameraPreview(this); 
} 
+0

Ist das Format der Zeichenfolge immer das gleiche wie du es im Beispiel gezeigt hast? –

+0

Format ist gleich. Jeder Name wird immer durch ein Komma getrennt, aber der Name ändert sich nicht. –

Antwort

0

Können Sie nicht ein einfaches String Match tun für TONNY oder einen anderen Namen zu überprüfen?

String required = "TONNY"; 
String result = rawResult.getBarcodeFormat().toString(); 
return result.matches(required) 

Edit: ignorieren Fall

result.toLowerCase().contains(required.toLowerCase()) 

Check this

Edit2:. Die nicht zu erhalten, teilen das Ergebnis und Schleife

String array[] = result.split(",") 
for(int i=0;i<array.length;i++) 
    if(array[i].equals(required)) 
    return i 
+0

Ich werde eine Nummer mit den Namen haben, so ist diese Nummer auch wollen, wird diese Nummer wechseln –