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. Ajax异步请求原理的分析

    我们知道,在同步请求模型中,浏览器是直接向服务器发送请求,并直接接收.处理服务器响应的数据的.这就导致了浏览器发送完一个请求后,就只能干等着服务器那边处理请求,响应请求,在这期间其它事情都做不了.这就 ...

  2. 【mybatis源码学习】利用maven插件自动生成mybatis代码

    [一]在要生成代码的项目模块的pom.xml文件中添加maven插件 <!--mybatis代码生成器--> <plugin> <groupId>org.mybat ...

  3. 监控文件事件inotify

    #include<sys/inotify.h> int inotify_init(void);//创建一个新的inotify实例,成功会返回一个文件描述符fd int inotifyk_a ...

  4. hasura graphql-engine v1.0.0-alpha30 版本新功能介绍

    hasura graphql-engine v1.0.0-alpha30 发布了,以下为一些变动的简单说明 破坏性的变动 order_by 中的desc 从 desc nulls last 修改为 d ...

  5. cocos2d-x游戏开发 跑酷(三) 人物跑动

    原创.转载请注明出处:http://blog.csdn.net/dawn_moon/article/details/21245881 好吧.最终要跑起来了. 要实现跑酷须要用到帧动画,什么是帧动画,不 ...

  6. S老师 破坏神学习

    代码质量不高 就不整理了 发上来留个纪念 表示自己写过了 数据库:MySQL,服务端:PhotonServer 视频:https://pan.baidu.com/s/1i4ROaRr 客户端:http ...

  7. 如何利用 Chrome 来模拟移动网络来调试 FastAdmin 网站

    如何利用 Chrome 来模拟移动网络来高度 FastAdmin 网站 因为目前大多数都在开发移动类的网页,所以客户端的速度下载速度要也考虑. 虽然都已经 4G 了,但还是要看看在网络质量很差的情况 ...

  8. makeinfo is missing on your system(转)

    ubunut14.04 make install 提示 makeinfo is missing on your system: 输入makeinfo后,提示没有安装该命令,然后提示可以安装texinf ...

  9. jsp配置文件数据信息读取

    一.jsp从配置文件*.properties读取信息 <%@ page language="java" import="java.util.*" cont ...

  10. JMeter之修改Sampler响应数据的编码格式

    转 JMeter之修改Sampler响应数据的编码格式 问题:JMeter的sampler响应数据中有中文时,会解析出错. JMeter的Sampler中的响应数据默认的编码格式是:ISO-8859- ...