有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我在Android上使用OData4j,我无法获取实体

这是我的代码:

package com.example.toggleDemo;

import 安卓.app.ListActivity;
import 安卓.os.Bundle;
import 安卓.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,安卓.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:错误/AndroidRuntime(781):致命异常:主 JAVANoClassDefFoundError:javax。ws。rs.ext.RuntimeDelegate 在org。odata4j。运动衫消费者ODataJerseyConsumer。(ODataJerseyConsumer.java:22) 在org。odata4j。运动衫消费者ODataJerseyConsumer。(ODataJerseyConsumer.java:14) 在org。odata4j。运动衫消费者Odatajersey消费者$Builder。build(ODataJerseyConsumer.java:93) 在org。odata4j。运动衫消费者ODataJerseyConsumer。创建(ODataJerseyConsumer.java:115) 在com上。实例切换演示。主要活动。GetExpenseReports(MainActivity.java:38) 在com上。实例切换演示。主要活动。onCreate(MainActivity.java:22) 在安卓。应用程序。仪器。callActivityOnCreate(Instrumentation.java:1047) 在安卓。应用程序。活动线程。performLaunchActivity(ActivityThread.java:2627) 在安卓。应用程序。活动线程。handleLaunchActivity(ActivityThread.java:2679) 在安卓。应用程序。活动线程。获取2300美元(ActivityThread.java:125) 在安卓。应用程序。ActivityThread$H.handleMessage(ActivityThread.java:2033) 在安卓。操作系统。汉德勒。dispatchMessage(Handler.java:99) 在安卓。操作系统。活套。loop(Looper.java:123) 在安卓。应用程序。活动线程。main(ActivityThread.java:4627) 在爪哇。朗,反思一下。方法invokenactive(本机方法) 在爪哇。朗,反思一下。方法调用(Method.java:521) 在com上。安卓内部的操作系统。ZygoteInit$MethodandArgscaler。run(ZygoteInit.java:868) 在com上。安卓内部的操作系统。合子体。main(ZygoteInit.java:626) 在达尔维克。系统本土艺术。主(本机方法)

提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    试试这个 这对我有用 ArrayList listUI=新建ArrayList(); ODataConsumer c=ODatajersey消费者。创建(“http://services.odata.org/Northwind/Northwind.svc/”); OQueryRequest类别=c.getEntities(“类别”)

        Enumerable<OEntity> enumCatagory = catagories.execute();
        OEntity category = enumCatagory.first();
        System.out.println(enumCatagory.count());
        String str = String.format("%s-%s", category.getProperty("CategoryID").getValue().toString(), category.getProperty("CategoryName").getValue().toString());
        System.out.println(str);