Android网络通信 | 青训营笔记

115 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第3天,本次笔记主要总结安卓开发网络通信基础知识。

网络通信

通过网络请求,实现App内容的获取。

Retrofit介绍

Retrofit是目前Android平台上最热门的网络请求封装框架,是对OkHttp的一个封装。OkHttp也是一个网络请求框架,由square公司开发,特点:①可以设置拦截器,支持大文件上传和下载;②基于NIO和Okio,性能更好。③一般需要二次封装使用。

Retrofit快速使用

1.Retrofit库的引入
在需要用到Retrofit接口的module中,新增依赖。
image.png 2.创建用于描述网络请求的接口
定义说明:
接口类名:可自定义,尽量和这类请求的含义相关。
函数名:可自定义,需要能识别出该接口的作用,该interface里可以增加多个不同的函数。
@GET注解:用于指定该接口的相对路径,并采用Get方法发起请求。
image.png 3.使用Retrofit实例发起网络请求
image.png

字节跳动的网络库--TTNet

TTNet是字节内部大部分App都在使用的网络请求框架,有以下优点:
①基于Retrofit改造,具备了Retrofit所具有的优点。
②支持多个Http网络库的动态切换(okhttp和cronet)
③支持网络拦截配置:添加公共参数,动态切换协议及Host,动态选路等。
④支持流解析,json序列化。

注解

@Target:指定作用的对象,这里是METHOD,说明这个注解是作用在方法上。PARAMETER:参数;FIELD:类成员。
@Retention:指定注解的生命周期,这里是RUNTIME,说明要这个注解一直保留到运行时。

数据存储

数据库Room简介

主要的3个组件:
1.数据库类(Database),用于保存数据库并作为应用持久性数据底层连接的主要访问点。
2.数据实体(Entity),用于表示应用的数据库中的表。