2016-04-02 4 views
0

Ich habe ein Problem mit meinem Android-Code, wo ich von Dynamodb mit dem SDK lese ich möchte ein Element mit getItem lesen, die funktioniert, aber ich möchte es tun, wenn Item zu finden bin einen Toast msg machen „Item gefunden“, und wenn nicht mit einem Toast msg „kein Element gefunden. in der DynamoDBManager Klasse findet die Datei irgendwie ok ich brauche diese Informationen in meiner Aktivitätsklasse bekommenWie bekomme ich getitem wenn gefunden oder nicht Dynamodb in Android

public static WinTicket getTicketByBarcode(String barcodeNumber) { 

    AmazonDynamoDBClient ddb = Barca.clientManager.ddb(); 
    DynamoDBMapper mapper = new DynamoDBMapper(ddb); 

    try { 
     WinTicket winTicket = mapper.load(WinTicket.class, 
       barcodeNumber); 

     if(winTicket == null){ 

      String awo = "false" ; 
      Log.e(TAG,"NOT FOUND"); 
      // No item found 
     } 
     else{ 

      String awo = "true" ; 

      Log.e(TAG,"YES FILE IN DATABASE"); 

      // Item is found in database 
     } 







     return winTicket; 

    } catch (AmazonServiceException ex) { 
     Barca.clientManager.wipeCredentialsOnAuthError(ex); 
    } 

    return null; 
} 

Der obige Code ist DynamodbManager Klasse

der hier unter ist von der Barca Activity Klasse Ich denke, in der Activity-Datei muss ich einige ed machen es weiß ich nicht, was aber ich seine sicher in der privaten Klasse DynamoDBManagerTask oder nichtig OnPostExecute geschützt

private class DynamoDBManagerTask extends 
     AsyncTask<DynamoDBManagerType, Void, DynamoDBManagerTaskResult> { 

    protected DynamoDBManagerTaskResult doInBackground(
      DynamoDBManagerType... types) { 

     DynamoDBManagerTaskResult result = new DynamoDBManagerTaskResult(); 

     result.setTaskType(types[0]); 

     if (types[0] == DynamoDBManagerType.GET_BARCODE) { 

      user = DynamoDBManager.getTicketByBarcode(winnum); 
      Log.e(TAG,winnum); 


     } 

     return result; 
    } 

    protected void onPostExecute(DynamoDBManagerTaskResult result) { 
     // pdia.dismiss(); 

     if (result.getTaskType() == DynamoDBManagerType.GET_BARCODE) { 

      if (datafound.equalsIgnoreCase("true")) { 
       Log.e(TAG,datafound); 


       Toast.makeText(Barca.this, "Item found", 
         Toast.LENGTH_SHORT).show(); 

      } 

     else if (datafound.equalsIgnoreCase("false")){ 
       Log.e(TAG,datafound); 


       Toast.makeText(
        Barca.this, 
        "Sorry no Item found", 
        Toast.LENGTH_SHORT).show(); 

     } 
    } 
    } 
} 
+0

Nach einigen Tagen Ich habe versucht, eine Lösung zu finden – user3277530

Antwort

0

ich musste und If-Anweisung in protected void OnPostExecute (DynamoDBManagerTaskResult Ergebnis) Abschnitt

if user == null { 
        //item not in database 
       } 

      else { 
        // item in database 
       } 
Verwandte Themen