2018-04-26—网络请求(例:星座运势app实现)

上一节给大家讲了一个比较无聊的东西,这节就会派上用场了,哈哈,今天给大家讲解的是网络请求,我们做的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吧,就用这个星座运势的接口来做。(主要是实现功能,所以美观咱们就不谈了啊哈哈!)


效果
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,300评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,680评论 19 139
  • 图文/迦墨南 你在南方的艳阳里大雪纷飞,我在北方的寒夜里四季如春。 ――马頔《南山南》 最初听到...
    迦墨南阅读 897评论 0 3
  • 望着橘黄色的灯光发呆,我在想着谁 你于黄昏之后到来,赐我一场狂欢 街口的路灯,偷偷看着过往的人 而我站在虚掩的窗前...
    安夏茉阅读 574评论 12 19
  • “難過的話好像也只能對你說,和妹子只能說開心的話,你如果是男的就好了。” 臨睡前,小太陽小姐敷著面膜看著書的時候收...
    秋落巴士阅读 344评论 0 1

友情链接更多精彩内容