欢迎来到天天文库
浏览记录
ID:31433199
大小:109.00 KB
页数:6页
时间:2019-01-09
《android调用web应用浅析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Android调用Web应用浅析 摘要:该文主要研究Android访问JSP、ASP.NET等不同Web应用的方法及解决方案,分析了URL、HttpClient、HttpURLConnection网络应用的技术,对XML、JOSN数据的解析进行了比较,就asp.net、jsp和WebService的应用资源生成、调用提出了解决方案。 关键词:Android;XML;JOSN;WebService 中图分类号:TP311文献标识码:A文章编号:1009-3044(2015)22-0140-03 通过长期的信息化建设,基于互
2、联网的Web应用已非常丰富,积累了大量的数据和资源,随着移动智能设备的普及,App应用大量涌现,APP的设计与制作不再是专业公司的专利,众多的企事业单位将原有系统进行APP化拓展已是大势所趋。将这些用不同语言编写、使用不同数据库的资源融入企业的APP应用中就是本文探讨的主题。 1Android访问Web应用资源的主要途径 1.1通过URL进行网络应用 URL统一资源定位器是指向互联网资源的指针,由协议名、主机、端口和资源组成:protocol://host:port/resourceName。常用方法有:获取URL资源名g
3、etFile()、获取URL查询字符串getQuery()、返回URL远程连接的URLConnection对象openConnection()、打开URL连接并返回其输入流openStream()等。6 无参数直接用URL访问网络资源时openStream()方法读取指定资源并生成InputStream流,在本地对该输入流进行读取,如while(InputStream对象.read(byte[]数组对象)>=0){}将输入流读到字节数组中。 当提交参数时,则用URL的openConnection()方法返回的URLConne
4、ction对象(示例中的conn),建立起应用与URL间的通信连接,通过其实例发送请求并读取相关资源。发送GET方式请求时用connect()建立连接;发送POST方式请求时,取得URLConnection对象的输出流再发送请求参数。 1.2使用Http访问网络 (1)使用ApacheHttpClient 为更好处理如Session、Cookie等,在Android中可用HttpPost和HttpGet封装post请求和get请求,用HttpClient的excute()方法发送post请求并返回服务器的响应数据。用Htt
5、pResponse的getAllHeaders()、getHeaders(Stringname)等方法获取服务器的响应头,用getEntity()方法获取HttpEntity对象,该对象包装了服务器的响应内容,程序通过该对象获取服务器的响应内容。 2Android访问Web应用资源需解决的主要问题 2.1中文乱码现象6 网络通信中产生乱码的主要原因是编码不一致,多数终端设备都支持UTF-8字符集,而Java网络传输使用ISO-8859-1,调用资源时,可用EntityUtils.toString(数据,"编码")进行传输,
6、也可用getBytes("编码")对汉字编码得到字节数组,再用newString(Bytes[],”解码”)对字节数组解码。 2.2用DOM、SAX、Pull三种方式解析XML 1)DOM解析先将XML文件内容以文档树的方式存入内存,通过API遍历树、检索数据,简单易用,占内存多,用于数据量小的文件。DOM解析常用属性:元素Element、节点Node、节点名称nodeName、节点值nodeValue、属性attributes;常用方法:获取所有元素getDocumentElement()、获取指定标签的所有元素getEl
7、ementsByTagName(name)、插入子节点appendChild(node)等。 2)SAX解析基于回调函数,速度快占用内存少,读取到开始或结束标签、节点、内容时就回调一个事件,事件源通过XMLReader的parser()方法解析并产生事件,事件处理器由ContentHander等4个接口集合而成,一般可用DefaultHandler类进行简化处理。 使用时创建SAXParserFactory对象,调用newSAXParser()方法生成SAXParser解析器,用getXMLReader()方法获得解析器的事
8、件源对象XMLReader,实例化一个DeafultHandler对象,用setContentHandler将两者连接,通过XMLReader的parse()方法从输入源得到XML数据,最终由DefaultHandler对象返回数据。 3)Pull解析与SAX
此文档下载收益归作者所有