上一节给大家讲了一个比较无聊的东西,这节就会派上用场了,哈哈,今天给大家讲解的是网络请求,我们做的APP很少是单机的App吧,一般情况下多多少少都会用到一些网络请求,而他具体是怎么实现的呢?今天我们来一起看一下Android中网络请求相关知识:
在这之前,我们首先需要了解一下我们android端和后端的交互流程:
前后端最简单交互流程我们android发送HTTP请求,然后传入后端进行相对应操作后,返回给我们结果,这个结果就是以Json形式传回。这里的两个关键点就是发送http请求和解析Json,上节课我们讲了Json的解析,这节课我们就来看一看我们是怎么发送网络请求的。
一、HttpURLConnection类
我们的网络请求目前最基本的是使用HttpURLConnection类进行操作,下面通过代码来看一下他的流程。
1.创建URL类,关于这类我们不做太多解释,现在只理解用它来接收我们的网址,这里我们聚合数据中的数据接口了(关于聚合数据我们下一次再详细介绍)
URL中的网址2.获取HttpURLConnection类
我们通过url.openConnection方法来获取connection对象。
3.设置connection:
connection相关设置4.这几个是必须要设置的,下面连接connection
5.接收响应码:
响应码接收6.判断响应码是否正常(200为正确结果一般),如果为200,则我们通过流操作获取结果:
7.最后断开连接
断开连接对了,不要忘记两个个关键的地方:①权限。我们使用网络请求,就要申请网络使用权限,在mainfest.xml中申请
②在子线程中进行网络请求(因为网路请求属于耗时操作,这个之前说过)。
权限申请好了,现在我们跑一下程序,看看效果如何:
04-26 10:10:03.135 5816-5859/zy.pers.horoscope E/我们获取到的结果:: {"date":20180426,"name":"水瓶座","datetime":"2018年04月26日","all":"40%","color":"黄色","health":"70%","love":"40%","money":"60%","number":5,"QFriend":"天秤座","summary":"今天是一个容易急躁的一天,而且情绪上太,不要太自我,要多去体会别人的想法。今天是一个适合出行,学习的日子,但是在学习上不能急功近利,要慢慢地体验,去学习。今天适合做自己爱好的事情。取好好让自己开心一下。释放压抑和压力。","work":"40%","resultcode":"200","error_code":0}
这是我得到的结果,看样子是正确的,返回的就是我们上一次连接到的Json串。
这样子实在是太不美观了,我们来做一个正儿八经的APP吧,就用这个星座运势的接口来做。(主要是实现功能,所以美观咱们就不谈了啊哈哈!)
效果
网友评论