Android Retrofit 封装模版

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 一、加上网络访问的权限
  • 二、引入依赖
  • 三、由API生成JavaBean
  • 四、封装Retrofit
  • 五、调用


  • 一、加上网络访问的权限  
    <uses-permission android:name="android.permission.INTERNET" />
  • 二、引入依赖
        implementation("com.google.code.gson:gson:2.8.9")implementation("com.squareup.retrofit2:retrofit:2.9.0")implementation("com.squareup.retrofit2:converter-gson:2.9.0")
  • 三、由API生成JavaBean
    1,安装JSON To Kotlin Class插件:file->Settings->plugins->JSON To Kotlin Class
    2,新建存放JavaBean的文件夹:entity/banner   为每个API创建一个文件夹,避免混乱
    3,获取JSON String:对于GET方式请求的API,直接复制API地址到浏览器即可。
                      对于POST方式请求的API,新建一个a.txt文件,写入:
    <form action="https://www.wanandroid.com/user/login" method="post"><input name="username" value="username"><input name="password" value="password"><input type="submit">
    </form>
    

    保存后修改后缀为a.html,用浏览器打开即可。
    4,在JavaBean的文件夹右击new->kotlin data class File from Json,复制粘贴JSON String,Class Name设置:BannerData,生成后把Data重命名,右击->refactor->rename为Banner。

  • 四、封装Retrofit
    object RetrofitUtil {private val retrofit = Retrofit.Builder().baseUrl("https://www.wanandroid.com/").addConverterFactory(GsonConverterFactory.create()).build()interface WanAndroidApi{@GET("banner/json")fun getBannerData():Call<BannerData>}val wanAndroidApi: WanAndroidApi = retrofit.create(WanAndroidApi::class.java)
    }
  • 五、调用
     

    RetrofitUtil.wanAndroidApi.getBannerData().enqueue(object : Callback<BannerData> {override fun onResponse(call: Call<BannerData>, response: Response<BannerData>){    }override fun onFailure(call: Call<BannerData>, t: Throwable) {}})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/14680.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式事务——9种解决方案的原理与分类

目录 一、概要1. 分布式事务的概念2. 分布式事务解决方案分类 二、常见的分布式事务解决方案1. 基础的 2PC&#xff08;二阶段提交&#xff09;1.1 核心思想1.2 简介1.3 主要特点1.3.1 优点1.3.2 缺点 2. 基础的 3PC&#xff08;三阶段提交&#xff09;2.1 核心思想2.2 简介2.3…

C语言/数据结构——每日一题(有效的括号)

一.前言 如果想要使用C语言来解决这道题——有效的括号&#xff1a;https://leetcode.cn/problems/valid-parentheses/description/我们必须要借用上一篇我们所讲的内容——栈的实现&#xff1a;https://blog.csdn.net/yiqingaa/article/details/138923750?spm1001.2014.3001.…

go routing 之 gorilla/mux

1. 背景 继续学习 go 2. 关于 routing 的学习 上一篇 go 用的库是&#xff1a;net/http &#xff0c;这次我们使用官方的库 github.com/gorilla/mux 来实现 routing。 3. demo示例 package mainimport ("fmt""net/http""github.com/gorilla/mux&…

react实现把pc网站快捷添加到桌面快捷方式

文章目录 1. 需求2. 实现效果3. 核心逻辑4. 完整react代码 1. 需求 这种需求其实在国外一些游戏网站和推广网站中经常会用到&#xff0c;目的是为了让客户 快捷方便的保存网站到桌面 &#xff0c;网站主动尽量避免下次找不到网站地址了&#xff0c;当然精确的客户自己也可以使…

Python 字符串中运算符号可运行

