MyApp
package com.bawei.lmx.day13_2;
import android.app.Application;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.Volley;
public class MyApp0 extends Application {
private static RequestQueue requestQueue;
@Override
public void onCreate() {
super.onCreate();
requestQueue = Volley.newRequestQueue(getApplicationContext());
}
public static RequestQueue queue() {
return requestQueue;
}
}
HttpVollet
package com.bawei.lmx.day13_2;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import java.util.Map;
public class HttpVolley {
private static final HttpVolley ourInstance = new HttpVolley();
private StringRequest stringRequest;
public static HttpVolley getInstance() {
return ourInstance;
}
private HttpVolley() {
}
public boolean isNet(Context context) {
if (context != null) {
ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = manager.getActiveNetworkInfo();
if (networkInfo != null) {
return networkInfo.isAvailable();
}
}
return false;
}
public void VolleyHttpGet(String url, final VolleyCallBack callBack) {
stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
callBack.onSuccess(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
callBack.onFail(error);
}
});
stringRequest.setTag("get");
MyApp0.queue().add(stringRequest);
}
public void VolleyHttpPost(String url, Map<String,String>map, final VolleyCallBack callBack) {
stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
callBack.onSuccess(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
callBack.onFail(error);
}
}){
};
}
public interface VolleyCallBack {
void onSuccess(String data);
void onFail(VolleyError error);
}
}
MVP框架
package com.bawei.lmx.day13_2.mvp;
public interface Contract {
public interface IView {
void getPreData(String data);
}
interface IModel {
void getRequest(String url, ModelCallBack callBack);
interface ModelCallBack {
void onSuccess(String data);
void onFail();
}
}
interface IPresenter {
void attch(IView iView);
void detch();
void login(String url);
}
}
package com.bawei.lmx.day13_2.mvp;
import com.android.volley.VolleyError;
import com.bawei.lmx.day13_2.HttpVolley;
public class Model implements Contract.IModel {
@Override
public void getRequest(String url, final ModelCallBack callBack) {
HttpVolley.getInstance().VolleyHttpGet(url, new HttpVolley.VolleyCallBack() {
@Override
public void onSuccess(String data) {
callBack.onSuccess(data);
}
@Override
public void onFail(VolleyError error) {
}
});
}
}
package com.bawei.lmx.day13_2.mvp;
public class Presenter implements Contract.IPresenter {
private Model model;
Contract.IView iview;
@Override
public void attch(Contract.IView iView) {
model = new Model();
this.iview = iView;
}
@Override
public void detch() {
if (model != null) {
model = null;
}
if (iview != null) {
iview = null;
}
System.gc();
}
@Override
public void login(String url) {
model.getRequest(url, new Contract.IModel.ModelCallBack() {
@Override
public void onSuccess(String data) {
iview.getPreData(data);
}
@Override
public void onFail() {
}
});
}
}