-1

我必须编写一个简单的应用程序,从 android 调用 web 服务。所以请给我一个示例代码来调用它。如果代码不使用我必须下载并包含在项目中的任何特殊库,那就更好了。此外,该代码不应使用“Soap”一词,因为我在网上进行了很多搜索,并且每个地方都有“如何调用 Soap Web 服务”的示例。我不必调用 Soap 或其他任何东西,只需一个简单的 Web 服务。所以请提供参考代码或至少一些有用的链接。现在我尝试了一个代码,

public class TriongleJava {

    public static void main(String args[]) {

        HttpClient client = new DefaultHttpClient();
        HttpPost post = new HttpPost("http://vogellac2dm.appspot.com/register");
        try {
            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
            nameValuePairs.add(new BasicNameValuePair("registrationid", "123456789"));
            post.setEntity(new UrlEncodedFormEntity(nameValuePairs));

            HttpResponse response = client.execute(post);
            BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
            String line = "";
            while ((line = rd.readLine()) != null) {
                System.out.println(line);
            }

        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

但它的错误,

HttpClient 、 DefaultHttpClient 、 HttpPost 、 NameValuePair 等无法解析。

如何消除这些错误

4

3 回答 3

2

要调用 Web 服务,您需要就通信协议达成一致,可能是 SOAP、POST、XML 等。

如果您想使用 POST 协议进行调用,则可以使用以下链接: POST 示例

于 2012-12-05T08:48:55.283 回答
1

使用任何可以进行 http 调用的 java 库。可以参考这个链接http://www.vogella.com/articles/ApacheHttpClient/article.html

于 2012-12-05T08:49:32.563 回答
1

代码看起来大部分是可行的。

您遇到的错误是因为您使用的是外部类。这些类在库中定义。一些,例如BufferedReader包含在标准 java 库中,可以简单地使用

import java.io.BufferedReader;

我假设您尝试使用的其他人来自 Apache HTTP 客户端库。您可以在此处下载文件并将它们包含在您的类路径中,然后再导入相关的类。

于 2012-12-05T09:49:46.993 回答