private Type responseType;
LiveDataCallAdapter(Type responseType) {
this.responseType = responseType;
}
@Override
public Type responseType() {
return responseType;
}
@Override
public LiveData adapt(final Call call) {
return new MyLiveData<>(call);
}
private static class MyLiveData extends LiveData {
private AtomicBoolean start = new AtomicBoolean(false);
private final Call call;
MyLiveData(Call call) {
this.call = call;
}
@Override
protected void onActive() {
super.onActive();
if (start.compareAndSet(false, true)) {
call.enqueue(new Callback() {
@Override
public void onResponse(@Nullable Call call, @Nullable Response response) {
T body = response.body();
postValue(body);
}
@Override
public void onFailure(@Nullable Call call, @Nullable Throwable t) {
postValue((T) new ApiResponse(0,0, t.getMessage(), null));
}
});
}
}
}
}
ApiResponse是自己根据业务接口定义的,比如
{
“result”: 200,
“message”: “”,
“data”: {
}
}
你可以这样写
/**
- @Description: ApiResponse
- @Author: gstory
**/
public class ApiResponse {
private int result;
private String message;
private T data;
public ApiResponse(int result, String message, T data) {
this.result = result;
this.message = message;
this.data = data;
}
public int getResult() {
return result;
}
public void setResult(int result) {
this.result = result;
}
public String getMessage() {
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
尾声
一转眼时间真的过的飞快。我们各奔东西,也各自踏上了自己的旅途,但是即使多年不见,也因为这份情谊我们依旧如从前那般“亲密”。不忘初心方得始终。加油吧,程序员们,在我看来35岁,40岁从来不是危机,只要永远不要忘记自己为何踏上征程!
最后需要同款资料的,可以 **私信我点击【学习】**我愿意分享给你!
为了让更多在学习中或者最近要准备面试的朋友们看到这篇文章,希望你们能多多评论,点赞+转发!
私信我点击【学习】**我愿意分享给你!
为了让更多在学习中或者最近要准备面试的朋友们看到这篇文章,希望你们能多多评论,点赞+转发!
再次感谢所有给我提供过题目的朋友们,感谢一路有你!