首页 文章

从azure移动服务中检索数据到java中的android apllication

提问于
浏览
0

我有一个Azure移动服务,它从多个源检索数据并将其传递给我的移动应用程序以供使用 . 到目前为止,我已经用它来开发Windows移动应用程序,它完全正常 . 现在我想将同一个应用程序扩展到android,我想利用来自同一天蓝色移动服务的数据 .

我的用于检索数据的Windows应用程序的C#代码是

MobileServiceClient mobileservice = new MobileServiceClient("url", "key");
var aod_return = await mobileservice.InvokeApiAsync("CCOOutageHistoryData", HttpMethod.Get, null);
List<Data> aod_result = JsonConvert.DeserializeObject<List<Data>>(aod_return.ToString());
VList3.ItemsSource = aod_result;

我尝试在JAVA中使用这个Android应用程序

try {
   mClient = new MobileServiceClient("url", "key", this);


   mClient.invokeApi("CCOOutageHistoryData",null, "GET", null, new ApiJsonOperationCallback() {
      @Override
      public void onCompleted(JsonElement jsonElement, Exception e, ServiceFilterResponse serviceFilterResponse) {
         GsonBuilder gsonb = new GsonBuilder();
         Gson gson = gsonb.create();

         JsonArray array = jsonElement.getAsJsonArray();
         List<MyObject> myObjects = new ArrayList<MyObject>();
            for(int i = 0; i < array.size(); i++) {
               myObjects.add(gson.fromJson(array.get(i).getAsJsonObject().toString(), MyObject.class));
            }
       }
   });
} catch (MalformedURLException e) {
   // Do nothing
}

但是,当我给出断点时,在初始化mclient之后它不会进入下一行代码,而且我用于Mclient.Incokeapi的语法也被认为是不推荐使用的 . 你可以指出这个错误,并帮助我在Java的新语法中实现上面的c#代码 .

我在构建代码时得到以下异常 .

invoke is not implemented
java.lang.UnsupportedOperationException: invoke is not implemented
    at com.jetbrains.cidr.lang.refactoring.introduce.OCBaseIntroduceHandler.invoke(OCBaseIntroduceHandler.java:263)
    at com.intellij.refactoring.actions.BaseRefactoringAction.actionPerformed(BaseRefactoringAction.java:125)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$3.performAction(IdeKeyEventDispatcher.java:593)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:644)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.inInitState(IdeKeyEventDispatcher.java:483)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:213)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:538)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:382)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

我试过用

mClient.invokeApi("CCOOutageHistoryData",null, "GET", null, new ApiJsonOperationCallback() {
                @Override
                public void onCompleted(JsonElement jsonElement, Exception e, ServiceFilterResponse serviceFilterResponse) {
                    GsonBuilder gsonb = new GsonBuilder();
                    Gson gson = gsonb.create();                    JsonArray array = jsonElement.getAsJsonArray();
                    List<MyObject> myObjects = new ArrayList<MyObject>();
                    for(int i = 0; i < array.size(); i++)
                    {
                        myObjects.add(gson.fromJson(array.get(i).getAsJsonObject().toString(), MyObject.class));
                    }
                }
            });

但不起作用 . 有人可以帮我解决这个问题

1 回答

相关问题