当前位置: 首页 > news >正文

Kotlin Retrofit 网络请求

一、添加依赖:

    //Retrofit 网络请求implementation("com.squareup.retrofit2:retrofit:2.3.0")implementation("com.squareup.retrofit2:converter-gson:2.3.0")//json转换

二、创建单例类:

package com.example.buju.httpimport okhttp3.OkHttpClient
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import java.util.concurrent.TimeUnit/*** retrofit网络请求* */
object HiRetrofit {val client = OkHttpClient.Builder()// builder构造者设计模式.connectTimeout(10, TimeUnit.SECONDS)//连接超时时间.readTimeout(10, TimeUnit.SECONDS)// 读取超时.writeTimeout(10, TimeUnit.SECONDS)// 写超时.addInterceptor(LoggingInterceptor())// 自定义拦截器.build()private var retrofit:Retrofit = Retrofit.Builder() // Builder构造者设计模式.client(client)// 借助okhttp3创建的client.baseUrl("baseUrl")// 网络请求前面的公共地址.addConverterFactory(GsonConverterFactory.create())// 数据转换适配器.build()fun <T> create(clazz: Class<T>):T{return retrofit.create(clazz)}}

 三、创建网络请求Api:

package com.example.buju.httpimport retrofit2.Call
import retrofit2.http.GET
import retrofit2.http.Query/*** retrofit网络请求定义Api* */
interface ApiService {// 根据用户id查询信息@GET(value = "user/query")fun queryUser(@Query(value="userId",encoded = true) userId:String):Call<HashMap<String,String>>}

使用:

