
Android网络编程
子云心
这个作者很懒,什么都没留下…
展开
-
Android网络编程(十四) 之 Socket与NIO
1 简介NIO(Non-Blocking I/O或叫New I/O)是一种同步非阻塞的I/O模型,主要用于服务端解决高并发或者大量连接的情况的IO处理。它是JDK1.4中引入的,位于java.nio包中,主要用于弥补原来同步阻塞I/O(Blocking I/O或叫BIO)的不足。在NIO出现之前大多服务端主要使用BIO通过新建线程的方式来解决并发请求,如上一篇博文《Android网络编程(十三...原创 2020-01-21 16:00:24 · 1608 阅读 · 0 评论 -
Android网络编程(十三) 之 Socket和长连接
1 Socket的简介Socket字面翻译是“插座”,通常也称作“套接字”,是对TCP/IP的封装的编程接口。Socket把复杂的TCP/IP 协议族隐藏在Socket 接口后面。Socket 用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过Socket向网络发出请求或者应答网络请求。就像一台服务器可能会提供很多服务,每种服务对应一个Socket,并绑定到一个端口上,不同的端口对应...原创 2019-12-31 20:13:52 · 2378 阅读 · 0 评论 -
Android网络编程(十二) 之 Retrofit2原理分析
1 使用回顾我们在前面博文《Android网络编程(十一) 之 Retrofit2框架的使用》中已经对Retrofit的使用进行过介绍。今天我们接着往下来阅读Retrofit的关键源码从而它进行更加深入的理解。开始前,先来回顾一下简单的使用,通过使用步骤来深入分析每行代码背后的原理,代码如: // 0 创建一个网络请求的接口 public interface AppInfo...原创 2019-12-27 11:23:38 · 495 阅读 · 0 评论 -
Android网络编程(十一) 之 Retrofit2框架的使用
1 简介Retrofit是Square公司开发的Android里对HTTP网络请求的框架,官网是https://square.github.io/retrofit/。其底层是基于OkHttp实现的,也就是说Retrofit就对OkHttp的进一步封装。Retrofit最大的特点就是简洁易用,它使用了大量的运行时注解的方式来提供功能。2快速上手假设有一服务器接口:https://api...原创 2019-12-03 15:15:44 · 654 阅读 · 0 评论 -
Android网络编程(十) 之 OkHttp3原理分析
1 使用回顾我们在前面博文《Android网络编程(九) 之 OkHttp3框架的使用》中已经对OkHttp的使用进行过介绍。今天我们接着往下来阅读OkHttp的关键源码从而它进行更加深入的理解。开始前,先来回顾一下简单的使用,通过使用步骤来深入分析每行代码背后的原理,代码如:private void test() { // 1 创建 OkHttpClient 对象,并可...原创 2019-11-19 10:54:30 · 1172 阅读 · 0 评论 -
Android网络编程(九) 之 OkHttp3框架的使用
1 简介OkHttp是一个用于Android网络请求的第三方开源的轻量级框架。该框架由移动支付Square公司贡献,其优势有支持HTTP/2,允许连接到同一个主机地址的所有请求共享一个Socket连接;若HTTP/2不可用情况下,还可通过连接池的设计减少请求延迟;自动处理GZip压缩节省响应数据大小;支持缓存响应请求数据避免重复请求等。其实我们在上一篇文章《Android网络编程(八) 之...原创 2019-11-07 20:33:32 · 974 阅读 · 0 评论 -
Android网络编程(八) 之 HttpURLConnection原理分析
1 使用回顾我们在前面博文《Android网络编程(四) 之 HttpClient与HttpURLConnection》中已经对HttpURLConnection的使用进行过介绍。今天我们接着往下来阅读HttpURLConnection的关键源码从而它进行更加深入的理解。开始前,先来回顾一下简单的使用,通过使用步骤来深入分析每行代码背后的原理,代码如:InputStream inStre...原创 2019-11-01 19:10:26 · 1419 阅读 · 0 评论 -
Android网络编程(七) 之 Volley原理分析
1 前言Volley是Goole在2013年Google I/O大会上推出的开源网络通信框架。Volley 的特点是使用简单而且适合数据量小,通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,它的表现就会非常糟糕,因为Volley在解析期间将所有响应保存在内存中。Volley带给我们开发者的是便利,它把Http所有通信细节、线程处理全部封装在内部,我们只需要简单调用就可以完成通信...原创 2019-07-17 17:11:38 · 2641 阅读 · 0 评论 -
Android网络编程(六) 之 Volley实战,上传文件到腾讯云
我们在上一博文《Android网络编程(五) 之 Volley框架的使用》中简单介绍了利用Volley进行网络请求的GET和POST的基本使用。今天我们进一步探讨怎样使用Volley来进行文件的上传。1 表单结构文件上传其实就是进行表单的提交,只不过表单提交中有某个字段是该文件的二进制值。我们就拿腾讯云上传API接入来讲解Volley上传的使用步聚,开始前我们来看看表单提交的数据格式是怎么...原创 2019-07-17 17:10:51 · 1766 阅读 · 0 评论 -
Android网络编程(五) 之 Volley框架的使用
1 简介我们平时开发Android程试中少不了网络请求,而Android本身也提供了HttpURLConnection和HttpClient来进行网络请求通信。可是HttpURLConnection和HttpClient使用起来难免会有些复杂。在2013年Google I/O大会上推出了Volley网络通信框架。Volley的特点是使用简单而且适合数据量不大,通信频繁并发量大的网络请求操作。...原创 2019-07-17 17:09:20 · 1734 阅读 · 0 评论 -
Android网络编程(四) 之 HttpClient与HttpURLConnection
Android本身提供了Apache 的 HttpClient 和 Java 的HttpURLConnection来进行网络请求通信。它们都支持以流的方式进行网络通信,并且都支持https。1 HttpClientHttpClient的优势在于处理一些可能需要用户登录而且具有相应的权限才可访问该页面。例如需要涉及Session、Cookie的处理时,就要使用HttpClient。它的实现类...原创 2019-07-17 17:07:34 · 501 阅读 · 0 评论 -
Android网络编程(三) 之 网络请求握手过程
1 一次网络请求的过程我们平常在浏览器输入一个网址回车后经过了大概不到一秒时间的网络请求便可展示出相应的页面,其实这样一次完整的网络请求过程要经过好几个步骤:第一步:DNS解析IP地址;第二步:TCP三次握手建立连接;第三步:如果是HTTPS的话,还要进行TLS握手验证签名证书;第四步:客户端发起HTTP请求第五步:服务器响应HTTP请求第六步:客户端浏览器接收到内容进...原创 2019-07-17 16:58:51 · 920 阅读 · 0 评论 -
Android网络编程(二) 之 HTTP协议原理
1 简介要了解HTTP协议原理,就要说到HTTP报文。HTTP 报文是面向文本的,报文中的每一个字段都是一些ASCII 码串,各个字段的长度是不确定的。HTTP 有两类报文:请求报文和响应报文。了解HTTP报文前,可以先通过抓包工具进行查看请求网络的请求报文和响应报文。抓包工具推荐使用Fiddle或者Charle。例如现在我们在浏览器访问了http://msdn.itellyou.cn/后,然...原创 2019-07-17 16:57:08 · 438 阅读 · 0 评论 -
Android网络编程(一) 之 网络分层及协议简介
1 概述OSI/RM在1978年国际标准化组织(ISO)提出了“开放系统互连参考模型”,即著名的OSI/RM 模型(Open System Interconnection/Reference Model)。此后,不同厂家生产的计算机便能相互通信,建立起了计算机网络。OSI/RM将计算机网络体系结构的通信协议划分为七层,自下而上依次为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用...原创 2019-07-17 16:54:30 · 966 阅读 · 0 评论