引用的是OKGOF进行了网络请求,没有把RXjava集成进去。
先给大家看看一共需要几个类,
那个MD5可用可不用,自己随便添加的。
使用起来也非常的方便:
看下图:
下面看看使用代码:`
public class LogoinPresenter extends BasePresenter {
private ILoginView currencyView;
public static final int BUILD_FRG_TAGS = 0;
public static final int BUILD_FRG_SEARCH_CITY = 1;
public LogoinPresenter(ILoginView currencyView) {
super(currencyView);
this.currencyView = currencyView;
}
@Override
public void serverResponse(String data, int flag) {
Gson gson = new Gson();
Log.e("serverResponse", data);
if (flag == BUILD_FRG_TAGS) {
CityTagBean cityTagBean = gson.fromJson(data, CityTagBean.class);
currencyView.getTags(cityTagBean);
Log.e("serverResponse", data);
} else if (flag == BUILD_FRG_SEARCH_CITY) {
SearchBean searchBean = gson.fromJson(data, SearchBean.class);
currencyView.getSearch(searchBean);
}
}
@Override
public void serverMoreSucceed(String data, int flag) {
Gson gson = new Gson();
SearchBean searchBean = gson.fromJson(data, SearchBean.class);
currencyView.getMoreDatas(searchBean);
}
public void getSearch(int page) {
Map<String, String> searchMap = new WeakHashMap<>();
searchMap.put("cityId", String.valueOf("1"));
searchMap.put("pageNo", String.valueOf(page));
searchMap.put("pageSize", "10");
searchMap.put("tag", "");
getModel().setMethod(RequestContent.METHED_POST);
accessServer(searchMap, OkgoManage.BUILD_POST_SEARCH, LogoinPresenter.BUILD_FRG_SEARCH_CITY, false);
}
public void getTags() {
Map<String, String> map = new HashMap<>();
map.put("cityId", "1");
getModel().clearHearsdAndParams();
getModel().setMethod(RequestContent.METHED_GET);
accessServer(map, OkgoManage.BUILD_GET_SEARCH_TAGS, LogoinPresenter.BUILD_FRG_TAGS, false);
}
}
`
public interface ILoginView extends IBaseView {
void getTags(CityTagBean cityTagBean);
void getMoreDatas(SearchBean searchBean);
void getSearch(SearchBean searchBean);
}
是不是发现非常的简单。
public class MainActivity extends AppCompatActivity implements ILoginView {
private LogoinPresenter mLoginPresenter;
private PullRefreshView mFragmentRotateHeaderWithTextViewFrame;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mFragmentRotateHeaderWithTextViewFrame = (PullRefreshView) findViewById(R.id.fragment_rotate_header_with_text_view_frame);
mLoginPresenter = new LogoinPresenter(this);
mLoginPresenter.getTags();
mLoginPresenter.getSearch(1);
}
public void click1(View view) {
HttpHeaders httpHeaders = new HttpHeaders();
HttpParams httpParams = new HttpParams();
httpHeaders.put("ancely", "ancely");
httpHeaders.put("fanlelong", "fanlelong");
httpParams.put("click1", "click1");
httpParams.put("getModel", "getModel");
mLoginPresenter.getSearch(1);
}
@Override
public void showProgress(boolean enable) {
Log.e("loginpresenter", "showProgress " + enable);
}
@Override
public void showNetworkError(int errorCode, String errorDesc, String ApiInterface) {
Log.e("loginpresenter", "showNetworkError " + errorCode);
}
@Override
public void getTags(CityTagBean cityTagBean) {
Log.e("loginpresenter", "getTags " + cityTagBean.getResult().size());
}
//获取到加载更多的数据
@Override
public void getMoreDatas(SearchBean searchBean) {
Log.e("loginpresenter", "getMoreDatas " + searchBean.getResult().getRows().size());
}
@Override
public void getSearch(SearchBean searchBean) {
Log.e("loginpresenter", "getSearch " + searchBean.getResult().getRows().size());
}
@Override
protected void onDestroy() {
super.onDestroy();
mLoginPresenter.cancelRequest();
}
}
好了就介绍到这了
放个下载链接