   val apiService:ApiService = HiRetrofit.create(ApiService::class.java)apiService.queryUser("0001").enqueue(object:Callback<HashMap<String,String>>{override fun onResponse(call: Call<HashMap<String, String>>,response: Response<HashMap<String, String>>) {Log.e("Retrofit",response.body()?.toString() ?:"不知道原因")}override fun onFailure(call: Call<HashMap<String, String>>, t: Throwable) {Log.e("Retrofit",t.message?:"不知道原因")}})

相关文章:

Kotlin Retrofit 网络请求

一、添加依赖&#xff1a; //Retrofit 网络请求implementation("com.squareup.retrofit2:retrofit:2.3.0")implementation("com.squareup.retrofit2:converter-gson:2.3.0")//json转换 二、创建单例类&#xff1a; package com.example.buju.httpimport …...

pyside6 pytq PyDracula QVideoWidget视频只有声音没有画面

解决方案&#xff1a; 先不使用框架&#xff0c;纯pyside6代码&#xff0c;如果添加视频有画面有声音&#xff0c;那可以排除是硬件问题&#xff0c;如果没有画面只有声音&#xff0c;可能是视频解码器无法解码&#xff0c;换个格式的视频文件如果只有使用PyDracula 出问题&am…...

Python爬网页,不确定网页的编码,不需要用第三方库

Python爬网页&#xff0c;不确定网页的编码&#xff0c;不需要用第三方库&#xff0c;自己写个判断&#xff0c;乱拳打死老师傅 detect试了&#xff0c;不好用 apparent_encoding试了&#xff0c;不好用 encoding试了&#xff0c;不好用 headers里get试了&#xff0c;不好用…...

Web测试的基础流程(外加测试过程需要的注意5点)

前言 在Web工程过程中&#xff0c;基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同&#xff0c;它不但需要检查和验证是否按照设计的要求运行&#xff0c;而且还要测试系统在不同用户的浏览器端的显示是否合适。 重要的是…...

项目解决方案:视频监控接入和录像系统设计方案(下)

目 录 1.概述 2. 建设目标及需求 2.1建设总目标 2.2 需求描述 ​2.3 需求分析 3.设计依据与设计原则 3.1设计依据 3.2 设计原则 4.建设方案设计 4.1系统方案设计 4.2组网说明 5.产品介绍 5.1视频监控综合资源管理平台介绍 5.2视频录像服务器和存储 5.2.…...

Python爬虫-使用Prefect框架实现一个可视化爬虫项目

前言 本文是该专栏的第19篇,后面会持续分享python爬虫干货知识,记得关注。 相信有的同学,在处理爬虫项目的时候,有时也会需要你将爬虫项目进行一个可视化展示,方便管理者能及时详细的了解当前爬虫任务的执行进度以及执行情况,甚至需要做一个爬虫监控预警的可视化任务。 …...

[hive面试真题]-基础理论篇

hive的工作流程 hive中分区表,分桶表 工作中hive分区表的应用示例 发现hive分区中的数据不对怎么处理 hive出现code 1 2 3 什么原因 ,怎么处理 工作中hive常见的文件格式 .压缩格式 工作时常用的hive函数 谈谈对窗口函数的理解 hive中如果出现数据倾斜 ,怎么发现 ,怎么…...

【其他】sd卡的照片在相机上能看到在电脑上却看不到

sd卡的照片在相机上能看到在电脑上却看不到 前情提要&#xff1a;太长不看版解决办法&#xff1a;思路&#xff1a;一、首先考虑恢复数据二、 解决文件后缀是exe的问题 前情提要&#xff1a; 在相机里可以看到照片和视频&#xff0c;但是SD卡通过读卡器插入电脑看不到&#x…...

Linux 之六:系统性能监控和挂载

系统性能 Linux系统中&#xff0c;有许多命令用于监测和分析性能指标。以下是一些常用的Linux性能分析命令&#xff1a; top&#xff1a;实时查看并监控CPU、内存以及各个进程的资源占用情况。htop&#xff08;需要安装&#xff09;&#xff1a;一个增强版的 top 命令&#x…...

【Web】浅聊Java反序列化之C3P0——JNDI注入利用

目录 简介 原理分析 EXP 前文&#xff1a;【Web】浅聊Java反序列化之C3P0——URLClassLoader利用 【Web】浅聊Java反序列化之C3P0——不出网Hex字节码加载利用 简介 出网的情况下&#xff0c;这个C3P0的Gadget可以和fastjson&#xff0c;Snake YAML , JYAML,Yamlbeans , …...

Java项目:基于Springboot+vue实现的付费自习室系统设计与实现(源码+数据库+毕业论文)附含微信小程序端代码

一、项目简介 本项目是一套基于Springbootvue实现的付费自习室系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操作简单、…...

C++写食堂菜品管理系统

说明:本博文来自CSDN-问答板块,题主提问。 需要:学校拟开发一套食堂菜品管理系统,以便对菜品和同学们的评价进行管理,其中包含如下信息: 商户:商户名称、柜面位置、电话…… 菜品:菜品编号、菜品名称、价格、所属商户…… 学生:注册账号、昵称、电话…… 食堂里的商户…...

vue 在线预览word

1 mammoth 先找的是mammoth这个插件yarn add mammoth,版本是1,7.0 参考网上的示例使用如下&#xff1a; import mammoth from "mammoth"; const vHtml ref("") const readExcelFromRemoteFile (url) >{var xhr new XMLHttpRequest();xhr.open("…...

七彩虹八渐变 外贸建站公司wordpress模板

进出口水果wordpress外贸模板 漂亮水果wordpress外贸模板&#xff0c;做水果进出品生意的外贸公司自建站官网模板。 https://www.jianzhanpress.com/?p3516 玩具wordpress外贸模板 简洁玩具wordpress外贸模板&#xff0c;适合做跨境电商外贸公司使用的wordpres外贸s网站主题…...

[C++] C++生成随机数

一、简介 在C语言中常使用srand()random()的方式生成随机数&#xff0c;该方式并不是一个很好的随据说生成方法&#xff0c;一方面是因为其生成的随机数质量较低&#xff0c;另一方面其随机数范围也有所限制。在C11中推荐使用随机数引擎的方式生成随机数。 如何高效得生成高质…...

web开发——前端html、css、JavaScript学习总结(持续更新中.......)

目录模版 1 html:结构标签/属性文本标记: mark文本设置:删除线del / 下划线ins/ 加粗b / 强调的文本em / 重要的文本 strong超链接: a联系信息: addressdiv 定义文档中的分区或节: div行元素:spanhtml结构: main / section / articlenav表格:table html中各种标签/属性的英文扩…...

LeetCode 2044.统计按位或能得到最大值的子集数目

给你一个整数数组 nums &#xff0c;请你找出 nums 子集 按位或 可能得到的 最大值 &#xff0c;并返回按位或能得到最大值的 不同非空子集的数目 。 如果数组 a 可以由数组 b 删除一些元素&#xff08;或不删除&#xff09;得到&#xff0c;则认为数组 a 是数组 b 的一个 子集…...

Selenium自动化测试细节讲解

与以前瀑布式开发模式不同&#xff0c;现在软件测试人员具有使用自动化工具执行测试用例套件的优势&#xff0c;而以前&#xff0c;测试人员习惯于通过测试脚本执行来完成测试。 但自动化测试的目的不是完全摆脱手动测试&#xff0c;而是最大程度地减少手动运行的测试。自动化…...

强化学习工具箱(Matlab)

1、Get Started 1.1、MDP环境下训练强化学习智能体 MDP环境如下图 每个圆圈代表一个状态每个状态都有上或下的选择智能体从状态 1 开始智能体接收的奖励值为图中状态转移的值训练目标是最大化累计奖励 &#xff08;1&#xff09;创建 MDP 环境 创建一个具有 8 个状态和 2 …...

程序人生 - 爬虫者,教育也!

作为一个站长&#xff0c;你是不是对爬虫不胜其烦&#xff1f;爬虫天天来爬&#xff0c;速度又快&#xff0c;频率又高&#xff0c;服务器的大量资源被白白浪费。 看这篇文章的你有福了&#xff0c;我们今天一起来报复一下爬虫&#xff0c;直接把爬虫的服务器给干死机。 本文有…...

快速掌握AI专著撰写技巧,热门工具大揭秘助你轻松完成专著!

学术专著写作困境与AI工具的兴起 对于许多学者来说&#xff0c;写作学术专著时常面临的最大难题&#xff0c;就是“有限的精力”与“无穷的需求”之间的冲突。撰写专著通常需要3到5年&#xff0c;甚至更长的时间&#xff0c;而研究人员日常还要兼顾教学、科研项目和学术交流等…...

3步掌握网络资源嗅探:从视频号到直播流的全方位下载方案

3步掌握网络资源嗅探&#xff1a;从视频号到直播流的全方位下载方案 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 还在为无…...

什么是静态测试?

静态测试是软件测试中的一种重要方法&#xff0c;它不实际运行被测试的软件系统&#xff0c;而是通过对软件的需求文档、设计文档、代码等进行分析、检查和评审&#xff0c;来发现软件中潜在的缺陷和问题。以下从多个方面详细介绍静态测试&#xff1a;1. 静态测试的对象文档&am…...

如何在不影响员工效率的前提下,彻底杜绝Web威胁?

在数字化转型的浪潮中&#xff0c;浏览器早已从一个简单的网页浏览工具&#xff0c;演变为企业业务运转的核心枢纽。无论是访问云应用、处理内部系统&#xff0c;还是与客户协作&#xff0c;几乎每项工作都离不开它。然而&#xff0c;正是这种无处不在的依赖&#xff0c;让浏览…...

drawio-desktop终极指南:免费跨平台打开和编辑Visio VSDX文件

drawio-desktop终极指南&#xff1a;免费跨平台打开和编辑Visio VSDX文件 【免费下载链接】drawio-desktop Official electron build of draw.io 项目地址: https://gitcode.com/GitHub_Trending/dr/drawio-desktop 还在为不同操作系统间的Visio文件兼容性问题而烦恼吗&…...

SVG路径转换终极指南:svgpath让复杂图形操作变得简单

SVG路径转换终极指南&#xff1a;svgpath让复杂图形操作变得简单 【免费下载链接】svgpath SVG path low level transformations toolkit 项目地址: https://gitcode.com/gh_mirrors/sv/svgpath 你是否曾为SVG路径的复杂变换而头疼&#xff1f;svgpath是一个专门处理SVG…...

Python爬虫进阶:多线程优化小说爬虫,速度直接提升10倍(实战完整版)

多线程优化小说爬虫&#xff0c;速度直接提升10倍&#xff08;实战完整版&#xff09; 在上一篇博文中&#xff0c;我们实现了一款基础的Python小说爬虫&#xff0c;能够批量爬取小说章节、自动优化排版&#xff08;还原段落换行、空行格式&#xff09;&#xff0c;并自动创建…...

网易云音乐永久直链解析API完整指南:高效获取稳定音乐链接

网易云音乐永久直链解析API完整指南&#xff1a;高效获取稳定音乐链接 【免费下载链接】netease-cloud-music-api 网易云音乐直链解析 API 项目地址: https://gitcode.com/gh_mirrors/ne/netease-cloud-music-api 还在为网易云音乐分享链接频繁失效而烦恼吗&#xff1f;…...

告别审稿追踪焦虑:Elsevier Tracker如何帮我每月节省6小时学术管理时间

告别审稿追踪焦虑&#xff1a;Elsevier Tracker如何帮我每月节省6小时学术管理时间 【免费下载链接】Elsevier-Tracker 项目地址: https://gitcode.com/gh_mirrors/el/Elsevier-Tracker 作为一名活跃在科研一线的学者&#xff0c;我深知学术投稿过程中那种持续的不确定…...

沈阳城市路灯工厂哪家强

大家好&#xff0c;我是你们的老朋友小明。今天咱们聊聊沈阳的路灯工厂&#xff0c;看看哪家更靠谱。说到这事儿&#xff0c;我可是做了不少功课&#xff0c;也走访了好几家工厂&#xff0c;希望我的分享能帮到正在为选路灯头疼的你。一、沈阳路灯市场现状1. 市场竞争激烈在沈阳…...