Reteofit网络请求 EventBus传值

1.view层 eventBus

public class ProduckXQActivity extends AppCompatActivity implements ProduckContract.IProduckView {

private TextView price;
private XRecyclerView xlv;
private TextView name;
private ProduckPresentent produckPresentent;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_produck_xq);
    name = findViewById(R.id.name);
    price = findViewById(R.id.price);
    produckPresentent = new ProduckPresentent(this);
}

@Override
protected void onStart() {
    super.onStart();
    EventBus.getDefault().register(this);
}

@Subscribe(sticky = true)
public void RequestId(String s){

// Toast.makeText(this,s,Toast.LENGTH_SHORT).show();
HashMap<String,String> params = new HashMap<>();
params.put(“commodityId”,s);
produckPresentent.getXQList(params);
}
@Override
public void ProduckFile(String msg) {

}

@Override
public void ProduckSuccess(ProduckBean produckBean) {

}

@Override
public void XQFile(String msg) {


}

@Override
public void XQSuccess(ProduckXQBean produckXQBean) {

// Toast.makeText(this,produckXQBean.result.categoryName,Toast.LENGTH_SHORT).show();
/* String categoryName = produckXQBean.result.categoryName;
String commodityName = produckXQBean.result.commodityName;
String name1 = commodityName;*/

  name.setText(produckXQBean.result.commodityName);

    Toast.makeText(this,name.getText().toString()+"",Toast.LENGTH_SHORT).show();
    price.setText(produckXQBean.result.price+"");
}



@Override
public void SearchFile(String msg) {

}

@Override
public void SerachSuccess(SerchBean serchBean) {

}

@Override
protected void onDestroy() {
    super.onDestroy();
    EventBus.getDefault().unregister(this);
}

}

Util Retrofit网络请求

public class RetrofitUtil {
private static RetrofitUtil intanct;
private final Retrofit retrofit;

public RetrofitUtil() {
    HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor();
    httpLoggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
    OkHttpClient okHttpClient = new OkHttpClient.Builder()
            .addInterceptor(httpLoggingInterceptor)
            .build();
    retrofit = new Retrofit.Builder()
            .baseUrl(ProduckApi.BASE_URL)
            .addConverterFactory(GsonConverterFactory.create())
            .client(okHttpClient)
            .build();
}
public UserServicer setRetrofit(){
    return retrofit.create(UserServicer.class);
}
public static RetrofitUtil getIntanct() {
    if (intanct == null){
        synchronized (RetrofitUtil.class){
            if (intanct == null){
                intanct = new RetrofitUtil();
            }
        }
    }
    return intanct;
}

}

3.UserService

public interface UserServicer {
//商品列表
@GET
Call Get(@Url String url, @QueryMap HashMap<String,String> map);
//搜索展示
@GET
Call GetSearch(@Url String url, @QueryMap HashMap<String,String> map);

@GET
Call<ProduckXQBean> GetXQ(@Url String url, @QueryMap HashMap<String,String> map);

@POST
@FormUrlEncoded
Call<ProduckBean> Post(@Url String url,@FieldMap HashMap<String,SerchBean> map);

@GET
Call<ProduckBean> GetS(@Url String url,@QueryMap HashMap<String,SerchBean> map);

}

4.Model

public class ProduckModel implements ProduckContract.IContent {

@Override
public void getList(HashMap<String, String> map, final RequestCallBack requestCallBack) {
    UserServicer userServicer = RetrofitUtil.getIntanct().setRetrofit();
    Call<ProduckBean> list = userServicer.Get(ProduckApi.RxxpApi, map);
    list.enqueue(new Callback<ProduckBean>() {
        @Override
        public void onResponse(Call<ProduckBean> call, Response<ProduckBean> response) {
            ProduckBean body = response.body();
            requestCallBack.onSuccess(body);
        }

        @Override
        public void onFailure(Call<ProduckBean> call, Throwable t) {

        }
    });
}
@Override
public void getSerchList(HashMap<String, String> params, final RequestCallBack requestCallBack) {
    UserServicer userServicer = RetrofitUtil.getIntanct().setRetrofit();
    Call<SerchBean> serchBeanCall = userServicer.GetSearch(ProduckApi.SearchApi, params);
    serchBeanCall.enqueue(new Callback<SerchBean>() {
        @Override
        public void onResponse(Call<SerchBean> call, Response<SerchBean> response) {
            SerchBean body = response.body();
            requestCallBack.onSearChsuccess(body);
        }

        @Override
        public void onFailure(Call<SerchBean> call, Throwable t) {

        }
    });
}

@Override
public void getXQList(HashMap<String, String> params, final RequestCallBack requestCallBack) {
    UserServicer userServicer = RetrofitUtil.getIntanct().setRetrofit();
    Call<ProduckXQBean> produckXQBeanCall = userServicer.GetXQ(ProduckApi.RxxpmApi, params);

    produckXQBeanCall.enqueue(new Callback<ProduckXQBean>() {
        @Override
        public void onResponse(Call<ProduckXQBean> call, Response<ProduckXQBean> response) {
            ProduckXQBean body = response.body();
            requestCallBack.onSuccessXQ(body);
        }

        @Override
        public void onFailure(Call<ProduckXQBean> call, Throwable t) {

        }
    });
}

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值