Rotrofit的简单使用

赏金猎人 立即下载

加入Rotrofit类库
compile ‘com.android.support:appcompat-v7:25.1.0’
compile ‘com.squareup.retrofit2:retrofit:2.0.1’
compile ‘com.squareup.retrofit2:converter-gson:2.2.0’//json转换器
compile ‘com.squareup.picasso:picasso:2.5.2’//加载图片
compile ‘com.squareup.retrofit2:adapter-rxjava2:2.2.0’//支持Rxjava调用
compile ‘io.reactivex.rxjava2:rxandroid:2.0.1’//Rxjava增加对android支持
compile ‘io.reactivex.rxjava2:rxjava:2.0.7’//Rxjava异步请求库

定义一个接口
public interface Isenond {

 //  @POST("")
//  @FormUrlEncoded//post请求需要加上这句@Field提交注解参数
//  Call<ResuteBean> getList(@Path("categroe") String categroe, 
@Field("id") int id,@Field("name") int name, @Field("row") int row);
暂时只用了get请求 @Query传递查询参数注解
@GET("/api/{categroe}/list")//get请求拼接baseurl的url {categroe}是可以动态替换的url参数
Call<ResuteBean> getList(@Path("categroe") String categroe,
 @Query("id") int id,  @Query("name") int name, @Query("row") int row);
}
public class seconActivity extends AppCompatActivity {
private ListView listView;
private List<ResuteBean.TngouBean>list1=new ArrayList<ResuteBean.TngouBean>();
private ThreeAdapter adapter;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.seconlayout);
       listView= (ListView) findViewById(R.id.listview);
    adapter = new ThreeAdapter(list1,this);
    listView.setAdapter(adapter);
    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("http://www.tngou.net")
            .addConverterFactory(GsonConverterFactory.create())//加入json自动转换工厂
            .build();
    Isenond isenond = retrofit.create(Isenond.class);//拿到接口代理实现类
    Call<ResuteBean> list = isenond.getList("cook",0, 1, 20);//拿到call接口对象
    //Call<ResuteBean> list = isenond.getList("top",0, 1, 20);
          //Response<ResuteBean> execute = list.execute();//同步请求 在子线程中请求最好
    list.enqueue(new Callback<ResuteBean>() {//加入异步队列
        @Override
        public void onResponse(Call<ResuteBean> call, Response<ResuteBean> response) { //String string = response.errorBody().string();//即使错误也可以获取到返回的内容
            List<ResuteBean.TngouBean> tngou = response.body().getTngou();
            adapter.addlist(tngou);
        }

        @Override
        public void onFailure(Call<ResuteBean> call, Throwable t) {
            Toast.makeText(seconActivity.this, "加载数据失败",    Toast.LENGTH_SHORT).show();
        }
    });

}
}
//如果对获取的数据再次进行处理的话可以配合Rxjava使用
将接口文件增加返回类型为Observable
public interface IsFour {
@GET("/api/{categroe}/list")
Observable<ResuteBean> getList(@Path("categroe") String categroe, 
@Query("id") int id, @Query("name") int name, @Query("row") int row);
 }
//第二步
 Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("http://www.tngou.net")
            .addConverterFactory(GsonConverterFactory.create())
            .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
            //为RxJava准备的CallAdapter,它将作为Observable返回。
            .build();
    IsFour four = retrofit.create(IsFour.class);
    four.getList("cook", 0, 1, 20)
            .observeOn(AndroidSchedulers.mainThread())
            //.map()可以再次处理数据
            .subscribe(new Observer<ResuteBean>() {
                @Override
                public void onSubscribe(Disposable d) {

                }

                @Override
                public void onNext(ResuteBean resuteBean) {
                    adapter.addlist(resuteBean.getTngou());//拿到处理的数据显示
                }

                @Override
                public void onError(Throwable e) {

                }

                @Override
                public void onComplete() {

                }
            });

}
MIKE水动力笔记3_岸线及水深数据之根据遥感影像绘制岸线的方法 通过遥感影像自己绘制岸线来制作岸线数据,这种方法获取的岸线及水深数据精度很高,且可以根据自己的研究需要进行灵活处理。 阅读详情

相关推荐

RAW、RGB、YUV图像格式的采样与存储原理详解

本文详细解析了RAW、RGB和YUV三种核心图像格式的采样与存储原理。RAW是传感器原始数据,信息完整但需后期处理;RGB直接对应显示,直观但数据量大;YUV通过亮色分离与色度下采样,在保证观感的前提下大幅提升传输与存储效率,是视频编码与流媒体的主流格式。理解其差异是图像处理与视频开发的基础。

e4f5g6h7的博客 516

新手学习Rotrofit+RxJava网络请求以及Material Design风格

