您的位置:首页 > 移动开发 > Android开发

Android端访问WebService获取数据

2015-12-16 15:58 453 查看
      首先呢,来说什么是WebService~

      Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。

      Webservice应用的两种类型:

             1.可重复使用的应用程序组件  

             2.连接现有的软件 ,通过为不同的应用程序提供一种连接其数据的途径,实现在不同的应用程序与平台之间交换数据(今天我们示例的方向)

     好了,现在就跟大家示例,如何利用java语言,获取与WebService的连接,并从其中获得数据~

    一.首先看一下一个简单WebService访问界面

         


 二.下面的便是具体的访问并获取数据的过程

     // 创建文件,用于保存从WebService获取的数据
String FileName = "xiaoxianbushixian.xml";
String filePath = Environment
.getExternalStoragePublicDirectory(
Environment.DIRECTORY_MOVIES).getAbsolutePath();
File file = new File(filePath, FileName);
file.createNewFile();

// 文件输出流
FileOutputStream fos = new FileOutputStream(file);

// 访问网址与Webservice建立连接
String address = "网址";
URL url = new URL(address);
HttpURLConnection http = (HttpURLConnection) url
.openConnection();
http.setDoOutput(true);
http.setDoInput(true);
http.setRequestMethod("POST");
http.setUseCaches(false);
http.setRequestProperty("Content-Type", "text/xml");
http.connect();

// 输出流发送请求信息
DataOutputStream out = new DataOutputStream(
http.getOutputStream());
String content = "请求数据";
out.writeBytes(content);
out.flush();
out.close();

// 输出流,把获取到的数据写出到文件里
BufferedInputStream input = new BufferedInputStream(
http.getInputStream());
byte bytes[] = new byte[1024];
int length;
while ((length = input.read(bytes)) != -1) {
fos.write(bytes, 0, length);
}
out.flush();
out.close();
http.disconnect();
网址呢(address)



发送的请求(content)



      三.最后容易错误的点

         1.联网操作是耗时操作,不可以写在主线程里

         2.连接网络,写入文件等,记得加上相应的权限

        

     啦啦,大概暂时就这么多的要点吧~

      最后呢,要跟大家分享的一句话是:时间花费在哪里,收获就在哪里;信念坚持在哪里,魅力就在哪里。加油加油!!!    

                                                                                                                                                                                                                                            小娴不是仙出版社独家发言
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: