Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果在Android中找到或没有Dynamodb,如何获取getitem_Android_Amazon Dynamodb - Fatal编程技术网

如果在Android中找到或没有Dynamodb,如何获取getitem

如果在Android中找到或没有Dynamodb,如何获取getitem,android,amazon-dynamodb,Android,Amazon Dynamodb,我的Android代码有一个问题,我正在使用SDK从Dynamodb读取数据,我想使用getItem读取一个项目,它可以工作,但如果找到了项目,我想这样做,制作Toast消息“Item is found”,如果没有找到Toast消息“找不到任何项目。在DynamoDBManager类中,文件是正常的,我需要在活动类中获取该信息 public static WinTicket getTicketByBarcode(String barcodeNumber) { AmazonDynamoD

我的Android代码有一个问题,我正在使用SDK从Dynamodb读取数据,我想使用getItem读取一个项目,它可以工作,但如果找到了项目,我想这样做,制作Toast消息“Item is found”,如果没有找到Toast消息“找不到任何项目。在DynamoDBManager类中,文件是正常的,我需要在活动类中获取该信息

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;
}
上面的代码是DynamodbManager类

下面的那个是来自Barca活动类的 我想在活动文件中我需要进行一些编辑,我不知道是什么,但我确定它在私有类DynamoDBManagerTask或protectedvoid onPostExecute中

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();

        }
    }
    }
}
私有类DynamoDBManagerTask扩展
异步任务{
受保护的DynamoDBManagerTaskResult doInBackground(
DynamoDBManagerType…类型){
DynamoDBManagerTaskResult=新的DynamoDBManagerTaskResult();
result.setTaskType(类型[0]);
if(类型[0]==DynamoDBManagerType.GET_条形码){
user=DynamoDBManager.getTicketByBarcode(winnum);
Log.e(TAG,winnum);
}
返回结果;
}
受保护的void onPostExecute(DynamoDBManagerTaskResult){
//pdia.discouse();
if(result.getTaskType()==DynamoDBManagerType.GET_条形码){
if(datafound.equalsIgnoreCase(“true”)){
Log.e(标签、数据发现);
Toast.makeText(Barca.this,“找到物品”,
吐司。长度(短)。show();
}
else if(datafound.equalsIgnoreCase(“false”)){
Log.e(标签、数据发现);
Toast.makeText(
巴卡,这个,
“对不起,找不到任何物品”,
吐司。长度(短)。show();
}
}
}
}

我必须在受保护的void onPostExecute(DynamoDBManagerTaskResult)部分使用and If语句


经过几天的努力,我找到了解决办法
if user == null { 
                   //item not in database 
                 }

           else {   
                  // item in database 
                 }