Java源码示例:com.socks.jiandan.cache.FreshNewsCache
示例1
private void loadDate() {
Subscription subscription = JDApi.getFreshNews(page)
.observeOn(Schedulers.io())
.doOnNext(freshNewses -> {
if (page == 1) {
mFreshNews.clear();
FreshNewsCache.getInstance(mActivity).clearAllCache();
}
FreshNewsCache.getInstance(mActivity).addResultCache(GsonHelper.toString(freshNewses),
page);
})
.observeOn(AndroidSchedulers.mainThread())
.subscribe(freshNewses -> {
mFreshNews.addAll(freshNewses);
notifyDataSetChanged();
mLoadResultCallBack.onSuccess(LoadResultCallBack.SUCCESS_OK, null);
mLoadFinisCallBack.loadFinish(null);
}, e -> {
mLoadResultCallBack.onError(LoadResultCallBack.ERROR_NET);
mLoadFinisCallBack.loadFinish(null);
});
mActivity.addSubscription(subscription);
}
示例2
private void loadFromCache() {
Observable.create(new Observable.OnSubscribe<ArrayList<FreshNews>>() {
@Override
public void call(Subscriber<? super ArrayList<FreshNews>> subscriber) {
subscriber.onNext(FreshNewsCache.getInstance(mActivity).getCacheByPage(page));
subscriber.onCompleted();
}
}).compose(JDApi.applySchedulers())
.doOnNext(freshNewses -> {
if (page == 1) {
mFreshNews.clear();
ToastHelper.Short(ConstantString.LOAD_NO_NETWORK);
}
})
.subscribe(freshNewses -> {
mFreshNews.addAll(freshNewses);
notifyDataSetChanged();
mLoadResultCallBack.onSuccess(LoadResultCallBack.SUCCESS_OK, null);
mLoadFinisCallBack.loadFinish(null);
});
}
示例3
private void loadDataByNetworkType() {
if (NetWorkUtil.isNetWorkConnected(mActivity)) {
RequestManager.addRequest(new Request4FreshNews(FreshNews.getUrlFreshNews(page),
new Response.Listener<ArrayList<FreshNews>>() {
@Override
public void onResponse(ArrayList<FreshNews> response) {
mLoadResultCallBack.onSuccess(LoadResultCallBack.SUCCESS_OK, null);
mLoadFinisCallBack.loadFinish(null);
if (page == 1) {
mFreshNews.clear();
FreshNewsCache.getInstance(mActivity).clearAllCache();
}
mFreshNews.addAll(response);
notifyDataSetChanged();
FreshNewsCache.getInstance(mActivity).addResultCache(JSONParser.toString(response),
page);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
mLoadResultCallBack.onError(LoadResultCallBack.ERROR_NET, error.getMessage());
mLoadFinisCallBack.loadFinish(null);
}
}), mActivity);
} else {
mLoadResultCallBack.onSuccess(LoadResultCallBack.SUCCESS_OK, null);
mLoadFinisCallBack.loadFinish(null);
if (page == 1) {
mFreshNews.clear();
ShowToast.Short(ConstantString.LOAD_NO_NETWORK);
}
mFreshNews.addAll(FreshNewsCache.getInstance(mActivity).getCacheByPage(page));
notifyDataSetChanged();
}
}
示例4
private void loadDataByNetworkType() {
if (NetWorkUtil.isNetWorkConnected(mActivity)) {
RequestManager.addRequest(new Request4FreshNews(FreshNews.getUrlFreshNews(page),
new Response.Listener<ArrayList<FreshNews>>() {
@Override
public void onResponse(ArrayList<FreshNews> response) {
mLoadResultCallBack.onSuccess(LoadResultCallBack.SUCCESS_OK, null);
mLoadFinisCallBack.loadFinish(null);
if (page == 1) {
mFreshNews.clear();
FreshNewsCache.getInstance(mActivity).clearAllCache();
}
mFreshNews.addAll(response);
notifyDataSetChanged();
FreshNewsCache.getInstance(mActivity).addResultCache(JSONParser.toString(response),
page);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
mLoadResultCallBack.onError(LoadResultCallBack.ERROR_NET, error.getMessage());
mLoadFinisCallBack.loadFinish(null);
}
}), mActivity);
} else {
mLoadResultCallBack.onSuccess(LoadResultCallBack.SUCCESS_OK, null);
mLoadFinisCallBack.loadFinish(null);
if (page == 1) {
mFreshNews.clear();
ShowToast.Short(ConstantString.LOAD_NO_NETWORK);
}
mFreshNews.addAll(FreshNewsCache.getInstance(mActivity).getCacheByPage(page));
notifyDataSetChanged();
}
}