使用eval() re {\n "path": "/sms/sendMsg",\n "data": {\n "mobile": "12345678901",\n "signCode": "短信签名",\n "templateCode": "SMS_yyyy…

Oracle递归查询笔记

目录 一、创建表结构和插入数据 二、查询所有子节点 三、查询所有父节点 四、查询指定节点的根节点 五、查询指定节点的递归路径 六、递归子类 七、递归父类 一、创建表结构和插入数据 CREATE TABLE "REGION" ( "ID" VARCHAR2(36) DEFAULT SYS_GUI…

解析Oracle文件头内容

保存在Oracle数据文件头中的信息很丰富&#xff0c;通常只要查询DATAFILE_HEADER视图就可以获得数据文件头中的信息。但其在数据文件头中的具体位置&#xff0c;Oracle一直未公开过。所幸的是DBA们对数据文件头的研究孜孜不倦&#xff0c;其研究成果在网上也是随处可见。虽然这…

[前端|vue] 验证器validator使用笔记 (笔记)

文档 validator.js文档地址 规则编写示例 element-plus 使用示例 const captchaLoginRules {phoneNumber: [{ required: true, message: 手机号不能为空, trigger: blur },{validator: (_rule: any, value: string, _callback: any): boolean > {return isMobilePhone(…

vue-quill-editor 富文本编辑器使用出现的样式问题

使用富文本类型&#xff1a; vue-quill-editor 注意&#xff1a; 富文本导出 html 我们使用的时候&#xff0c; 样式凸显不出来 DOM 结构 <p><sub class"ql-size-large">测试内容</sub><sup class"ql-size-large">222222</su…

6步:用NGINX部署ASP.NET Core,轻松上云

1. 准备工作在开始部署之前&#xff0c;确保你已经完成了以下准备工作&#xff1a;- 安装.NET Core&#xff1a;确保你的Linux系统上安装了.NET Core运行时。你可以从.NET官网下载。- 安装NGINX&#xff1a;通过你的Linux发行版的包管理器安装NGINX。例如&#xff0c;在Ubuntu上…

GPT提示词技巧,使用教程,国内版官网直达,非套壳

GPT提示词技巧&#xff0c;使用教程&#xff0c;国内版官网直达&#xff0c;非套壳 主站点&#xff1a;https://chatgpt-plus.top&#xff08;江苏福建地区打不开&#xff0c;需要魔法&#xff09; 店铺地址&#xff1a;https://buy.chatgpt-plus.top/ 选择plus账号进入&…

鸿蒙开发ArkUI-X基础知识:【ArkUI代码工程及构建介绍】

代码工程及构建介绍 背景 ArkUI作为OpenHarmony的默认开发框架&#xff0c;在本项目&#xff08;ArkUI-X&#xff09;中需要做到一套代码同时支持多平台构建&#xff0c;所以会采取共仓开发的方式&#xff0c;部分仓直接指向OpenHarmony相关开源仓。 代码结构及仓库结构 代…

多模态模型(MLLM)论文串烧

近期看了一些多模态方向的工作&#xff0c;包括图像、文本多模态&#xff0c;图像、视频、语音、文本多模态&#xff0c;做个总结。 Yi Qwen-VL LLaVA MobileVLM LanguageBind Video-LLaVA VAST

【机器学习300问】94、什么是多任务学习?

一、多任务学习的定义 多任务学习&#xff08;Multi-Task Learning, MTL&#xff09;是一种机器学习范式&#xff0c;它允许一个模型同时学习执行多个相关但不完全相同的任务。这种方法的核心是&#xff1a;通过共享表示或权重&#xff0c;不同的任务可以在学习过程中相互促进&…

浅谈微服务的自动化部署

一、常用部署工具 jenkins,docker生态是比较常用的工具&#xff0c;本文也主要是聊这几个。其他如Kubernetes (K8s)&#xff0c;Ansible&#xff0c;GitLab CI/CD等工具本文只是暂时提一下&#xff0c;不展开讨论。 二、比较jenkins和docker生态 1、jenkins 优点 jenkins功…

Rust使用rust_xlsxwriter库把Vec数据写入Excel

一、Rust使用rust_xlsxwriter库把一维Vec数据写入Excel 在Rust中&#xff0c;使用rust_xlsxwriter库将一维Vec数据写入Excel文件是一个相对简单的过程。首先&#xff0c;你需要确保你的Cargo.toml文件中已经添加了rust_xlsxwriter依赖。以下是如何添加依赖的示例&#xff1a; …

KMP题解代码(含讲解)

目录 注意: next数组的变化规律&#xff1a; 初始化&#xff1a; 求next数组部分&#xff1a; KMP部分&#xff1a; AC代码&#xff1a; 题目链接&#xff1a;【模板】KMP - 洛谷 注意: 1、next数组是针对子串的&#xff0c;并未涉及母串&#xff0c;因此求next数组时…

Python中文件操作和异常处理

文章目录 一、文件操作1.概念2.文件3.二进制 二、基本文件操作三、乱码产生四、with open() as f五、代码实现文件复制粘贴六、try ... except ...七、代码比较 一、文件操作 1.概念 帮助我们把爬虫抓下来的数据&#xff0c;进行保存。 2.文件 在计算机中&#xff0c;没有p…

Linux:linux基础

Linux 一套免费使用和自由传播的操作系统 linux特点 免费,开源,多用户(同时允许多用户操作同一个Linux系统),多任务(同时允许多个任务执行) linux版本 分为内核版和发行版 内核版 由linus torvalds及其团队进行开发和维护 免费,开源 负责控制硬件 发行版 基于linux内…

Luat学习

万物互联的兴起 人与人之间的连接已经变得越来越紧密&#xff0c;至少在中国这是一个不争的事实。 人们的忙碌程度也达到了前所未有的水平&#xff0c;这时候人的通讯能力反而成为了瓶颈&#xff0c;人与外界的信息交换方式无外乎是嘴说、耳朵听、眼睛看、手指敲、每秒的传输速…