网络请求|青训营笔记

105 阅读2分钟

青训营笔记

这是我参与「第四届青训营 」笔记创作活动的第19天

网络请求框架:常见有

1. HttpURLconnection

2. volley

3. OKHttp

4. Retrofit

Retrofit是目前安卓平台上最热门的网络请求封装框架,是对OKHttp的一个封装

使用:

1. 引入Retrofit库

2. 创建用于描述网络请求的接口

3. 使用Retrofit实例发起网络请求

接口的一般表现形式为域名:路径,如

bytedance.com/user/name

其形式和网页中的网址相似,user中为客户端向服务端查询的内容,name为服务端向客户端返回的查询内容,是一个GET请求,返回的是一个message。call.enqueue是一个异步请求

注解类型:

1. 网络请求方法

@GET @POST @PUT @DELETE @PATH @HEAD @OPTIONS @HTTP

2. 标记类

@FormUrlEncoded @Multipart @Streaming

3. 网络请求参数

@Header @Headers @URL @Body @Path @Field @FieldMap @Part @PartMap @Query @QueryMap

注解介绍: 可以理解为一个标签,加在类、方法、参数、成员变量上,并且在合适的时机读取注解内容,进行处理

注解处理的生命周期:

1. SOURCE:只在源码中有效,编译时抛弃

2. CLASS:编译class文件时有效,一般会使用到注解处理器

3. RUNTIME:在运行期间,获取对应的注解,并做相关处理

数据存储的几种方法:

1. SharedPreference 记录APP配置信息

2. 文件存储 网络下载,TXT文件存储等

3. ContentProvider 音视频,图片的读写等

4. SQLite存储数据 保存FEED流数据,并进行增删改查

1. 数据库的三个主要组件:

1. 数据库类(Database),用于保存数据库并作为应用持久性数据底层连接的主要访问点。

2. 数据实体(Entity),用于表示应用的数据库中的表

3. 数据访问对象(DAO),提供您的应用可用于查询、更新、插入和删除数据库中的数据的方法。

问题及解决方案:

1.信息流的数据,要能无限刷新

使用网络请求,实时从服务端获取数据; 可以按需选择合适的网络框架,也可以自己做个二次封装

2.每次冷启,要能快速的展现信息流内容

使用数据库存储,将数据保存在本地, 冷启时直接从数据库读取,直接进行数据解析和展示