Android端访问WebService获取数据

来源:互联网 发布:互联网供应链金融数据 编辑:程序博客网 时间:2024/06/06 01:27

      首先呢,来说什么是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.连接网络,写入文件等,记得加上相应的权限

        

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


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


                                                                                                                                                                                                                                            小娴不是仙出版社独家发言

0 0
原创粉丝点击