public interface DelPerson {
void canshu(String url, Map<String, String> map);
}
public class DelPersonlei implements DelPerson,DelModel.Onfinsh {
private DelMyinit delMyinit;
private final DelModellei delModellei;
public DelPersonlei(DelMyinit delMyinit) {
this.delMyinit = delMyinit;
delModellei = new DelModellei();
}
@Override
public void canshu(String url, Map<String, String> map) {
if(delMyinit==null){
return;
}
delModellei.canshu(url,map,this);
}
//解绑使用
public void catchView(){
if(null != delMyinit){
delMyinit = null;
}
}
@Override
public void success(String delCar) {
delMyinit.success(delCar);
}
@Override
public void failure(String sb) {
delMyinit.failure(sb);
}
}
public interface DelModel {
public interface Onfinsh {
void success(String delCar);
void failure(String sb);
}
void canshu(String url, Map<String, String> map, Onfinsh onfinsh);
}
public class DelModellei implements DelModel {
@Override
public void canshu(String url, Map<String, String> map, final Onfinsh onfinsh) {
// RetrofitUtils instance = RetrofitUtils.getInstance(map, url);
Log.e("chen", "canshu: 我是接受到的数据"+url+map );
DelOkHttpUtils.getInert().doGet(map,url, new DelUtiulsinteface() {
@Override
public void chenggong(String delCar) {
onfinsh.success(delCar);
}
@Override
public void shibai(String shi) {
onfinsh.failure(shi);
}
});
}
}
public class DelCar {
/**
* msg : 购物车数据不存在
* code : 1
*/
private String msg;
private String code;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}
public interface DelMyinit {
void success(String delCar);
void failure(String sb);
}
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.QueryMap;
//删除的接口
//http://120.27.23.105/product/deleteCart?uid=3515&pid=26
//http://120.27.23.105/product/updateCarts?uid=71&sellerid=1&pid=1&selected=0&num=10
public interface Servceinteface {
@GET("getCarts")
//泛型中放的是返回的Bean类,后面的参数放的是map集合,存放拼接的参数
Call<Carbean> call(@QueryMap Map<String, String> map);
@GET("deleteCart")
//泛型中放的是返回的Bean类,后面的参数放的是map集合,存放拼接的参数
Call<DelCar> del(@QueryMap Map<String, String> map);
@GET("updateCarts")
//泛型中放的是返回的Bean类,后面的参数放的是map集合,存放拼接的参数
Call<UpdateCar> update(@QueryMap Map<String, String> map);
}
public interface DelUtiulsinteface {
void chenggong(String delCar);
void shibai(String shi);
}
import okhttp3.OkHttpClient;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
public class DelOkHttpUtils {
private Handler handler=new Handler();
private static DelOkHttpUtils okHttp;
private String message;
private String result;
//单例模式
private DelOkHttpUtils(){
}
public static DelOkHttpUtils getInert(){
if(null == okHttp){
synchronized (DelOkHttpUtils.class){
okHttp=new DelOkHttpUtils();
}
}
return okHttp;
}
public void doGet(Map<String,String> map, String uri, final DelUtiulsinteface delUtiulsinteface){
//创建OkHttp网络请求对象
OkHttpClient build1 = new OkHttpClient.Builder()
.build();
//创建一个Retrofit的创建对象
Retrofit build = new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create())
//通过这个方法将Okhttp放进Retrofit中,实现结合使用
.client(build1)
.baseUrl(uri)
.build();
Log.e("chen", "doGet: 我是ok的接口"+uri );
//APIInterface是我们自定义的接口类,用来拼接地址
Servceinteface servceinteface = build.create(Servceinteface.class);
Call call = servceinteface.del(map);
Log.e("chen", "doGet:啊啊啊啊啊 "+call );
call.enqueue(new Callback<DelCar>() {
@Override
public void onResponse(Call<DelCar> call, Response<DelCar> response) {
// String msg = response.body().getMsg();
Log.e("chen", "onResponse:好的 "+"123456" );
String body = response.body().getMsg();
delUtiulsinteface.chenggong(body);
}
@Override
public void onFailure(Call<DelCar> call, Throwable t) {
String s = t.getMessage().toString();
delUtiulsinteface.shibai(s);
}
});
}
}