安卓网络操作全解:发起请求,解析响应
全栈工程师开发手册 (作者:栾鹏)
安卓教程全解
安卓网络操作全解。
发起请求,解析xml响应流
//发起一个请求
private void connect(String urlpath) {//启动一个网络数据流try {URL url = new URL(urlpath);//创建新的HTTP URL连接URLConnection connection = url.openConnection();HttpURLConnection httpConnection = (HttpURLConnection)connection;int responseCode = httpConnection.getResponseCode();if (responseCode == HttpURLConnection.HTTP_OK) {InputStream in = httpConnection.getInputStream();processStream(in);}}catch (MalformedURLException e) {Log.d("网络操作", "Malformed URL Exception.", e);}catch (IOException e) {Log.d("网络操作", "IO Exception.", e);}}//使用XML Pull Parse分析XML响应数据流
private void processStream(InputStream inputStream) {//创建新的XML PullXmlPullParserFactory factory;try {factory = XmlPullParserFactory.newInstance();factory.setNamespaceAware(true);XmlPullParser xpp = factory.newPullParser();// 分配新的输入流xpp.setInput(inputStream, null);int eventType = xpp.getEventType();// 继续直至到达文档的末尾while (eventType != XmlPullParser.END_DOCUMENT) {// 检查结果标记的开始标记if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("result")) {eventType = xpp.next();String name = "";// 处理结果标记中的每个结果while (!(eventType == XmlPullParser.END_TAG &&xpp.getName().equals("result"))) {//检查结果标记中的名称标记if (eventType == XmlPullParser.START_TAG &&xpp.getName().equals("name"))//提取POI名称name = xpp.nextText();//移动到下一个标记eventType = xpp.next();}//对每个POI名称执行某些操作}// 移动到下一个结果标记eventType = xpp.next();}} catch (XmlPullParserException e) {Log.d("PULLPARSER", "XML Pull Parser Exception", e);} catch (IOException e) {Log.d("PULLPARSER", "IO Exception", e);}
}
未完待续
安卓网络操作全解:发起请求,解析响应相关推荐
- 安卓文件操作全解:内部文件、公共文件、私有文件、app静态文件
全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓文件操作全解:内部文件.公共文件.私有文件.app静态文件. 读内部文件(当前应用程序文件夹下文件) public static String o ...
- 安卓网络连接全解:包括网络连接状态的监听、网络数据使用状态的监听、获取当前网络连接情况、启动wifi、获取当前连接wifi的网络情况、扫描wifi热点
全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓网络连接情况全解:包括网络连接状态的监听.网络数据使用状态的监听.获取当前网络连接情况.启动wifi.获取当前连接wifi的网络情况.扫描wifi ...
- 安卓电话和网络开发全解:电话硬件检测、电话服务信息、sim信息、网络服务信息、数据连接和数据传输信息、电话状态监听
全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓电话和网络开发全解,包括电话硬件检测.电话服务信息.sim信息.网络服务信息.数据连接和数据传输信息.通过phone state listener ...
- js系列教程7-DOM操作全解
全栈工程师开发手册 (作者:栾鹏) 快捷链接: js系列教程1-数组操作全解 js系列教程2-对象和属性全解 js系列教程3-字符串和正则全解 js系列教程4-函数与参数全解 js系列教程5-容器和算 ...
- js系列教程6-BOM操作全解
全栈工程师开发手册 (作者:栾鹏) 快捷链接: js系列教程1-数组操作全解 js系列教程2-对象和属性全解 js系列教程3-字符串和正则全解 js系列教程4-函数与参数全解 js系列教程5-容器和算 ...
- JavaScript对TreeView的操作全解
JavaScript对TreeView的操作全解 JavaScript对TreeView的操作全解 <script language="C#" runat="ser ...
- 安卓自定义view全解:初始化,onDraw函数,onMeasure函数,用户手势事件
全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓自定义view全解. view类包含如下函数.可供重写. onFinishInflate() 回调方法,当应用从XML加载该组件并用它构建界面之后 ...
- 安卓图片处理全解:获取视频的缩略图
全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓图片处理全解:获取视频的缩略图 获取视频的缩略图 private Bitmap getVideoThumbnail(String videoPat ...
- js系列教程1-数组操作全解
全栈工程师开发手册 (作者:栾鹏) 快捷链接: js系列教程1-数组操作全解 js系列教程2-对象和属性全解 js系列教程3-字符串和正则全解 js系列教程4-函数与参数全解 js系列教程5-容器和算 ...
最新文章
- AI隐形衣:穿上这件连帽衫,监控算法对你“视而不见”
- Spring Boot如何实现在线预览?这个开源项目可以学习一下,支持99%常用文件!...
- linux 重新分区 调整,重新调整磁盘分区linux / vm的大小
- “全球+”浪潮下,企业出海选择合适的“技术船舶”成关键
- 【Codeforces Round #450 (Div. 2) B】Position in Fraction
- 赛事招募 | 互联网创客马拉松开show啦~比武招APP
- Oracle Web链接客户端
- idea连接docker实现一键部署
- 万稞pw80线切割编程软件_常用 CNC编程软件
- Java 版学生成绩管理系统,附源码
- android自定义软键盘-中文与英文大小切换
- android Tencent x5webview截长图
- Postman 接口压力测试
- python中pdfplumber解析pdf_Python教程:pdfplumber提取pdf中的表格数据
- selenium docker
- AC-Campus准入控制--Mac
- 移动100m宽带慢的要死_移动宽带不稳定怎么办,移动100m宽带慢解决方法
- “夏邑女首富”刘敏创建的敏涵控股被质疑:坚持做难而正确的事
- 币圈假币泛滥:造假团伙骗走上亿,买别墅开豪车
- jmeter代理服务器录制脚本教程(入门篇)
热门文章
- 独家 | 一文读懂语音识别(附学习资源)
- h5语音识别和文字转语音
- python中堆排序_Python实现堆排序的方法详解
- 【java笔记】泛型定义和使用
- 开源网络监控管理系统:OpenNMS
- $ajax 获取返回值object,来自.ajax()调用的数据的jQuery .find()返回“ [object Object]”,而不是di...
- qt控制程序打开记事本_QT记事本小部件教程(二):应用程序主要源文件main.cpp详细代码...
- 支持Linux系统恢复工具,12款Linux系统恢复工具
- HTML5几大新特性
- unable to verify the first certificate