package com.shizhefei.test.models.datasource.okhttp; import com.shizhefei.mvc.IAsyncDataSource; import com.shizhefei.mvc.RequestHandle; import com.shizhefei.mvc.ResponseSender; import com.shizhefei.mvc.http.UrlBuilder; import com.shizhefei.mvc.http.okhttp.GetMethod; import com.shizhefei.test.models.enties.Meizhi; import com.shizhefei.test.models.parser.MeizhiParser; import java.util.List; import okhttp3.Response; /** * Created by LuckyJayce on 2016/7/11. */ public class GankMeizhiOkHttp_Datasource implements IAsyncDataSource<List<Meizhi>> { private int mPage = 1; @Override public RequestHandle refresh(ResponseSender<List<Meizhi>> sender) throws Exception { return load(sender, 1); } @Override public RequestHandle loadMore(ResponseSender<List<Meizhi>> sender) throws Exception { return load(sender, mPage + 1); } private RequestHandle load(ResponseSender<List<Meizhi>> sender, final int page) { // http://gank.io/api/data/Android/10/1 String url = new UrlBuilder("http://gank.io/api/data").sp("福利").sp("10").sp(page).build(); GetMethod method = new GetMethod(url); method.executeAsync(sender, new MeizhiParser<List<Meizhi>>() { @Override protected void onParse(Response responses, List<Meizhi> meizhis) { mPage = page; } }); return method; } @Override public boolean hasMore() { return true; } }