您好我是Amazon AWS的新手,我正在尝试为我的Android应用程序设置DynamoDB。
我在Elastic Beanstalk上使用以下方法部署了Anonymous TVM: http://aws.amazon.com/code/8872061742402990
当我通过网络浏览器访问mytvm.elasticbeanstalk.com时,我可以加载页面,说明TVM正在匿名注册上运行。
我开始使用TVM,将tvm的src导入到我的android应用程序中,并按照aws示例中所示执行类似的过程。
我无法完全弄清楚我的TVM是否在Android应用中正常运行。我试过运行awssdk的例子。但是,当我点击表格或在我的DynamoDB上什么都不做时,Userprefrences应用程序不会创建表格(我通过aws ddb控制台看到它)。我尝试看到logcat,但我没有错误。
在我的应用程序中,我在putItem()的下面一段代码中得到一个NullPointerException:
AmazonDynamoDBClient ddb = HomeActivity.clientManager.ddb();
try{
HashMap< String, AttributeValue > item = new HashMap< String, AttributeValue >();
AttributeValue email = new AttributeValue(testEmail);
item.put("email", email);
//email and jot are strings and they are fine when printed in Log.
AttributeValue atrjot = new AttributeValue().withS(jot);
item.put("jot", atrjot);
PutItemRequest request = new PutItemRequest().withTableName(PropertyLoader.getInstance().getTableName()).withItem(item);
ddb.putItem(request);
Log.e("insertJot", "Succeffull!");
}catch (AmazonServiceException ex) {
Log.e("insertJot", "error");
HomeActivity.clientManager
.wipeCredentialsOnAuthError(ex);
}
我觉得logcat中的两个项目可以带来一些优势:
04-12 11:39:00.577:I / TokenVendingMachineService(1161):发送请求:[http://mytvm.elasticbeanstalk.com/registerdevice?uid=e3f2a3dbe19a8b99cc9732a8044ccb08&key=258bec0be21ca04f2bf2464a2c0ae151]
和
04-12 11:39:00.637:W / AmazonTVMClient(1161):对代码自动售货机的请求因代码失败:[0]消息:[null]
此外,我收到以下AndroidRuntime错误:
04-12 11:39:00.777:D / AndroidRuntime(1161):关闭VM 04-12 11:39:00.777:W / dalvikvm(1161):threadid = 1:线程退出未捕获异常(组= 0x40a71930) 04-12 11:39:00.797:E / AndroidRuntime(1161):致命异常:主要 04-12 11:39:00.797:E / AndroidRuntime(1161):java.lang.NullPointerException
这里可以看到完整的logcat: http://pastebin.com/u2eyh2ME
我长期坚持这个问题,无法在其他任何地方找到合适的文档或帮助,我们将非常感谢任何帮助。谢谢!