-1

我编写了一个 .net Web 服务,它基本上连接到远程数据库、查询数据库并以 JSON 格式返回记录。我已经在 Android 中完成了客户端使用 ksoap2 库来使用 Web 服务。我发现它很慢。我发现可以使用 http post 或 http get 来代替此链接中的 SOAP 。我搜索了网络,但找不到任何代码片段或分步指南来使用 http post/get 调用网络服务。请帮助我提供任何代码片段或分步指南。

4

2 回答 2

2

使用 JSON 响应非常简单。我的一位办公室同事为初学者写了一篇关于“带有 WCF 服务的 Android”的博文以及演示代码。

以下是来自源代码的代码片段:

    DefaultHttpClient client = new DefaultHttpClient();

    // http get request
    HttpGet request = new HttpGet(EMPLOYEE_SERVICE_URI
            + evEmployeeId.getText());
    // set the hedear to get the data in JSON formate
    request.setHeader("Accept", "application/json");
    request.setHeader("Content-type", "application/json");
    // get the response
    HttpResponse response = client.execute(request);
    HttpEntity entity = response.getEntity();
    // if entity contect lenght 0, means no employee exist in the system
    // with these code
    if (entity.getContentLength() != 0) {
        // stream reader object
        Reader employeeReader = new InputStreamReader(response.getEntity()
                .getContent());
        // create a buffer to fill if from reader
        char[] buffer = new char[(int) response.getEntity()
                .getContentLength()];
        // fill the buffer by the help of reader
        employeeReader.read(buffer);
        // close the reader streams
        employeeReader.close();
        // for the employee json object
        JSONObject employee = new JSONObject(new String(buffer));
    }

链接到博客文章

于 2012-08-29T06:31:42.343 回答
-1

我只是把 Web 服务的 URL 和它工作正常 :)

URL u = new URL("http://www.blabla.com/Webservice.svc?anyParam=hello&param2=Hahah");

HTTPURLConnection conn = (HTTPURLConnection) u.openConnection();
InputStream response = conn.getInputStream();



/* Do the rest */
于 2012-08-29T06:32:37.250 回答