Android_Retrofit2.0

Android 使用Retrofit2.0 + OKHttp 实现 HTTP协议请求 记得之前要想实现http协议自己封装会比较繁琐,后来有了OKHttp,另http请求更加轻便。 今天主要来说下Retrofit2.0的用法,由于本人之前几年用的as3 air,也是最近才开始重新回来写Android,对于Retrofit的使用经验为0,上手就是看的2.0,个人觉得Retrofit2.0用起来相比OKHttp更加方便代码也很容易理解,但是网上关于Retrofit2.0的资料很少,于 阅读详情

一:Retrofit,它是一个可以用于Android和java的网络库,使用它可以简化我们网络操作的工作,提高效率和正确率

  模式:动态代理

  优点 :请求到数据在主线程    可以省去切换到主线程


二:依赖

compile 'com.squareup.retrofit2:retrofit:2.0.0'
compile 'com.squareup.retrofit2:converter-gson:2.0.2'

三:使用

1:将Rest API转换为java接口

public interface RetrofitService {
    @GET("product/getCatagory")
    Call<Bean<List<DataBean>>> getservice();

    @GET("user/getUserInfo")
    Call<Bean<DataBean2>> get(@Query("uid") String uid);

    /**
     * method 表示请求的方法,区分大小写
     * path表示路径
     * hasBody表示是否有请求体
     */
    @HTTP(method = "GET", path = "user/getUserInfo", hasBody = false)
    Call<Bean<DataBean2>> getBlog(@Query("uid") String uid);
}

2:封装的工具类

public class RetrofitUtils {
    private static volatile RetrofitUtils instance;
    private final Retrofit retrofit;

    private RetrofitUtils(String baseurl) {
        retrofit = new Retrofit.Builder()
                .baseUrl(baseurl)
                .addConverterFactory(GsonConverterFactory.create())
                .build();
    }

    public static RetrofitUtils getInstance(String baseurl) {
        if (instance == null) {
            synchronized (RetrofitUtils.class) {
                if (instance == null) {
                    instance = new RetrofitUtils(baseurl);
                }
            }
        }
        return instance;
    }

    public Retrofit getretrofit(){
        return retrofit;
    }

}

3:使用

public class MainActivity extends AppCompatActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Retrofit retrofit = RetrofitUtils.getInstance("https://www.zhaoapi.cn/").getretrofit();
        RetrofitService retrofitService = retrofit.create(RetrofitService.class);
        Call<Bean<List<DataBean>>> call = retrofitService.getservice();
        call.enqueue(new Callback<Bean<List<DataBean>>>() {
            @Override
            public void onResponse(Call<Bean<List<DataBean>>> call, Response<Bean<List<DataBean>>> response) {
                //直接获取到解析后的数据
                Bean<List<DataBean>> body = response.body();
                List<DataBean> data = body.getData();
                for (int i=0;i<data.size();i++){
                    Log.i("Tag",data.get(i).getName());
                }
            }

            @Override
            public void onFailure(Call<Bean<List<DataBean>>> call, Throwable t) {

            }
        });



Android框架之路——Retrofit2.0的初窥(包含Gson) 使用姿势:   1. 使用教程 添加依赖 compile ‘com.squareup.retrofit2:retrofit:2.2.0’ compile ‘com.squareup.retrofit2:converter-gson:2.2.0’ AndroidStudio添加Gson插件——GsonFormat    2. 阅读详情

相关推荐

Android中Retrofit2.0的使用Demo

这个Demo实现了使用Retrofit2.0网络请求框架请求数据,使用Gson解析数据,希望对大家有用

Carson带你学Android:这是一份详细的 Retrofit使用教程(含实例讲解)

