位置: 编程技术 - 正文

Android 网络编程之 XML 和 JSON 解析(安卓网络编程面试题)

编辑:rootadmin

推荐整理分享Android 网络编程之 XML 和 JSON 解析(安卓网络编程面试题),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android网络编程需要哪些基础,android网络编程,android网络编程技术题,android网络编程技术题,android网络编程技术题,android网络编程 百度网盘,android网络编程,android网络编程面试题,内容如对您有帮助,希望把文章链接给更多的朋友!

通常情况下,每个需要访问网络的应用程序都会有一个自己的服务器,我们可以向服务器提交数据,也可以从服务器上获取数据。网络上传输数据时最常用的格式有两种:XML 和 JSON。

这里以之前的一篇文章 Android网络访问之HttpURLConnection和HttpClient 为基础,继续添加代码,介绍 XML 和 JSON 的解析方式。

0. 搭建 Web 服务器

这里首先需要搭建了一个简单的 Web 服务器,在这个服务器上提供一段 XML 格式文本和一段 JSON 格式文本,然后在程序里访问这个服务器,分别对其进行解析。

关于如何下载安装 Apache 服务器,这里有篇文章写得很详细: 如何从Apache官网下载windows版apache服务器

0.1 添加 XML 文件

安装好之后,在其文件夹下的 htdocs 文件夹中新建一个名为 get_data.xml 的文件,添加如下代码:

此时在浏览器中访问 这个网址,显示如下:

0.2 添加 JSON 文件

在 htdocs 文件夹中新建一个名为 get_data.json 的文件,添加如下代码:

在浏览器访问

注意需要开启相应服务。

1. 解析 XML 格式数据

解析 XML 格式数据方法有很多种,这里介绍常用的两种:Pull 方式和 SAX 方式(此外 DOM 解析方式也比较常用)。 修改MainActivity 中 sendRequestWithHttpClient() 方法中的代码,将 http 请求网址改为 (PS: .0.2.2 对模拟器来说就是电脑本机 IP 地址)。

1.1 Pull

创建 parseXMLWithPull() 方法,并在 sendRequestWithHttpClient() 方法中调用它即可,且无需再发送 Message。代码如下:

运行程序,LogCat 中显示如下: 说明已经将 XML 文件中的内容成功解析出来了。

1.2 SAX

SAX 解析较 Pull 方式略复杂(通常会新建一个类继承自 DefaultHandler,并重写父类的5个方法),但在语义方面更清晰。 新建一个类 ContentHandler 继承自 DefaultHandler,代码如下:

Android 网络编程之 XML 和 JSON 解析(安卓网络编程面试题)

接下来在 MainActivity 中添加 parseXMLWithSAX() 方法,并在 sendRequestWithHttpClient() 方法中调用它即可,代码如下:

运行程序,效果同上。

2. 解析 JSON 格式数据

JSON 与 XML 相比的优缺点:

优点:体积小,省流量。缺点:语义性较差。

解析 JSON 格式的数据也有多种方法,这里介绍两种:JSONObject 和 GSON。

2.1 JSONObject

在 MainActivity 中创建 parseJSONWithJSONObject() 方法,并在 sendRequestWithHttpClient() 方法中调用它即可,同样无需发送 Message。代码如下:

注意要将 http 请求网址改为 中显示如下:

2.2 GSON

GSON 并未添加到 Android 的官方 API 中,因此若想使用的话需要在项目中添加 GSON 的 jar 包(下载 后将其添加到 libs 文件夹下即可)。

新建一个 APP 类,代码如下:

在 MainActivity 中创建 parseJSONWithGSON() 方法,并在 sendRequestWithHttpClient() 方法中调用它即可,同样无需发送 Message。代码如下:

运行程序,结果同上。

源码下载

《第一行代码》 学习笔记。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Spring+MyBatis+Velocity+BootStrap实现Android混合App快速高效服务端 大资源系统数据展示原型效果架构选型MyBatis:快速、高效、简洁的数据库数据映射到Java容器中,采用通用的Mapper文件几乎不用针对每个对象写映射文件

Android基础知识_Application的用途 一、Application概述1.API类的继承关系2.API类的概述那些需要保持全局应用程序状态的基类。通过在AndroidManifest.xml的application标签指定它的名字你能提供自

Android调用相机并将照片存储到sd卡上 转载自:点击打开链接Android中实现拍照有两种方法,一种是调用系统自带的相机,然后使用其返回的照片数据。还有一种是自己用Camera类和其他相关类

标签: 安卓网络编程面试题

本文链接地址:https://www.jiuchutong.com/biancheng/376572.html 转载请保留说明!

上一篇:Android AsyncTask简要分析

