Использование OData с помощью Google Glass

Я пытаюсь использовать 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», но это, похоже, не работает... Кто-нибудь знает, как я могу решить мою проблему? проблема??? С нетерпением жду ваших ответов!

Привет Стеф


person user2858559    schedule 20.10.2014    source источник


Ответы (1)


Наконец-то нашел решение ;) Проблема действительно вызвана ODataVersion... почему-то невозможно использовать данные, поступающие из версий выше 2.0!

Привет

person user2858559    schedule 07.11.2014