前言 在Andrroid开发中,网络请求十分常用 而在Android网络请求库中,Retrofit是当下最热的一个网络请求库 今天,我将献上一份非常详细Retrofit v2.0的使用教程,希望你们会喜欢。 如果对Retrofit v2.0的源码感兴趣,可看文章:Android:手把手带你深入剖析 Retrofit 2.0 源码 目录![目录](http://upload-

Carson带你学Android 25万+

Android中Retrofit 2.0直接使用JSON进行数据交互

本篇文章主要介绍了Android中Retrofit 2.0直接使用JSON进行数据交互,具有一定的参考价值,有兴趣的可以了解一下

Android 使用Retrofit2.0+OkHttp3.0实现缓存处理+Cookie持久化第三方库

1.Retrofit+OkHttp的缓存机制 1.1.第一点 在响应请求之后在 data/data/<包名>/cache 下建立一个response 文件夹,保存缓存数据。 1.2.第二点 这样我们就可以在请求的时候,如果判断到没有网络,自动读取缓存的数据。 1.3.第三点 同样这也可以实现,在我们没有网络...

SFC0511的博客 663

计算机组成原理课设

计算机组成原理课程设计

qq_63306482的博客 8054

沧小海深入剖析xilinx的GTP/GTX核,掌握高速串行收发机制——第六章 接收端结构及功能说明

总目录在这哦~ https://blog.csdn.net/z123canghai/article/details/107700878 第六章 接收端结构及功能说明 子目录 6.1 RX的模拟前端 6.2 RX的OOB信号 6.3 RX的均衡器 6.4 RX的CDR 时钟数据恢复 6.5 RX时钟输出结构 6.6 RX 的极性控制 6.7 RX 的PRBS 6.8 Rx字节、字的对齐功能 6.9 Rx接收弹性缓冲区 6.10 Rx的时钟纠正 6.11 Rx接收通道绑定 6...

滄海的博客 1万+

Android Retrofit2.0:使用攻略(含实例讲解)

前言 在Andrroid开发中,网络请求十分常用 而在Android网络请求库中,Retrofit是当下最热的一个网络请求库 今天,我将献上一份非常详细Retrofit v2.0的使用教程,希望你们会喜欢。 目录 1. 简介 特别注意: 准确来说,Retrofit 是一个 RESTful 的 HTTP 网络请求框架的封装。 原因:网络请求的工作本质上是 OkHttp 完成,而 Retrofit 仅负责 网络请求接口的封装 App应用程序通过 Retrofit 请求网络,实际上是使用 Retro

weixin_42814000的博客 7426

Redhawk-SC输入件配置中的5个常见错误及解决方法

本文针对Redhawk-SC功耗与可靠性签核工具,深入剖析了输入件配置中工艺文件错配、DEF文件路径、时序文件格式、电源网络模型及宏模型处理这5个最常见且棘手的错误。文章提供了资深工程师验证过的实战解决方案与检查清单,旨在帮助用户规避风险,提升配置效率与分析准确性,确保芯片签核流程的顺利进行。

earth的博客 233

Android:这是一份全面 & 详细的Retrofit 2

/ 将findPlatform()赋给静态变量// 返回静态变量PLATFORM,即findPlatform() ->>步骤3try {// Class.forName(xxx.xx.xx)的作用:要求JVM查找并加载指定的类(即JVM会执行该类的静态代码段)= 0) {// 此处表示:如果是Android平台,就创建并返回一个Android对象 ->>步骤4try {// 支持Java平台try {// 支持iOS平台。

2401_87029491的博客 1840

ros2 humble中使用realsense t265与d435

前提,安装realsense SDK 2.51.1版本并且能成功启动realsense-viewer V2.51.1想要在ros2中使用realsense t265,必须配合realsense SDK v2.51.1使用realsense-ros 4.51.1版本,因为新版本realsense ros2不再对t265支持下面记录源码编译安装 realsense-ros 4.51.1版本。

m0_72797388的博客 952

CSAPP performance lab

CSAPP 深入理解计算机系统的performance Lab

weixin_46091531的博客 1250

android retrofit 2.0,Android Retrofit2.0 RxJava3.0 基本使用

Android Retrofit2.0 RxJava3.0 基本使用这篇文章对于学习这个知识点有较好的参考作用,需要了解这方面技术的可以斟酌学习一下。一,ReactiveX要学习RxJava,那么不得不提他的由来ReactiveX,ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。ReactiveX是Reactiv...

weixin_30916627的博客 374

CosyVoice 本地部署详细教程 手把手小白教程

本文提供了详细的CosyVoice本地部署教程,强调了避免中文名称和空格的重要性,并列出了必要的软件安装步骤,包括CUDA、cuDNN、Git和Miniconda。教程涵盖了从检查CUDA版本到下载模型和运行模型的全过程,确保用户能够顺利部署并使用CosyVoice。

huazn612的博客 2万+

Retrofit2.0 android.os.NetworkOnMainThreadException解决方法

在使用Retrofit2.0中出现了android.os.NetworkOnMainThreadException异常,代码如下: FamousInfoModel.getInstance(getActivity()).queryLookUp(“人才”,mCurrentPage) .subscribeOn(Schedulers.io())

Dream It Possible 7594

Proxmox VE 9 更换源

创建一键更换Proxmox VE 9.0源的Bash脚本,实现快速替换软件源。脚本需包含订阅提醒关闭功能,兼容Proxmox VE 9.0系统,执行命令为bash /proxmox_9.0_Repo.sh。该工具可简化源配置过程,自动处理系统更新源替换及订阅提示屏蔽,适合需要快速配置Proxmox环境的用户使用。

极致,细节 4984

2026年沐曦集成电路数字IC笔试试卷带答案

本文摘要: 这是一份数字IC设计笔试模拟题,包含单选题、波形分析、多选题和代码设计题。重点考察ASIC设计流程(如逻辑综合将RTL转为门级网表)、时序分析(建立时间余量计算)、跨时钟域处理(格雷码应用)、复位机制、状态机设计等核心知识点。涉及沐曦特色考点如GPU架构(SIMT模型)、国产GPU芯片(曦云C系列)及MXMACA软件栈。代码题要求实现50%占空比三分频电路,综合考察Verilog设计能力。试题强调PPA优化、低功耗技术等工程实践要点,覆盖数字IC前端设计全流程核心内容。(149字)

Open 258

retrofit2 发送json数据_Android中Retrofit 2.0直接使用JSON进行数据交互

之前使用Retrofit都是将JSON串转化为POJO对象,针对不同的业务协议,定义相应的接口和参数列表。但是此种方式一般用在自己内部协议基础上,具体大的项目中,有些第三方的集成功能,一般都采用统一的方式即请求JSON和回应JSON进行数据交互,不可能每个第三方协议都会去定义与协议相应的POJO对象。HTTP肯定有GET和POST方法,先定义Retrofit Api的interface:packa...

weixin_28895791的博客 389

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Android Retrofit2.0+RxJava3.0 基本使用

异常: Could not locate call adapter for io.reactivex.Observable<okhttp3.ResponseBody>. compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0' RxJava适配器是1.0 所以换成RxJava2.0就可以了,两种方式配置RxJava适配器2.0 1,第三方的提供的适配器2.0 compile 'com.jakewharton.retrofit:retro

ezconn的博客 9705

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Android用retrofit上传图片,Retrofit2.0 实现图文(参数+图片)上传方法总结

最近项目里用到了类似图文上传的功能,以前都是封装OkHttp的文件上传功能,这次想换个姿势,想用Retrofit2.0实现这样的功能,本来以为挺简单的,没想到进入了深坑,连续调整了好几种姿势都报了同一个错,接着网上类似的文章找了一大推,讲得都是模棱两可,或者对多参数格式不够友好,最后还是去看了相关的源码,自己把这个问题提出来解决了,在这里记录一下。一、定义网络请求接口public interfac...

weixin_42390041的博客 2234

关于Android Retrofit 2.0使用心得

最近因为项目中使用Retrofit联网请求遇到问题,特意研究了下Retrofit的实现和原理。 总的来说,Retrofit不直接做网络请求,而是用OKhttp做联网请求,相当于一个联网请求适配器。 网络请求的目标虽然是数据,但是我们需要为这个数据写大量的配套代码,发起请求的对象Call,接收数据的对象CallBack,做数据转换的对象Converter,以及检查和处理异常的对象等。这对于一个项目的...

weixin_45347152的博客 201

基于Retrofit2.0+RxJava+Dragger2实现不一样的Android网络构架搭建

我们很多开发者大都在小型公司,不了解大公司是怎么做Android网络框架的,也想知道那些用户量过千万的APP到底用了些什么技术,让我们一起来了解一下Android版的美团和Uber到底用了些什么技术。 今天我们就来讲讲怎么用Retrofit2.0+RxJava+Dragger2来实现Android网络构架搭建,给大家提供一种思路,供大家参考参考。

做更好的自己 1万+

Android Retrofit2.0 网络请求固定入参

前言 Android开发中进行网络请求时,我们很多时候会有有一些固定入参。比如: 写在请求头的token令牌。 一些第三方平台接口,请求时要求必须携带的平台key。 这些固定入参每次请求都写在请求方法中的话,势必会非常的烦,如果能统一封装一下岂不美哉? 在Retrofit2.0中我们可以通过Interceptor拦截器实现,然后在Okhttp3使用Builder添加Interceptor。 示...

DeMonnnnnn 1000

android Retrofit2.0 RxJava2.0

android Retrofit2.0 RxJava2.0 Retrofit 一个用于Android和Java平台的类型安全的网络框架(是一套注解形式的网络请求封装库,REST API协议),Retrofit是一个Square开发的类型安全的REST安卓客户端请求库, 为网络认证、API请求以及用OkHttp发送网络请求提供了强大的框架 。

keen_zuxwang的博客 1658

Android 使用RxJava+Retrofit 2.0合并网络请求

在开发验证码的功能时,要求验证code的同时判断这个是不是服务码(万能码),这个就需要同时去请求两个接口,只要有一个功能就算成功。 @Override public void checkConfirmCode(String deviceId, String code, OnAPIListener listener) { Map map = new Has

疾风的博客 6511

CONSUMING REST API WITH RETROFIT 2.0 IN ANDROID

CONSUMING REST API WITH RETROFIT 2.0 IN ANDROID Posted Thursday, 17 Sep 2015 by Ashiq Uz Zoha Tags: retrofit, retrofit2.0, okhttp, gson-converter, retrofit-tutorial Retrofit is a well-known

细心程度决定你的成败 1295

Android Retrofit2.0+RxJava简单示例

Android Retrofit2.0+RxJava简单示例 Retrofit简介 RxJava简介 Retrofit+RxJava简单示例 如何简单GET一个api数据 目录Android Retrofit20RxJava简单示例目录 Retrofit简介 RxJava简介 RetrofitRxJava简单示例 如何简单GET一个api数据寻找api地址 分析JSON格式 Retrofit的封装

Traveler 813
上一篇: Android_数据的三级缓存
下一篇: 依赖、权限
绅V科技
博客等级 码龄9年 61粉丝 81原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值