做网站尽在美橙互联诸城人才网招聘网

pingmian/2026/1/26 12:43:13/文章来源:
做网站尽在美橙互联,诸城人才网招聘网,WordPress程序主题转为app,建设局招聘条件一、 Retrofit是什么 Retrofit是Android用来接口请求的网络框架#xff0c;内部是基于OkHttp实现的#xff0c;retrofit负责接口请求的封装#xff0c;retrofit可以直接将接口数据解析为Bean类、List集合等#xff0c;直接简化了中间繁琐的数据解析过程 二、 Retrofit的简单…一、 Retrofit是什么 Retrofit是Android用来接口请求的网络框架内部是基于OkHttp实现的retrofit负责接口请求的封装retrofit可以直接将接口数据解析为Bean类、List集合等直接简化了中间繁琐的数据解析过程 二、 Retrofit的简单使用 Retrofit在github的地址 https://github.com/square/retrofitRetrofit官方使用介绍 https://square.github.io/retrofit/ 2.1 在项目中引入retrofit implementation com.squareup.retrofit2:retrofit:2.9.0implementation com.squareup.retrofit2:converter-gson:2.9.0//解析json字符所用2.2 清单文件AndroidManifest.xml中添加网络权限 uses-permission android:nameandroid.permission.INTERNET/Google在Android p为了安全起见,已经明确规定禁止http协议额接口都是https请忽略如果接口有http请在清单文件AndroidManifest.xml中application先添加networkSecurityConfig配置 applicationandroid:name.Appandroid:allowBackuptrueandroid:iconmipmap/ic_launcherandroid:labelstring/app_nameandroid:networkSecurityConfigxml/network_security_configandroid:requestLegacyExternalStoragetrueandroid:supportsRtltrueandroid:themestyle/AppThemetools:ignoreUnusedAttributeres文件夹下新建xml文件夹xml文件夹中新建network_security_config文件文件内容如下 ?xml version1.0 encodingutf-8? network-security-configbase-config cleartextTrafficPermittedtrue / /network-security-config2.3 创建Retrofit Retrofit retrofit new Retrofit.Builder().baseUrl(https://api.github.com/).addConverterFactory(GsonConverterFactory.create())//设置数据解析器.build();2.4 创建RetrofitApi //定义 网络API 地址 public interface RetrofitApi{GET(users/{user}/repos)CallListUser getData(Path(user) String user); }2.5 请求接口 //获取API GitHubService service retrofit.create(RetrofitApi.class);CallListUser call service.getData(user);2.6 发送请求数据 //异步call.enqueue(new CallbackListUser() {Overridepublic void onResponse(CallListUser call, ResponseListUser response) {//处理请求数据}Overridepublic void onFailure(CallListUser call, Throwable throwable) {}});//同步try {ResponseListUser execute call.execute();execute.body().toString();} catch (IOException e) {e.printStackTrace();}三、Retrofit注解参数类型 3.1 网络请求方法 3.1.1 GET请求 //简单的get请求(没有参数)GET(user)CallUserInfo getItem();//简单的get请求(URL中带有参数)GET(News/{userId})CallTradesBean getItem(Path(userId) String userId);//参数在url问号之后GET(trades)CallTradesBean getItem(Query(userId) String userId);//get请求多个请求参数GET(trades)CallTradesBean getItem(QueryMap MapString, String map);GET(trades)CallTradesBean getItem(Query(userId) String userId,QueryMap MapString, String map);//get请求不使用baseUrl直接请求url地址GETCallTradesBean getItem(Url String url,QueryMap MapString, Object params);3.1.2 POST请求 http://192.168.43.173/api/trades/{userId} //需要补全URL,post的数据只有一条reasonFormUrlEncodedPOST(trades/{userId})CallTradesBean postResult(Path(userId) String userId,Field(reason) String reason;http://192.168.43.173/api/trades/{userId}?token{token} //需要补全URL,问号后需要加token,post的数据只有一条reasonFormUrlEncodedPOST(trades/{userId})CallTradesBean postResult(Path(userId) String userId,Query(token) String token,Field(reason) String reason;//post一个对象POST(trades/{userId})CallTradesBean postResult(Path(userId) String userId,Query(token) String token,Body TradesBean bean;//post请求不使用baseUrl直接请求url地址FormUrlEncodedPOSTCallTradesBean postResultl(Url String url,FieldMap MapString, Object params);3.2 标记类 3.2.1 FormUrlEncoded 作用表示发送form-encoded的数据FieldMap必须与 FormUrlEncoded 一起配合使用 3.2.2 Multipart 作用表示发送form-encoded的数据适用于 有文件 上传的场景每个键值对需要用Part来注解键名随后的对象需要提供值。 MultipartPOSTCallResponseBody uploadFiles(Url String uploadUrl,Part MultipartBody.Part file);3.2.3 Steaming 表示数据以流的形式返回大文件官方建议用 Streaming 来进行注解不然会出现IO异常小文件可以忽略不注入 /*** 大文件官方建议用 Streaming 来进行注解不然会出现IO异常小文件可以忽略不注入** param fileUrl 地址* return ResponseBody*/StreamingGETCallResponseBody downloadFile(Url String fileUrl);3.3 网络请求类 3.3.1 Header Headers 添加请求头 添加不固定的请求头 // Header GET(user) CallUser getUser(Header(Authorization) String authorization)// Headers Headers(Authorization: authorization) GET(user) CallUser getUser()// 以上的效果是一致的。 // 区别在于使用场景和使用方式 // 1. 使用场景Header用于添加不固定的请求头Headers用于添加固定的请求头 // 2. 使用方式Header作用于方法的参数Headers作用于方法 3.3.2 Body 以 Post方式 传递 自定义数据类型 给服务器Body会将请求参数放到请求体中所以适用于POST请求Body相当于多个Field,以对象的方式提交Body 提交的提交的Content-Type 为application/json; charsetUTF-8Body标签不能和FormUrlEncoded或Multipart标签同时使用会报错 3.3.3 Field FieldMap 发送 Post请求 时提交请求的表单字段FieldMap必须与 FormUrlEncoded 一起配合使用提交的Content-Type 为application/x-www-form-urlencoded 3.3.4 Part PartMap 发送 Post请求 时提交请求的表单字段 与Field的区别功能相同但携带的参数类型更加丰富包括数据流所以适用于 有文件上传 的场景与 Multipart 注解配合使用 3.3.5 Query和QueryMap 用于 GET 方法的查询参数Query Url 中 ‘?’ 后面的 key-value //参数在url问号之后GET(trades)CallTradesBean getItem(Query(userId) String userId);3.3.6 Path URL地址的缺省值 GET(users/{user}/repos)CallResponseBody getBlogPath(user) String user ;// 访问的API是https://api.github.com/users/{user}/repos// 在发起请求时 {user} 会被替换为方法的第一个参数 user被Path注解作用3.3.7 Url 直接传入一个请求的 URL变量 用于URL设置 GETCallResponseBody testUrlAndQuery(Url String url, Query(showAll) boolean showAll);// 当有URL注解时GET传入的URL就可以省略// 当GET、POST...HTTP等方法中没有设置Url时则必须使用 {link Url}提供下一篇文章总结一下RetrofitRxjava封装成网络请求库

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

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