下一篇:Spring+MyBatis+Velocity+BootStrap实现Android混合App快速高效服务端

  • smarty简单应用实例(smartypig)

    smarty简单应用实例(smartypig)

  • SQL Server2008 R2 数据库镜像实施手册(双机)SQL Server2014同样适用(sqlserver2008r2数据库导出教程)

    上图中将“恢复模式”选成“完整模式”。

    2、备份数据库,如下图:

    备份时将“备份类型”选成“完整”。

    3、备份事务日志,如下图:

    将“备份类型”选成“事务日志”且备份目录与备份数据库的目录一致。

    将备份文件在备机上使用主机的全备文件进行还原,在还原数据的时候需要使用选上“with non recover”。如图所示:

    如果执行成功数据库将会变成这个样子:

    3、 建立镜像

    说明:shishan为数据库名,需要根据实际进行修改。..1.为备机IP地址,需根据实际进行修改。

    执行成功后:

    到此,SQL镜像热备配置完成。

    四、常见命令

    备份主数据库出现:Backup a database on a HDD with a different sector size,可以执行以下语句备份:BACKUP DATABASE MyDB TO DISK = N'D:MyDB.bak' WITH INIT , NOUNLOAD , NAME = N'MyDB backup" class="img-responsive" alt="SQL Server2008 R2 数据库镜像实施手册(双机)SQL Server2014同样适用(sqlserver2008r2数据库导出教程)">

    SQL Server2008 R2 数据库镜像实施手册(双机)SQL Server2014同样适用(sqlserver2008r2数据库导出教程)

  • Win7系统Docx文件怎么打开?Win7打开Docx文件方法(win7 word)

    Win7系统Docx文件怎么打开?Win7打开Docx文件方法(win7 word)

  • 怎么禁止win7旗舰版显示用户登录信息?(win7旗舰版如何禁止更新)

    怎么禁止win7旗舰版显示用户登录信息?(win7旗舰版如何禁止更新)

  • Win7系统关机变成了重启现执行后变成了重启电脑(win7系统关机很慢什么原因)

    Win7系统关机变成了重启现执行后变成了重启电脑(win7系统关机很慢什么原因)

  • Node.js中使用计时器定时执行函数详解(node-js)

    Node.js中使用计时器定时执行函数详解(node-js)

  • js jq 单击和双击区分示例介绍(js双击触发)

    js jq 单击和双击区分示例介绍(js双击触发)

  • 转让金融商品应交增值税计入
  • 建筑业一般纳税人可以开3%的发票吗
  • 个人服务费发票几个点
  • 增值税一般纳税人和小规模纳税人的区别
  • 年金是否一定是每年发生一次
  • 收到商业汇票计入科目
  • 个人去税务局开普票,税率几个点
  • 闲置设备折旧企业所得税税前扣除
  • 股份制改造而发生的资产评估增值税法规定
  • 福利企业的税收优惠政策
  • 进项税有余额但没有余额
  • 企业所得税汇算清缴账务处理
  • 工程款支付利息依据
  • 在不同单位拿的工资怎么计税?
  • 小规模纳税人转成一般纳税人条件
  • 营改增后还有消费税吗
  • 租赁厂房算什么费用
  • 会议费增值税专用发票税率
  • 购进货物作为优秀员工的奖励是否可以进项抵扣?
  • 如何确认是否要割包皮
  • 详解非税收入
  • 以前年度损益调整贷方余额表示什么
  • 企业购买设备可以税前扣除吗
  • 发票销货清单需要到税务局吗
  • 哪里查询发票是否抵扣
  • 货币性项目和非货币性项目的区别是什么?如何进行处理?
  • 货物运输业的增值税税率
  • 企业股权融资方式有哪些
  • 小型微利企业怎么认定最新标准
  • 出差回来报销会务费
  • 生产车间报表表格图片
  • 不动产租赁费计入什么科目
  • 贷方跟借方哪个是收入哪个是支出
  • 订单超时十分钟
  • php注释有几种?如何表示?
  • 使用Go http重试请求
  • 让客户抽奖赠送什么礼物
  • 购买加油卡如何做会计分录
  • 织梦建站详细教程
  • 无偿提供建筑服务账务处理
  • 物业代收代缴是什么意思
  • 制造费用怎么摊销到成本?
  • 车辆通行费
  • 增值税专用发票几个点
  • 进项税额大于销项税额期末留抵
  • 单独运费怎么做账
  • 即期外汇交易有风险吗
  • 结转后还可以改凭证吗
  • 固定资产清理的税率是多少
  • 预付账款主要是什么
  • 工资费用核算的原始记录有
  • 以考核为由扣除工资
  • 企业租入设备的会计分录怎么写
  • 电子发票必须要打印出来才能作为入账依据
  • 总分类账的依据
  • mysql 5.7启动
  • linux的安装
  • 在linux操作系统中
  • 虚拟机打开提示物理内存不足
  • linux spool
  • nipc什么意思
  • 重装win7系统后没有无线网
  • cocos2dx游戏案例
  • 批处理语言 从入门到精通
  • linux流量监测工具
  • 批处理截取字符串
  • 女鬼照片
  • 基于JavaScript的图书管理系统
  • bootstrap-
  • node js搭建服务器
  • javascript如何
  • javascript包括在html中
  • 学习JavaScript事件流和事件处理程序
  • Javascript & DHTML 实例编程(教程)(四)初级实例篇2—动画
  • python命令行在哪
  • 专项附加扣除可以退多少钱
  • 税控盘时间不对有影响吗
  • 1992年2月20号是什么
  • 管道运输是什么意思?运输的是什么
  • 用电稽查工作总结
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设