我正在尝试在 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”,但这似乎不起作用......有人知道我如何解决我的问题吗?问题???期待您的回答!
问候史蒂夫