相关文章

网站建设公司推广方式免费建立网站教程

1 窗体的大小固定住,不能调整其大小 窗体FormBorderStyle 属性设置为 FixedSingle; MaximizeBox 属性设置为false; MinimizeBox 属性设置为 false; 2. 在状态栏中无图标显示 设置为fase即可。 3. 设置窗体的启动位置 方法1, 用代码控制 this.Location …

网页布局实训心得体会搜索引擎优化关键词的处理

在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。 这需要为Activity配置特定的加载模式,而不是使用默认的加载模…

广州天河网站建设公司哪里做网站公司好

程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一份大厂面试资料《史上最全大厂面试题》,Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …

电子政务网站建设的挑战如何做企业文化方案

目录 前言安装版本Docker版本说明前提条件Linux安装使用YUM源部署获取阿里云开源镜像站YUM源文件安装Docker-ce配置Docker Daemon启动文件启动Docker服务并查看已安装版本 使用二进制文件部署 Windows安装实现原理安装步骤基本使用 参考说明 前言 本文主要说明Docker及其相关组…

建站费用明细网页设计图片透明度怎么设置

在Linux系统中,创建目录是日常操作中的基础之一。除了常规的 mkdir 命令,还有一些高级的操作技巧和命令可以提高效率。本博客将介绍一些常用的目录创建方法,以及如何结合不同命令实现更复杂的目录结构。 1. 使用 mkdir 命令 基本创建&#x…

公司门户网站制作需要多少钱网站为什么改版

基于java的SSM框架高校校园点餐订餐系统演示 摘要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识&a…

国外比较有名的设计工作室网站做网站汉狮网络

CXX-Qt 0.6 发布 CXX-Qt 是一组 Rust 包,用于创建与 Qt 的双向 Rust ⇄ C 绑定。它可用于使用 CMake 将 Rust 集成到 C 应用程序中,或使用 Cargo 构建 Rust 应用程序。 CXX-Qt 提供了用于在 Rust 中实现 QObject 子类的工具,可在 C、QML 和 J…

