0

Google Glass アプリケーション内で OData を使用しようとしています。これまでに行ったことは、必要な odata4j.JAR をインポートし、「AsyncTask」クラスを拡張する「PersonRequest」というクラスを実装することでした。このクラスは次のことのみを行います。

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 の公式 Web サイトから最新の OData-Package-Version 0.7 をダウンロードし、「odata4j-0.7.0-clientbundle.jar」を追加しましたが、これは機能しないようです...問題???あなたの答えを楽しみにしています!

こんにちはステフ

4

1 に答える 1

0

最終的に解決策が見つかりました;)問題は実際にはODataVersionによって引き起こされます...どういうわけか、2.0より高いバージョンからのデータを消費することはできません!

ご挨拶

于 2014-11-07T07:38:16.123 に答える