Java 使用Future.add callback将Azure移动服务中的数据检索到android应用程序中

Java 使用Future.add callback将Azure移动服务中的数据检索到android应用程序中,java,android,azure,azure-mobile-services,Java,Android,Azure,Azure Mobile Services,我正在尝试从Azure移动服务检索到android应用程序,我一直在使用移动服务客户端这样做。这是我的密码 try { mClient = new MobileServiceClient( "URL", "Key", this); ListenableFuture<MyObject> result = mClient.invokeApi("CCOOuta

我正在尝试从Azure移动服务检索到android应用程序,我一直在使用移动服务客户端这样做。这是我的密码

try {
            mClient = new MobileServiceClient(
                    "URL", "Key",
                    this);

            ListenableFuture<MyObject> result =  mClient.invokeApi("CCOOutageHistoryData", "GET", null, MyObject.class);
            Futures.addCallback(result, new FutureCallback<MyObject>() {
                @Override
                public void onFailure(Throwable exc) {
                    //createAndShowDialog((Exception) exc, "Error");
                }

                @Override
                public void onSuccess(MyObject result) {
                   String Incdenti= result.getCount();
                    //createAndShowDialog(result.getCount() + " item(s) marked as complete.", "Completed Items");
                    //refreshItemsFromTable();
                }
            });
试试看{
mClient=新的MobileServiceClient(
“URL”、“密钥”,
这),;
ListenableFuture result=mClient.invokeApi(“cOutageHistoryData”,“GET”,null,MyObject.class);
Futures.addCallback(结果,newfuturecallback(){
@凌驾
公共失效失效失效(可丢弃的exc){
//createAndShowDialog((异常)exc,“错误”);
}
@凌驾
成功时公共无效(MyObject结果){
字符串Incdenti=result.getCount();
//createAndShowDialog(result.getCount()+“标记为已完成的项目”,“已完成的项目”);
//refreshItemsFromTable();
}
});
但是,我没有得到任何错误,但是当使用断点进行检查时,它不会到达Future.addcallback中的onSuccess或Onfailure方法。 我正在调用azure移动服务api后尝试检索JSON数据。请帮助

使用字符串[]尝试

try {
            mClient = new MobileServiceClient(
                    "URL", "Key",
                    this);

            ListenableFuture<String[]> result =  mClient.invokeApi("CCOOutageHistoryData", "GET", null, (new String[0]).getClass());
            Futures.addCallback(result, new FutureCallback<String[]>() {
                @Override
                public void onFailure(Throwable exc) {
                    //createAndShowDialog((Exception) exc, "Error");
                }

                @Override
                public void onSuccess(String[] result) {
                 }
            });
试试看{
mClient=新的MobileServiceClient(
“URL”、“密钥”,
这),;
ListenableFuture result=mClient.invokeApi(“CCoutageHistoryData”,“GET”,null,(新字符串[0]).getClass());
Futures.addCallback(结果,newfuturecallback(){
@凌驾
公共失效失效失效(可丢弃的exc){
//createAndShowDialog((异常)exc,“错误”);
}
@凌驾
成功时公共无效(字符串[]结果){
}
});

下面的一些示例可能会帮助您学习移动服务.NET后端用于Android的Coutom API

  • Android中自定义API的测试示例,请参见

  • 移动服务.NET后端的示例,请参阅


  • 希望有帮助。致以最诚挚的问候。

    您确定请求已得到响应吗?Hi Nadir,如果这是一个错误,很抱歉,但是我如何检查在调用api时没有收到任何错误或异常,尽管我不确定在上述情况下,从api返回的json数据是如何反序列化到MyObject的。有人能帮助我理解我的错误吗我一直在检查azure sdk源代码,如果你的自定义对象不是数组,他们只是将结果强制转换到你的类,这可能是问题所在。尝试使用字符串数组并检查发生了什么我得到了错误:错误:(143,67)错误:需要不兼容的类型:找到ListenableFuture:ListenableFuture,其中CAP#1是新类型变量:CAP#1从捕获的扩展字符串[]扩展字符串[]