Retrofit 使用方法
public class MainActivity extends Activity {
private ListView mListView;
//private ImageListAdapter adapter;
private ImageListPicassoAdapter adapter;
private Context mContext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mContext=this;
ResultApi.getBroadcastApi(1,"user_invitation_list",1,15, new ICallBack<ResultBean>() {
@Override
public void onSuccess(String flag, String key, ResultBean resultBean) {
//adapter=new ImageListAdapter(mContext, resultBean.getResult());
adapter=new ImageListPicassoAdapter(mContext, resultBean.getResult());
mListView.setAdapter(adapter);
}
@Override
public void onFailure(String flag, String key, String why) {
}
});
/*ResultApi.getBroadcastApiNoPar(new ICallBack<ResultBean>() {
@Override
public void onSuccess(String flag, String key, ResultBean resultBean) {
//adapter=new ImageListAdapter(mContext, resultBean.getResult());
adapter=new ImageListPicassoAdapter(mContext, resultBean.getResult());
mListView.setAdapter(adapter);
}
@Override
public void onFailure(String flag, String key, String why) {
}
});*/
}
public class ResultApi {
public static Call<ResultBean> getBroadcastApi(int ver,final String action,int page,int pageSize,final ICallBack<ResultBean> callBack){
Call<ResultBean> callResultBean=BuildService.getMeiNvService().getBroadcast(ver, action, page, pageSize);
callResultBean.enqueue(new Callback<ResultBean>() {
@Override
public void onResponse(Call<ResultBean> call, Response<ResultBean> response) {
if (response.isSuccessful()) {
ResultBean resultBean = response.body();
if (resultBean.getResult().size()>0) {
//数据正确,把数据返回
callBack.onSuccess(action, "", resultBean);
} else {
//数据错误
callBack.onFailure(action, "", "数据错误");
}
}
}
@Override
public void onFailure(Call<ResultBean> call, Throwable t) {
}
});
return callResultBean;
}
public static Call<ResultBean> getBroadcastApiNoPar(final ICallBack<ResultBean> callBack){
Call<ResultBean> callResultBean=BuildService.getMeiNvService().getBroadcastNoPar();
callResultBean.enqueue(new Callback<ResultBean>() {
@Override
public void onResponse(Call<ResultBean> call, Response<ResultBean> response) {
if (response.isSuccessful()) {
ResultBean resultBean = response.body();
if (resultBean.getResult().size()>0) {
//数据正确,把数据返回
callBack.onSuccess("", "", resultBean);
} else {
//数据错误
callBack.onFailure("", "", "数据错误");
}
}
}
@Override
public void onFailure(Call<ResultBean> call, Throwable t) {
}
});
return callResultBean;
}
}
public interface ApiService {
//http://api.abc.com/WebApi/api.ashx?ver=1&action=user_invitation_list&page=1&page_size=10
@GET("api.ashx")
Call<ResultBean> getBroadcast(@Query("ver") int ver,
@Query("action") String action, @Query("page") int page,
@Query("page_size") int pageSize);
//http://api.abc.com/WebApi/api.ashx?ver=1&action=user_invitation_list&page=1&page_size=10
@GET("api.ashx?ver=1&action=user_invitation_list&page=1&page_size=10")
Call<ResultBean> getBroadcastNoPar();
}
public class BuildService {
private static Retrofit retrofit;
public static ApiService getMeiNvService() {
if (retrofit == null) {
retrofit = new Retrofit.Builder()
.baseUrl(config.HTTP_URL) //设置Base的访问路径
.client(defaultOkHttpClient())
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit.create(ApiService.class);
}
public static OkHttpClient defaultOkHttpClient() {
OkHttpClient client = new OkHttpClient();
return client;
}
}
Retrofit 使用方法的更多相关文章
- 一种封装Retrofit的方法,可以自动解析Gson,回避Method return type must not include a type variable or wildcard: retrofit2.Call<T>的问题
封装目的:屏蔽底层实现,提供统一接口,并支持Gson自动转化 最初封装: //请求方法 interface RequestListener { interface PostListener { @PO ...
- Android--带你一点点封装项目 MVP+BaseActivity+Retrofit+Dagger+RxJava(二)
1,昨天我们基本上把MVP给封装起来了,今天接着昨天的东西来结合RxJava把Retrofit把网络框架简单的封装一下,先看一下我们今天实现的效果: 哈哈 ,还是昨天的效果,好吧 ,我认错. 2,由于 ...
- 简单研究下Retrofit
2015-09-24 15:36:26 第一部分: 1. 什么是Retrofit? (点击图片有惊喜) 以上是来自官网的解释,言简意赅,咳咳,我就不翻译了~ 2. 如何使用Retrofit? 2.1 ...
- Retrofit原理
Retrofit原理解析最简洁的思路 Retrofit 工作原理总结 从架构角度看Retrofit的作用.原理和启示 Retrofit主要是在create方法中采用动态代理模式实现接口方法:这个过程构 ...
- Retrofit 简介 wiki 文档
简介 Type-safe HTTP client for Android and Java by Square, Inc. GitHub主页:https://github.com/square/ret ...
- 源码分析Retrofit请求流程
Retrofit 是 square 公司的另一款广泛流行的网络请求框架.前面的一篇文章<源码分析OKHttp执行过程>已经对 OkHttp 网络请求框架有一个大概的了解.今天同样地对 Re ...
- 从Retrofit的源码来看 HTTP
关于Retrofit是啥,这里就不多解释了,还是先来瞅下官网: 而这次主要是了解它的底层动作机制,而在了解底层之前先来回顾一下官网的整体使用步骤: 咱们也以官网的这个例子为例,先从简单的使用开始逐步深 ...
- spring-cloud-square源码速读(retrofit + okhttp篇)
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos spring-cloud-square系列文章 五分钟 ...
- Android 网络框架之Retrofit2使用详解及从源码中解析原理
就目前来说Retrofit2使用的已相当的广泛,那么我们先来了解下两个问题: 1 . 什么是Retrofit? Retrofit是针对于Android/Java的.基于okHttp的.一种轻量级且安全 ...
随机推荐
- MySQL数据库-表内容操作
1.表内容增加 insert into 表 (列名,列名...) values (值,值,值...); 添加表内容添加一条数据 insert into 表 (列名,列名...) values (值,值 ...
- 在Java中,以下关于方法重载和方法重写描述正确的是?
public class TTTTT extends SuperC{ public String get(){ return null; } } class SuperC{ Object get(){ ...
- BZOJ1494 [NOI2007]生成树计数
题意 F.A.Qs Home Discuss ProblemSet Status Ranklist Contest 入门OJ ModifyUser autoint Logout 捐赠本站 Probl ...
- day07 eclipse使用本地 库文件 访问HDFS
常用命令 1. hdfs dfsadmin -report 查看系统的各台机器状态 HDFS的概念和特性 首先,它是一个文件系统,用于存储文件,通过统一的命名空间——目录树来定位文件 其次,它是分 ...
- zabbix——拓扑图入门
zabbix的拓扑图是动态的,当你配置好拓扑图后,一旦网络中那个节点出现了问题,很容易在拓扑图中看出问题具体出在哪个位置. 新建一个拓扑图 我们常用到的图标有rack(机柜)还有rackmountab ...
- Terraform 自定义provider 开发
内容来自官方文档,主要是进行学习自定义provider 开发的流程 开发说明 我们需要开发的有provider 以及resource 对于resource 我们需要进行crud 的处理,同时还需要进行 ...
- WebSocket-Over-HTTP Protocol
转自:https://pushpin.org/docs/protocols/websocket-over-http/ WebSocket-Over-HTTP Protocol The WebSocke ...
- DevExpress控件使用方法:第二篇 barManager
标题栏 一.Bars 1. 把BarManager组件添加到窗体中后,会自动创建三个空的 bars: 主菜单(通常位于窗体顶部).顶部工具栏.窗体底部的状态栏. 2. 隐藏左侧的竖线和右边的箭 ...
- cos migration工具webhook推送
上一篇讲了腾讯云同步工具的使用,这篇主要是补充如何将同步结果主动消息通知. 因为cos migration 工具是java语言,并在github开源的,所以可以直接修改源码,添加webhook推送代码 ...
- Spring技术内幕总结 - IoC容器的实现
IoC:Inversion of Control,控制反转,即依赖对象的获得被反转了(DI:dependency inversion,依赖注入)在Spring中,IoC容器是实现这个模式的载体.它可以 ...