先贴出代码地址吧:https://github.com/Pr-Jiang/NewsAPP 近期,宣讲会也不多了,受 饿了么 sofish 的点醒,确实应该静下心来做点实际的东西。 在寝室一个人,两天半的时间,做了这一个算是比较完整的项目吧。也参考了github上的开源项目进行学习~ 之前只是浅显的看了一些RxJava的文章,这一次实战,也切实体会到了Retrofit+RxJa

Hero_R的博客 2615

EVE-NG 新增 qcow2 镜像教程

本文介绍了如何在 EVE-NG 网络仿真平台中添加 QCOW2 镜像并配置 YML 文件。首先,用户需要了解 EVE-NG 的目录结构,上传并重命名 QCOW2 镜像,然后设置文件权限并刷新界面以识别设备。接着,讲解了 YML 文件的作用,它用于定义设备的CPU、内存、网卡等参数,并给出了配置示例。若有多个设备版本,可以通过复制并重命名 YML 文件使其独立显示。最后,通过检查 QEMU 进程和日志验证 YML 配置是否生效。总结部分强调了 EVE-NG 的自动识别机制以及独立管理设备版本的方式。

qq_41862216的博客 3077

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

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

Carson带你学Android 25万+

2023-07-04 Fast-Lio论文中公式(6)与BCH公式中近似雅可比公式的一致性推导

将(1)式代入(6)式,就有。

wmorries的博客 479

SAP前台处理:业务伙伴维护(客户主数据和供应商主数据)之基础视图 <BP>

这里主要讲解BP业务伙伴主数据中和财务相关的一些内容,包括基础视图数据,采购视图数据,销售视图数据,公司代码视图数据; S4统一了供应商和客户,从事务代码上:不再使用FD01和FK01进行维护,而使用事务代码BP统一维护;

SAP.David.Gao的博客 3461

项目中对Rotrofit网络的简易封装

最近学习网络框架的封装,在常用的代码中基本上都是添加相应的依赖包,使用的第三方,方便快捷,但是对技术的深入学习是不可避免的,今天学习一下Retrofit的简易封装.在此贴出来,以后方便使用. 首先建一个RetrofitHelper.java 代码如下: package com.yiju.leal.net; import com.google.gson.Gson; import com

ChatHello的博客 1091

17 指挥AI写Mamba相关模型代码,快速适配大模型场景

本文为《30天掌控AI编程:从指令到落地,手把手教你指挥AI写代码》系列第十七篇,属于第三阶段多场景实战核心内容。本篇聚焦当下大模型领域热门的**Mamba架构**,针对零基础大模型开发、无深度学习基础的使用者,拆解指挥AI生成Mamba基础模型、微调适配、推理部署代码的核心方法,覆盖Mamba基础模块搭建、简易序列建模、小样本微调、本地推理等高频场景,提供可直接复用的高质量指令模板、完整可运行代码、环境配置与避坑指南,无需精通Transformer、状态空间模型等底层原理,轻松上手Mamba大模型开发。

coreopt的博客 61

【Android】Retrofit入门详解

简介:大三学生党一枚!主攻Android开发,对于Web和后端均有了解。 个人语录:取乎其上,得乎其中,取乎其中,得乎其下,以顶级态度写好一篇的博客。 Retrofit入门一.Retrofit介绍二.Retrofit注解2.1 请求方法注解2.1.1 GET请求2.1.2 POST请求2.2 标记类注解2.2.1 FormUrlEncoded2.2.2 Multipart2.2.3 Streaming2.3 参数类注解2.3.1 Header和Headers2.3.2 Body2.3.3 Path2.3.4

weixin_43927892的博客 2131

Vibe Writing 手把手教程:Obsidian + Claudian + Skill

本文介绍了Vibe Writing的实操教程,主要使用Obsidian+Claudian+Skill组合。教程包含工具安装配置(Obsidian、Claudian插件)、核心工作流(选题-调研-写作-发布)和效果对比。重点展示了Claude Code生成的文本更具"人味"和场景感,优于其他AI工具。作者强调工具只是辅助,内容灵魂仍需个人思考积累。附有公众号排版和全网发布工具推荐,以及自动配图生成方案。

302

《C#零基础入门之百识百例》(七十一)委托介绍 -- 战士升级示例

委托的存在是因为,我们有时候需要将一个函数作为另一个函数的参数,这时就要用的委托(Delegate)机制。委托用关键字`delegate`声明,他实际上定义了一种“函数类型”,明确规定了函数参数类型和返回值类型。

陈言必行 -- Unity游戏开发领域优质博主 2111

Android中异步任务请求网络数据

