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