访问Android中的ResTWebService

时间:2012-08-16 13:06:07

标签: android web-services rest webservices-client

我正在开发一些应用程序,我想将它们连接到Restful WebService。为此,我写了这堂课:

public class TagDS {
    public TagDS(){
    }

    public boolean recordTag(Tag t){
        try{    
        String send = t.getConteudo()+"\n"+t.getId()+"\n"+t.getURL()+"\n"+t.getData()+"\n"+t.getUser();
        postService(send);
        return true;
        }catch(Exception e){
            return false;
        }
    }

    public void postService(String send) {
        ClientConfig config = new DefaultClientConfig();
        Client client = Client.create(config);
        WebResource service = client.resource(getBaseURI());

        service.path("rest").path("project").path("create").path(send).accept(MediaType.TEXT_PLAIN).post();
    }

    private static URI getBaseURI() {
        return UriBuilder.fromUri(
                "http://localhost:8080/pt.Android.Project.WebService").build();
    }
}

但是当我运行应用程序时,显示的是menssage:

<p>08-16 10:24:33.280: E/AndroidRuntime(24149): FATAL EXCEPTION: main </p>
<p>08-16 10:24:33.280: E/AndroidRuntime(24149): java.lang.NoClassDefFoundError: com.sun.jersey.api.client.config.DefaultClientConfig</p>

我已将所有库添加到项目中。我的问题是:在我们创建apk时是否可能没有加载库?

我已经分别测试了我的WebService并且它正常工作。我认为“maby问题是android权限”,但我搜索并获得了许可:

 <user-permission android:name="android.permission.INTERNET" />

你能帮助我吗?

此致 丽塔

1 个答案:

答案 0 :(得分:0)

为什么你需要球衣来从Android访问网络服务? Android的'java-like'虚拟机版本并不支持所有java库。