public class MainActivity extends AppCompatActivity { private TextView text_title; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceStat

ztz的博客 748

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Rrtrofit源码解读

Retrofit源码理解

sinnnnnner的博客 334

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

妹子图APP(一)—— Retrofit+Glide+Gson加载网络图片

使用Retrofit+Glide+Gson实现简单的网络图片加载

xhuww的博客 4万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Rxjava(三)--代码实战

如何管理生命周期,防止内存泄漏 常见的运用场景,以及其对应的写法 ???第一个纠结于读要不要开io线程,如果是这样的话,很多操作都得改。 界面才是主线程。 ??? Skipped 1 frames! The application may be doing too much work on its main thread. 到底哪种程度才算正常 https://blog.youkuaiyun.com/cars...

活着就是应该在解放自我 197

httpwebrequest超时时间timeout设置无效_那些年踩过的MySQL wait_timeout参数的坑

MySQL wait_timeout参数修改问题,可能经常会有DBA遇到过,下面就试验一下并看看会有什么现象。wait_timeout分为global级及session级别,如未进行配置,默认值为28800,即8小时。session级(session关键字可省略) global级此处省略对global级 与 session级参数...

weixin_39710003的博客 807

Android Retrofit下载网络图片

RetrofitUtil.getInstance().getImg().enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { //下载网络图片 if (response.isSuccess()) { I

yijiaodingqiankun的博客 3015

MVP实现用Retrofit请求网络数据Fresco加载图片,Recyclerview CheckBox显示并实现全选删除

效果图 和上一个不一样的是这个是用checkbox实现的依赖 compile 'com.jcodecraeer:xrecyclerview:1.3.2' compile 'com.facebook.fresco:fresco:0.11.0' compile 'com.squareup.okhttp3:okhttp:3.9.0' compile 'com.squareup.okio:okio:1

?????? 824

开发第一个网络app遇到的问题

第一阶段开发遇到的问题一、虚拟机网络请求始终出问题二、对于不标准json数据进行处理三、调试过程的一个bug,recyclerView出问题了四、git回退版本五、动态替换retrofit的url六、动态替换json数据的处理方式 一、虚拟机网络请求始终出问题 这个问题已经确定好了,就是虚拟机的网络出现了问题,好像是ip地址不一样什么的,重置一下虚拟机即可解决 java.net.UnknownHostException: Unable to resolve host "www.example.com": N

wresource的博客 342

Rettrofit设计模式

外观模式(门面模式) Retrofit给我们暴露的方法和类不多。核心类就是Retrofit,我们只管配置Retrofit,然后做请求。剩下的事情就跟上层无关了,只需要等待回调。这样大大降低了系统的耦合度。对于这种写法,我们叫外观模式(门面模式)。 几乎所有优秀的开源library都有一个门面。比如Glide.with() ImageLoader.load() Alamofire.request()。有个门面方便记忆,学习成本低,利于推广品牌。 Retrofit的门面就是retrofit.create(

AndroidTalk的博客 2343

Android应用架构之Retrofit使用

Retrofit:Square提供的开源产品,为Android平台的应用提供一个类型安全的REST客户端         https://github.com/square/retrofit RxAndroid:响应式编程框架RxJava针对Android平台的扩展。         https://github.com/ReactiveX/RxAndroid         ht

liuhongwei123888的专栏 10万+

【Android框架篇】Retrofit2.0+RxJava+MVP

近些年很火的Retrofit+RxJava网络请求框架,功能强大,结构合理,使用简单,最近简单研究了一下,结合MVP模式记录一下~ Retrofit retrofit是一款针对Android网络请求的开源框架,它与okhttp一样出自Square公司。Rotrofit2.0的网络框架全部交给了okhttp来实现,Android N之后Apache的httpclient已经被Google从SDK中...

Active的博客 657

Rrtrofit封装框架

1.添加方法: allprojects{ repositroies{ .... maven { url 'https://jitpack.io' } } } dependencies { /*网络请求框架*/ implementation 'com.github.AgnoiY:RetrofitFrame:1.1.9...

Agnoi丶军 344

Retrofit 最简单的快速入门及自己封装

简单介绍及官方文档的坑 官方文档 http://square.github.io/retrofit/ Retrofit是Square公司开发的一款针对Android网络请求的框架,Retrofit2底层基于OkHttp实现的,OkHttp现在已经得到Google官方认可,大量的app都采用OkHttp做网络请求 Retrofit也就成了最火的网络请求框架之一,想着来研究一下Retrofit了…先看了

zhiyuan0932的博客 2万+

Android开源项目 MVP+MD+Retrofit+RxJava 看了你会上瘾的

Android开源项目 MVP+MD+Retrofit+RxJava 看了你会上瘾的前言:去年这个时候独立开发上架了一款APP(应用宝:叙恋),用到的技术都是比较老旧。今年趁着回学校写论文的时间,会陆续将这款APP更改成目前最火热的MVP+MD+Retrofit+RxJava结构。要是你还没学会怎样使用它,怕是要out了。本文只分析源码、实战,请自行百度相关基础知识。猛戳致敬原创 我所理解的RxJ

sinat_27033869的博客 7170
上一篇: drawerlayout配合NavigationView使用
下一篇: 使用picasso加载图片
磊study
博客等级 码龄10年 0粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值