重庆网站建设seo公司果乐宝的网站建设

纠结蓝桥杯参加嵌入式还是单片机组? 单片机包含于嵌入式,嵌入式不只是单片机。. 你只有浅浅的的单片机基础,只能报单片机了。最近很多小伙伴找我,说想要一些单片机资料,然后我根据自己从业十年经验,熬夜搞了几个通宵…

网站建设综合实训ppt模板成都网站建设公司排名

🌈带头双向循环链表 描述:一个节点内包含两个指针,一个指向上一个节点,另一个指向下一个节点。哨兵位指向的下一个节点为头节点,哨兵位的上一个指向尾节点。 结构优势:高效率找尾节点;高效率插入…

泉州专业网站开发公司游戏行业seo整站优化

作者 | Gartner研究总监 李晶 供稿 | Gartner 随着中国企业数字化成熟度和渗透度的不断提升,基础设施和运营 (I&O) 团队和领导者所需要提供的数字基础设施的位置也在逐渐增加,从云端、数据中⼼,延伸到了⽹络边缘,并且每个位置…

网站管理系统下载网站10月份可以做哪些有意思的专题

内存表与临时表区别 临时表,一般是人手动创建。 内存表,是mysql自动创建和销毁的。 内存表,指的是使用Memory引擎的表,建表语法:create table ... engine memeory 表的数据存在内存里,系统重启后会被清…

网站建设 产品拍照做网站公司官网

API:开发者可以通过这些接口与其它程序进行交互,获取所需数据或者执行指定操作。 网络请求 API: UniApp 中内置了网络请求 API,方便调用 uni.request uni.uploadFile uni.request 接口主要用于实现网络请求。GET 和 POST 是使用最普遍的两种…

云南企业建站求个网站带图片素材

java_web_电商项目 1.登录界面2.注册界面3. 主界面4.分页界面5.商品详情界面6. 购物车界面7.确认订单界面8.个人中心界面9.收货地址界面10.用户信息界面11.用户余额充值界面12.后台首页13.后台商品增加14.后台用户增加15.用户管理16.源码分享1.登录页面的源码2.我们的主界面 1.…

天津网络建站模板宝安网站建设 名匠

Kafka作为分布式流处理平台的重要组成部分,其消息保证机制是保障数据可靠性、一致性和顺序性的核心。在本文中,将深入探讨Kafka的消息保证机制,并通过丰富的示例代码展示其在实际应用中的强大功能。 生产者端消息保证 1 At Most Once &quo…

网站开发框架具体是什么湖南优化电商服务有限公司

概述今天主要介绍一下PG一个很重要的模块--pg_stat_statements模块,对于做性能观察还是很不错的。一、pg_state_statements模块简介1、简介pg_stat_statements模块提供一种方法追踪一个服务器所执行的所有 SQL 语句的执行统计信息,可以用于统计数据库的资…

网站推广手段有哪些网页设计心得体会600

问题 在设计模式中,有一个很经典的模式-单例模式,它可能是实现上最简单的模式,在代码中也经常使用,在单线程下,毫无疑问延迟化加载是比较常用的,但是在多线程条件下,单例模式的延迟加载可能就会…

做好市场定位的方法沧州seo推广

这个方法你尝试过没首先你要确保有这个文件:复制代码代码如下:/sys/class/backlight/acpi_video0/brightnesscat出来的值就是你当前的屏幕亮度.我们修改下面的文件加入一些用户启动设置:复制代码代码如下:sudo gedit /etc/rc.local在 exit 0 的上方加入以下代码(确保exit 0没有…

网站建设288企业网站建设应注意什么

如上图&#xff0c;编辑回显正常&#xff0c;但是时间控件在拖动过程中时间不会跟随改变。 解决办法&#xff1a; <el-date-picker input"onInput()" ...><el-input input"onInput()" ...>js中onInput() {this.$forceUpdate();},

神木自适应网站开发自己弄个网站怎么赚钱

作者 | Gilson Melo译者 | 天道酬勤 责编 | 徐威龙封图| CSDN下载于视觉中国随着微服务的出现&#xff0c;人们通常会问&#xff1a;“是否有可能通过Kubernetes上的微服务在基于内核的虚拟机&#xff08;KVM&#xff09;或VMware 中运行我的旧虚拟机&#xff0c;还是需要将它们…

宁波网站制作首荐荣盛网络好扬中信息网

参考文章&#xff1a;趣解 XSS和CSRF的原理 推荐网站&#xff1a;古黑论 感谢作者分享&#xff01;