从0开始封装一套项目的网络请求框架

本文介绍了如何在Android项目中封装网络请求框架,使用Retrofit和RxJava,详细步骤包括创建响应模板类、自定义RxJava操作符、编写请求接口等。通过封装,可以更方便地管理和处理网络请求,提高代码复用性。
摘要由CSDN通过智能技术生成

前言

Android进行网络请求,一般是通过Retrofit配合RxJava来实现。需要注意的是,在项目中,是不可能直接在每一个请求的地方直接裸着用框架,而是一定在自己的项目中对框架封装了一层,实际使用的是封装的这一层。
本篇文章就来介绍一种封装方案,在项目中可以使用。此方案肯定有不足的地方,还请批评指正。

用到的知识

Kotlin、Retrofit,RxJava,OkHttp

步骤介绍

1.api介绍

在这里使用鸿洋大神的开放api,链接点这里。只使用登录api即可,其他的api都是一样的方式。

url:https://www.wanandroid.com/user/login
方法:POST
参数:username,password

这里推荐一款很好用的接口测试工具Apipost,我这边测试一下登录的接口
在这里插入图片描述
它返回的response由三部分组成,分别是data,errorCode,errorMsg。我把结果粘贴过来

{
   
	"data": {
   
		"admin": false,
		"chapterTops": [],
		"coinCount": 10,
		"collectIds": [],
		"email": "",
		"icon": "",
		"id": 130077,
		"nickname": "LJH111",
		"password": "",
		"publicName": "LJH111",
		"token": "",
		"type": 0,
		"username": "LJH111"
	},
	"errorCode": 0,
	"errorMsg": ""
}
2.创建项目

创建一个kotlin项目,完成必要的准备
①依赖导入
在app模块的gradle文件中导入retrofit和rxjava的依赖
在这里插入图片描述

//导入retrofit
implementation 'com.squareup.retrofit2:retrofit:2.3.0'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'//ConverterFactory的Gson依赖包
implementation 'com.squareup.retrofit2:converter-scalars:2.3.0'//ConverterFactory的String依赖包
implementation("com.squareup.okhttp3:okhttp:4.9.1")
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'

//导入rxjava
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile "io.reactivex.rxjava2:rxjava:2.0.8"

②开启网络权限
(1)首先新建一个xml文件,如图
在这里插入图片描述
内容是

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值