一起来开发Android的天气软件(三)——使用Volley实现网络通信

本文介绍如何在Android天气软件开发中利用Volley框架进行网络通信。在上一章节中,已经使用LitePal框架建立了数据库。Volley以其简单易用和高性能的特点,适合进行小数据量、高频率的网络操作。文章详细讲解了通过创建RequestQueue和StringRequest对象来实现Volley的网络通信服务。
摘要由CSDN通过智能技术生成

   距离上一篇一起来开发Android天气软件二的时间又将近半个月了,之间一直因为有事而没有更新实在抱歉,最近会加快更新的步伐,争取在2015年到来前写完这系列的博文,上一章我们已经使用LitePal框架搭建好了我们所需的数据库,这一章的内容将主要完成关于从中国天气网获取数据的网络通信操作,之前有学习过Android开发的同学应该都知道,Android实现互联网通信主要有两种方法,一种使用HTTPURLCONNECTION,一种使用HttpClient的方式,而我们今天将使用不同于以上两种的方式,使用Volley框架完成我们的网络通信服务。   

   Volley框架呢是 2013年在Google I/O大会上推出了一个新的网络通信框架。Volley非常的简单易用,在通信性能方面也进行了大幅度的调整,它的设计目标就是非常适合去进行数据量不大,但通信频繁的网络操作,也比较适合我们这款软件吧。

一、如何获取数据

   如何获取全国所有省份的信息呢,我们只要要访问以下网址 http://www.weather.com.cn/data/list3/city.xml,就会返回中国所有省份的名称和代号,如下所示。01|北京,02|上海,03|天津,21|浙江等等,我们可以看到城市与其代号之间通过|号相隔开,省份与省份之间用,号隔开,记住这个结构。之后的之后会用到正则表达式去截取。
   如何查看浙江省下的城市的信息呢,其实也非常简单,只需要访问以下网址http://www.weather.com.cn/data/list3/city21.xml,也就是只需要将省级代号添加至city后面就可以了,服务器就会返回数据2101|杭州,2102|宁波,2103|温州等等。
   同样的方法,我们如果想访问杭州以下的县市的信息,只需要city添加2101即可,如下示               http://www.weather.com.cn/data/list3/city2101.xml。
   以上我们就可以知道如何获得全国省市区的信息了,那么如何得到某具体城市的天气呢?以杭州市区为例他的县级代号为210101,那么访问以下网址http://www.weather.com.cn/data/list3/city210101.xml就会返回一个很简单的数据210101|101210101,后面的就是杭州市区所对应的天气代号,之后我们在用我们这个得到的代号就可以访问以下网址http://www.weather.com.cn/data/cityinfo/101210101.html,注意这个网址后缀是html,不是xml了,写代码的时候不要写错了,这样服务器就会把杭州市区的天气信息已json格式的数据返回给我们,如下所示。
      {"weatherinfo":{"city":"杭州","cityid":"101210101","temp1":"1℃","temp2":"10℃","weather":"多云转晴","img1":"n1.gif","img2":"d0.gif","ptime":"18:00"}}

二、如何实现网络通信

    我们现在已经知道访问的网址的具体地址了,那么如何通过我们的软件实现真正的网络通信呢ÿ
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值