Это мой код:Я использую OData4j для Android, я не могу получить сущности
package com.example.toggleDemo;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import org.odata4j.consumer.ODataConsumer;
import org.odata4j.core.OEntity;
import org.odata4j.jersey.consumer.ODataJerseyConsumer;
import java.util.List;
import java.util.ArrayList;
public class MainActivity extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, GetExpenseReports()));
getListView().setTextFilterEnabled(true);
}
ArrayList<String> GetExpenseReports()
{
ArrayList<String> listUI = new ArrayList<String>();
ODataConsumer c = ODataJerseyConsumer.create("http://services.odata.org/Northwind/Northwind.svc/");
List<OEntity> listCategories= (List<OEntity>) c.getEntities("Categories");
for(OEntity category : listCategories) {
listUI.add(String.format("%s-%s", category.getProperty("CategoryID").getValue().toString(), category.getProperty("CategoryName").getValue().toString()));
}
return listUI;
}
}
При запуске в эмуляторе, это ошибка: 08-28 17: 30: 05,793: ERROR/AndroidRuntime (781): неустранимый: Основной java.lang.NoClassDefFoundError: javax.ws.rs.ext.RuntimeDelegate на org.odata4j.jersey.consumer.ODataJerseyConsumer (ODataJerseyConsumer.java:22) на org.odata4j. .jersey.consumer.ODataJerseyConsumer. (ODataJerseyConsumer.java:14) на org.odata4j.jersey.consumer.ODataJerseyConsumer $ Builder.build (ODataJerseyConsumer.java:93) на org.odata4j.jersey.consumer.ODataJerseyConsumer.create (ODataJerseyConsumer.java:115) на com.example.toggleDemo.MainActivity.GetExpenseReports (MainActivity.java:38) на com.example.toggleDemo.MainActivity.onCreate (MainActivity.java:22) на android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1047) в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2627) в android.app.ActivityThread.handleLaunchActivity (ActivityThread. java: 2679) at android.app.ActivityThread.access $ 2300 (ActivityThread.java:125) at android.app.ActivityThread $ H.handleMessage (ActivityThread.java:2033) на android.os.Handler.dispatchMessage (обработчик .java: 99) at android.os.Looper.l oop (Looper.java:123) at android.app.ActivityThread.main (ActivityThread.java:4627) по адресу java.lang.reflect.Method.invokeNative (собственный метод) по адресу java.lang.reflect.Method.invoke (Method.java:521) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:868) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:626) на dalvik.system.NativeStart.main (родной метод)
Заранее спасибо!
и я не могу использовать ODataConsumer.create (..) и я не могу использовать код: Список listCategories = c.getEntities ("Категории") Execute() ToList();.. Сообщение об ошибке «Не удается разрешить метод« toList() ». Но я вижу демонстрационный код OData4j, который использует« toList() », Почему я не могу использовать? –
bnPYSse
Хотя трассировка, найденная в findEdmEntitySet() из EdmDataServices.java, я не могу получить this.schemas.The this.schemas имеет значение null. – bnPYSse