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<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) {
}
});
}
}