Retrofit网络请求 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);
    }
}

  1. 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<ProduckBean> Get(@Url String url, @QueryMap HashMap<String,String> map);
    //搜索展示
    @GET
    Call<SerchBean> 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) {

            }
        });
    }


}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值