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;
}
}

下载JAR包文件

Retrofit 使用方法的更多相关文章

  1. 一种封装Retrofit的方法,可以自动解析Gson,回避Method return type must not include a type variable or wildcard: retrofit2.Call<T>的问题

    封装目的:屏蔽底层实现,提供统一接口,并支持Gson自动转化 最初封装: //请求方法 interface RequestListener { interface PostListener { @PO ...

  2. Android--带你一点点封装项目 MVP+BaseActivity+Retrofit+Dagger+RxJava(二)

    1,昨天我们基本上把MVP给封装起来了,今天接着昨天的东西来结合RxJava把Retrofit把网络框架简单的封装一下,先看一下我们今天实现的效果: 哈哈 ,还是昨天的效果,好吧 ,我认错. 2,由于 ...

  3. 简单研究下Retrofit

    2015-09-24 15:36:26 第一部分: 1. 什么是Retrofit? (点击图片有惊喜) 以上是来自官网的解释,言简意赅,咳咳,我就不翻译了~ 2. 如何使用Retrofit? 2.1 ...

  4. Retrofit原理

    Retrofit原理解析最简洁的思路 Retrofit 工作原理总结 从架构角度看Retrofit的作用.原理和启示 Retrofit主要是在create方法中采用动态代理模式实现接口方法:这个过程构 ...

  5. Retrofit 简介 wiki 文档

    简介 Type-safe HTTP client for Android and Java by Square, Inc. GitHub主页:https://github.com/square/ret ...

  6. 源码分析Retrofit请求流程

    Retrofit 是 square 公司的另一款广泛流行的网络请求框架.前面的一篇文章<源码分析OKHttp执行过程>已经对 OkHttp 网络请求框架有一个大概的了解.今天同样地对 Re ...

  7. 从Retrofit的源码来看 HTTP

    关于Retrofit是啥,这里就不多解释了,还是先来瞅下官网: 而这次主要是了解它的底层动作机制,而在了解底层之前先来回顾一下官网的整体使用步骤: 咱们也以官网的这个例子为例,先从简单的使用开始逐步深 ...

  8. spring-cloud-square源码速读(retrofit + okhttp篇)

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos spring-cloud-square系列文章 五分钟 ...

  9. Android 网络框架之Retrofit2使用详解及从源码中解析原理

    就目前来说Retrofit2使用的已相当的广泛,那么我们先来了解下两个问题: 1 . 什么是Retrofit? Retrofit是针对于Android/Java的.基于okHttp的.一种轻量级且安全 ...

随机推荐

  1. Linux命令速查手册

    Others make 通过外部编译器的,比如linux中的gcc集来编译源码 获取Makefile文件的命令触发编译 curl -X GET/POST -I 获取head curl有cache 查看 ...

  2. Redis源码剖析--列表t_list实现

    Redis中的列表对象比较特殊,在版本3.2之前,列表底层的编码是 ziplist 和 linkedlist 实现的, 但是在版本3.2之后,重新引入了一个 quicklist 的数据结构,列表的底层 ...

  3. C++中的抽象类

    一.抽象类学习笔记 1.virtual修饰函数(虚函数)后面加=0就称为一个纯虚函数,一个类中只要有纯虚函数那么它就是一个抽象类.抽象类不能用来实例化对象,是用来给他的派生类定义好这些框架的,给使用这 ...

  4. Cassandra基础2

    ========================================================= gossip协议1.点对点(peer to perr)的网络通信协议,节点间地位相同 ...

  5. lerna import && add 使用&&常见问题解决

    使用lerna 的import 我们可以方便的将一个普通的npm 包倒入到lerna 管理的monorepo 中 环境准备 lerna init 注意必须是一个git 项目,同时需要commit ,不 ...

  6. UML异步怎么表达

    直接看结果 第一虚框和第二虚框是异步的.m1 和m2 没有任何先后关系. 第一虚框和第二虚框是异步的,两者没有任何先后关系.m3和m4是有先后关系的.m3()比m4()先执行.同样m5()和m6().

  7. 关于宽带接两台路由,并且第二台需要关闭DHCP的设置

    关于宽带接两台路由,并且第二台需要关闭DHCP的设置 https://wenku.baidu.com/view/e317a12d4b35eefdc8d333cb?pcf=2#1

  8. Odoo 开源协议讨论

    Odoo 开源协议讨论 Odoo 9 开始使用的 LGPL 开源协议,所以模块的加密并不会违反 Odoo 的开源协议. 如果使用 Odoo 8 (含)以前的版本开发模块,那么你在分发模块时也必须给使用 ...

  9. 对HTML中的文字的修饰

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. docker save/load、export/import 区别

    区别: save的对象是image,产生的文件需要用load来生成image: export的对象是container,产生的文件需要用import来生成image. save Save one or ...