【 Karle 专栏】 DvlpOkHttp retrofit2 极简封装,极简接入。

DvlpOkHttp

retrofit2 极简封装,极简接入。

Download

范例请求URL
http://wanandroid.com/article/list/0/json"

对应json
{
“data”:{
“curPage”:1,
“offset”:0,
“over”:false,
“pageCount”:288,
“size”:20,
“total”:5757
},
“errorCode”:0,
“errorMsg”:""
}

--------------------------------------------------------start------------------------------------------------------------------------

1.初始化配置

 加依赖项

 implementation 'com.dvlp:dvlpokhttp:1.0.0'
 
添加网路权限

<uses-permission android:name="android.permission.INTERNET" />

在Aplication进行初始化

public static final String API_BASE = "http://wanandroid.com/";//正常在项目常量类 Api.class

RetrofitManager.init(API_BASE);

2.定义请求接口 ApiService

  //获取首页文章列表
@GET("article/list/0/json")
Call2<Article> getArticle0(); //Article:与data数据对应的实体类

3.发起请求

RetrofitManager.create(ApiService.class)
            .getArticle0()
            .enqueue(hashCode(), new CallbackAnim<Article>(this) {
                @Override
                public void onError(Call2<Article> call2, HttpError error) {
                    Toast.makeText(MainActivity.this, error.msg, Toast.LENGTH_SHORT).show();

                }

                @Override
                public void onSuccess(Call2<Article> call2, Article article) {
                    Toast.makeText(MainActivity.this, "获取首页文章列表", Toast.LENGTH_SHORT).show();

                }
            });

------------------------------------------------end-------------------------------------------------------------------------------

*高度扩展说明

1.三种初始化方式,以及使用条件

项目中默认顶级json key分别是:errorCode、errorMsg、data

RetrofitManager.init(API_BASE);


项目中默认顶级json 与默认不匹配:Code、Msg、dataS。“0”对应Code 成功状态

RetrofitManager.initJSonTag(“Code”,“Msg”,“dataS”,0);
RetrofitManager.init(API_BASE);


库中封装Retrofit不满足需求使用,支持 Retrofit 自定义

RetrofitManager.init(retrofit)


2.请求主体 CallbackAnim、Callback2

CallbackAnim:支持获取请求Loding状态
需要实现ILoadingView接口

@Override
public void showLoading() {
   // 显示loding布局
}

@Override
public void hideLoading() {
   //隐藏loding布局
}

Callback2:不支持Loding获取状态

3.data 支持类型 T

对象数组

 Call2<List<WXArticle>> getArticle0();

对象

 Call2<Article> getArticle0();

文件

 Call2<File> getArticle0();

字符串

 Call2<String> getArticle0();

项目地址:https://github.com/dvlp-org/DvlpOkHttp 欢迎start

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值