retrofit
API :
public class APIClient { public static final String BASE_URL = "http://182.18.144.215/~ayonweb/yamus/json/"; private static Retrofit retrofit = null; public static Retrofit getClient() { if (retrofit==null) {a retrofit = new Retrofit.Builder() .baseUrl(BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .build(); } return retrofit; } }
public interface APIInterface { @POST("login.php?") Call<LoginPojo> loginApi(@Query("mobile") String mobile);}Class:public class SubcategoryActivity extends BaseActivity implements View.OnClickListener, CatClickListener { public Context context; RecyclerView mRecyclerView; SubcategaryAdapter mAdapter; ArrayList<SubcategoryList> mlist; private MyDialog dialog; APIInterface apiInterface; String id,Category,search_edittext; M_Shared_Pref m_shared_pref; ImageView fav,back_button; TextView tv_noti_count,header; List<GuestCartList> mlist_id; RelativeLayout rl_cart; DbHelper mHelper; EditText editText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_category); context = SubcategoryActivity.this; Bundle bundle = this.getIntent().getExtras(); if (bundle != null) { id = bundle.getString("id"); Category = bundle.getString("Category"); search_edittext = bundle.getString("search_edittext"); System.out.println("_id_id" + id); } mHelper = new DbHelper(this); dialog = new MyDialog(this); apiInterface = APIClient.getClient().create(APIInterface.class); m_shared_pref=new M_Shared_Pref(context); editText=findViewById(R.id.editText); editText.setOnClickListener(this); editText.setFocusable(false); editText.setClickable(false); editText.setText(search_edittext); rl_cart=findViewById(R.id.rl_cart); rl_cart.setOnClickListener(this); header = findViewById(R.id.header); header.setText(Category); back_button=findViewById(R.id.back_button);back_button.setOnClickListener(this); fav=findViewById(R.id.fav);fav.setOnClickListener(this); tv_noti_count=findViewById(R.id.tv_noti_count); mlist = new ArrayList<>(); mRecyclerView = findViewById(R.id.mRecyclerView); mRecyclerView.setHasFixedSize(true); mRecyclerView.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false)); mAdapter = new SubcategaryAdapter(mlist, this); mAdapter.setCatMyClickListener(this); mRecyclerView.setAdapter(mAdapter); if(NetWorkCheck.checkConnection(context)){ subcategary_api(); } else{ TastyToast.makeText(context, "Internet connection is disable", TastyToast.LENGTH_LONG, TastyToast.WARNING); } } @Override public void onResume() { super.onResume(); mlist_id = new ArrayList<>(); mlist_id= mHelper.getdata(); if (m_shared_pref.getPrefranceBooleanValue(App_Info.IsLoggedIn)) { cart_api(); } else{ if(mlist_id.size()>0){ tv_noti_count.setText(String.valueOf(mlist_id.size())); tv_noti_count.setVisibility(View.VISIBLE); } else{ tv_noti_count.setVisibility(View.GONE); } } } public void subcategary_api() { dialog.ShowProgressDialog(); Call<SubcategoryPojo> call1 = apiInterface.subcategoryApi(id); call1.enqueue(new Callback<SubcategoryPojo>() { @Override public void onResponse(Call<SubcategoryPojo> call, retrofit2.Response<SubcategoryPojo> response) { Log.e("url_activity",response.raw().request().url().toString()); SubcategoryPojo user1 = response.body(); dialog.CancelProgressDialog(); try{ if(user1 != null) { mlist.addAll(user1.getSubcategoryList()); mAdapter.notifyDataSetChanged(); } } catch (Exception e){ } } @Override public void onFailure(Call<SubcategoryPojo> call, Throwable t) { System.out.println("------------Failure----------------"); call.cancel(); dialog.CancelProgressDialog(); } }); } public void cart_api() { Call<MessagePojo> call1 = apiInterface.CartNumsApi(m_shared_pref.getPrefranceStringValue(App_Info.UserID)); call1.enqueue(new Callback<MessagePojo>() { @Override public void onResponse(Call<MessagePojo> call, retrofit2.Response<MessagePojo> response) { Log.e("url_activity",response.raw().request().url().toString()); MessagePojo user1 = response.body(); try{ if(user1 != null) { if(!user1.getTotal_Cart().equals("0")){ tv_noti_count.setText(user1.getTotal_Cart()); tv_noti_count.setVisibility(View.VISIBLE); } else{ tv_noti_count.setVisibility(View.GONE); } } } catch (Exception e){ } } @Override public void onFailure(Call<MessagePojo> call, Throwable t) { System.out.println("------------Failure----------------"); call.cancel(); dialog.CancelProgressDialog(); } }); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.fav: launchIntent(WishListActivity.class,false); break; case R.id.back_button: finish(); break; case R.id.rl_cart: if (m_shared_pref.getPrefranceBooleanValue(App_Info.IsLoggedIn)) { launchIntent(CartListActivity.class,false); } else launchIntent(GuestCartListActivity.class,false); break; case R.id.editText: Bundle bundle = new Bundle(); bundle.putString("editText", editText.getText().toString()); launchIntent(SearchActivity.class,bundle,false); break; } } @Override public void onItemClick_cat(View v, Object bean, String name) { if (m_shared_pref.getPrefranceBooleanValue(App_Info.IsLoggedIn)) { System.out.println("click in login"); String ids = ((SubcategoryList) bean).getId(); Bundle bundle = new Bundle(); bundle.putString("cat_id", id); bundle.putString("sub_cat_id", ids); bundle.putString("types", ""); bundle.putString("subcategory", ((SubcategoryList) bean).getSubcategory()); // launchIntent(GuestProductActivity.class,bundle,false); launchIntent(ProductActivity.class,bundle,false); } else{ System.out.println("click in logout"); String ids = ((SubcategoryList) bean).getId(); Bundle bundle = new Bundle(); bundle.putString("cat_id", id); bundle.putString("sub_cat_id", ids); bundle.putString("types", ""); bundle.putString("subcategory", ((SubcategoryList) bean).getSubcategory()); // launchIntent(GuestProductActivity.class,bundle,false); launchIntent(GuestProductActivity.class,bundle,false); } } }Adapter:public class SubcategaryAdapter extends RecyclerView.Adapter<SubcategaryAdapter.ViewHolder> { private List<SubcategoryList> mList; Context ctx; public static CatClickListener listener; public SubcategaryAdapter(List<SubcategoryList> cl, Context context) { this.mList = cl; this.ctx = context; } @Override public SubcategaryAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View itemLayoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_categories_adapter, null); SubcategaryAdapter.ViewHolder viewHolder = new SubcategaryAdapter.ViewHolder(itemLayoutView); return viewHolder; } @Override public void onBindViewHolder(SubcategaryAdapter.ViewHolder viewHolder, final int position) { viewHolder.cat_name.setText(mList.get(position).getCategory()); viewHolder.sub_name.setText(mList.get(position).getSubcategory()); Glide.with(ctx).load(mList.get(position).getImages()).apply(new RequestOptions()).into(viewHolder.img_ctg_icon); viewHolder.rel_card.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { listener.onItemClick_cat(view,mList.get(position),""); } }); } // Return the size arraylist @Override public int getItemCount() { return mList.size(); } public void setCatMyClickListener(CatClickListener listener) { SubcategaryAdapter.listener = listener; } public static class ViewHolder extends RecyclerView.ViewHolder { TextView cat_name,sub_name; CardView card_view; RelativeLayout rel_card; LinearLayout ll_main; ImageView img_ctg_icon; public ViewHolder(View itemLayoutView) { super(itemLayoutView); cat_name = itemLayoutView.findViewById(R.id.cat_name); sub_name = itemLayoutView.findViewById(R.id.sub_name); img_ctg_icon = itemLayoutView.findViewById(R.id.img_ctg_icon); ll_main = itemLayoutView.findViewById(R.id.ll_main); rel_card = itemLayoutView.findViewById(R.id.rel_card); } } }Interface:public interface CatClickListener { public void onItemClick_cat(View v, Object bean, String name); }
Post a Comment