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

效果

android 星座运势接口,2018-04-26—网络请求(例:星座运势app实现)相关推荐

  1. Android中使用Volley开源库进行Http网络请求(GET方式)

    在之前的Http网络请求中,我们一般使用输入流以及缓冲区的方式进行访问,然后从服务器获取返回的数据.代码行数近20行,而且网络操作是放在Thread线程中进行的,对于Java或者Android的线程还 ...

  2. Android 微博实时热点获取(GET)网络请求

    Android 微博实时热点获取(GET)网络请求 首先在xml文件上界面布局 这边采用LinearLayour布局,首先添加TextView控件来显示标题,第二采用RecyclerView列表控件来 ...

  3. Android中使用logger打印完整的okhttp网络请求和响应的所有相关信息(请求行、请求头、请求体、响应行、响应行、响应头、响应体)

    如果你的项目中的网络请求库是Retrofit的话,他的底层封装的是OkHttp,通常调试网络接口时都会将网络请求和响应相关数据通过日志的形式打印出来.OkHttp也提供了一个网络拦截器okhttp-l ...

  4. android网络请求框架_2020,最新APP重构:网络请求框架

    在现在的app,网络请求是一个很重要的部分,app中很多部分都有或多或少的网络请求,所以在一个项目重构时,我会选择网络请求框架作为我重构的起点.在这篇文章中我所提出的架构,并不是所谓的 最好 的网络请 ...

  5. Android 9.0/P(android p指安卓9.0版本) okhttp3网络请求出错

    已经在AndroidManifest.xml申请网络权限,在8.0以下的系统中网络访问正常,但是9.0中出现网络请求失败 Android 9.0的网络请求失败如下图: 出现这个错误的原因是:从Andr ...

  6. python 网络接口 开发_Python自动化学习笔记(八)——接口开发、发送网络请求、发送邮件、写日志...

    1.接口开发(flask模块) Python自动化学习笔记(七)接口开发部分的内容补充 1.1参数为json格式: flask.request.is_json #判断参数是否是json格式 flask ...

  7. Python自动化学习笔记(八)——接口开发、发送网络请求、发送邮件、写日志...

    1.接口开发(flask模块) Python自动化学习笔记(七)接口开发部分的内容补充 1.1参数为json格式: flask.request.is_json #判断参数是否是json格式 flask ...

  8. 如何使用Android Studio发送一个简单的GET/POST网络请求

    Android Studio发送简单的GET/POST网络请求 阅读文章需知 前提准备 权限添加 启动子线程,发送网络请求 POST请求如何添加参数? 后文必读 能点赞投币一键三连嘛? 阅读文章需知 ...

  9. 梦想Android版CAD控件2018.7.26更新

    下载地址: http://www.mxdraw.com/ndetail_109.html 增加所有接口CHM帮助文档 增加得到当前打开文件函数 读写CAD扩展记录接口 读写属性块属性文字本函数 读写C ...

  10. 梦想cad控件 android,梦想CAD控件 2018.7.26更新

    2015年最好的PHP框架调查统计 2015年最流行的框架,Laravel框架获得赢家! 正如预期的那样,Laravel这次又一次高出了一大截. 有一些人可能会担心,部分框架分裂版本可能影响Larav ...

最新文章

  1. php类方法语法错误捕获,php语法错误捕获
  2. CCAI 2017 中国人工智能大会 6.4 折抢票倒计时!
  3. 【无标题】RestHighLevelClient工具类
  4. 转:http2.0时代即将到来~~~~~
  5. 定制mini2440 wince启动界面
  6. 地址总线是单向还是双向_如何区分晶闸管的单双向问题?
  7. 第二十八章:化学学校
  8. unity 相机(物体)自动前移,单击屏幕后退
  9. 微信小程序开发(一):小程序代码构成
  10. win98万能显卡驱动_win98万能显卡驱动-万能显卡驱动精灵
  11. java省市区_JAVA省市区地址解析 原创
  12. Linux菜鸟教程(一 :JDK安装和java环境的配置)
  13. 目标跟踪数据集VOT环境详细配置过程(附部分tracker融合代码)
  14. python数据分析007——数据可视化(下)
  15. 汽车OBD诊断系统介绍
  16. MES系统质量追溯功能,到底在追什么?
  17. 基于springboot的人事管理系统【毕业设计,源码,论文】
  18. “但是……”萧雨萱还想说什么,却立刻被季枫给打断了
  19. Linux下获取WIFI状态信息(c语言)
  20. SecureCRT Linux中文乱码问题

热门文章

  1. 想起大学线代符教授的一句话:解决问题的方法的多种多样的
  2. phpmyadmin mysql进入_phpMyAdmin怎么进去
  3. PS中影子、雨景、雪景、定义画笔预设制作流程
  4. android解除网络限制
  5. 2014年十大优秀免费空间排行-稳定,速度,可靠和专业的免费主机空间
  6. PPPoE和DHCP之间有什么区别?
  7. java(四)【常用API,自定义泛型、collection接口】
  8. Microsoft Office MSDT代码执行漏洞(CVE-2022-30190)复现“没”成功
  9. PYTHON学习笔记(六)-- 面向对象
  10. 《隐动力》之:伟人脱险记冯学荣读史新浪博客