Я пытаюсь использовать OData в приложении Google Glass. Что я делал до сих пор, так это импортировал необходимые файлы 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
На самом деле я загрузил последнюю версию OData-Package-Version 0.7 с официального веб-сайта odata4j и добавил к ней «odata4j-0.7.0-clientbundle.jar», но это, похоже, не работает... Кто-нибудь знает, как я могу решить мою проблему? проблема??? С нетерпением жду ваших ответов!
Привет Стеф