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. 《DSP using MATLAB》Problem 7.1

    只有春节那么几天才能和家人团聚,看着爸爸妈妈一年比一年老,自己还是一无所有,照顾好自己尚且惭愧,真是悲从中来,又能怎么办呢, 唯有奋发努力,时不我待,多想想怎么赚钱,加油. 代码: function ...

  2. Echarts全解注释

    coordinate-geo.js文件为地理坐标系的配置参数 mytextStyle={ color:"#333",//文字颜色 fontStyle:"normal&qu ...

  3. protobuf GetExtension

    get extention values from  proto file value, err := proto.GetExtension(imp, openrtb.E_Imp) if err != ...

  4. Using gcc stack debug skill

    The stack error is hard to debug, but we can debug it assisted by the tool provided by GCC. As we kn ...

  5. Git SVN Clone 旧项目迁移到 Git 上

    Git SVN Clone 旧项目迁移到 Git 上 很久使用的是 SVN,但由于项目重启,想改为 Git. 之前的 SVN 仓库是本地,所以在 git svn clone 一直不成功. 正确的方式: ...

  6. ML(附录2)——最小二乘法

    参见  :多变量微积分笔记2——最小二乘法

  7. react-router v4.0 知识点

    react-router 提供了一个withRouter组件 withRouter可以包装任何自定义组件,将react-router 的 history,location,match 三个对象传入. ...

  8. 从Excel文件中读取内容

    从Excel文件中读取内容 global::System.Web.HttpPostedFileBase file = Request.Files["txtFile"]; strin ...

  9. Zookeeper命令行auth,digest

    一.auth auth:user:pwd:cdrwa digest:user:BASE64(SHA1(PWD)):cdrwa addauth digest user:pwd 增加用户和密码都是zhan ...

  10. 阿里云 CentOS安装Git

    一.Git的安装 1. 下载Git wget https://github.com/git/git/archive/v2.8.0.tar.gz 2. 安装依赖 sudo yum -y install ...