0

我正在尝试在 Google Glass 应用程序中使用 OData。到目前为止,我所做的是导入所需的 odata4j.JAR 并实现一个名为“PersonRequest”的类,该类扩展了“AsyncTask”类。该类仅执行以下操作:

public class PersonRequest extends AsyncTask<Void, Void, ArrayList<Person>>{
 private ArrayList<Person> persons;
 @Override
 protected ArrayList<Person> doInBackground(Void... params){
    int i = 0;
    String serviceURL = "http://services.odata.org/OData/OData.svc/";
    ODataConsumer myConsumer = ODataConsumers.create(serviceURL);
    for(OEntity category : myConsumer.getEntities("Categories").execute()){
     String categoryName = category.getProperty("Name", String.class).getValue();
     System.out.println("Category: " + categoryName);
    }
    return(this.persons);
 }

当我通过以下代码从一个视图切换到另一个视图时,我调用了这个类:

new PersonRequest().execute()

我现在遇到的问题是我总是收到一个错误,上面写着以下内容:

FATAL EXCEPTION: AsyncTask #1
java.lang.RuntimeException: An error occured while executing doInBackground() ...
Caused by: java.lang.IllegalArgumentException: Unknown ODataVersion 3.0

我实际上已经从官方 odata4j 网站下载了最新的 OData-Package-Version 0.7 并向其中添加了“odata4j-0.7.0-clientbundle.jar”,但这似乎不起作用......有人知道我如何解决我的问题吗?问题???期待您的回答!

问候史蒂夫

4

1 回答 1

0

终于找到了解决方案;)问题确实是由 ODataVersion 引起的......不知何故,无法使用来自高于 2.0 的版本的数据!

问候

于 2014-11-07T07:38:16.123 回答