Android Retrofit Recycler Getdata using webservice

//---- Web Services ------------------------------------------------------------------------
    private void Display_Language() {

        progressBar.setVisibility(View.VISIBLE);

        RestAdapter adapter = new RestAdapter.Builder()
                .setEndpoint(ROOT_URL)
                .build();

        AppConfig.Sel_lang_newsdata api = adapter.create(AppConfig.Sel_lang_newsdata.class);
        api.Sel_lang_newsdataUser(

                language_name,

                new Callback<model_selected_lang_news>() {


                    public Rv_Select_Lang_Adepter mAdapter;
                    public model_selected_lang_news model_selected_lang_news_dislpay;

                    @Override                    public void success(model_selected_lang_news display_model, Response response) {

                        if (display_model.getSuccess() == 1) {

                            model_selected_lang_news_dislpay = display_model;
                            mAdapter = new Rv_Select_Lang_Adepter(model_selected_lang_news_dislpay,language_name,language_id);
                            rv_lag_sel_news.setAdapter(mAdapter);
                            progressBar.setVisibility(View.GONE);

                        } else {
                            progressBar.setVisibility(View.GONE);
                            Toast.makeText(getApplicationContext(), "No Details Found", Toast.LENGTH_SHORT).show();
                        }

                    }

                    @Override                    public void failure(RetrofitError error) {
                        progressBar.setVisibility(View.GONE);

                        Toast.makeText(getApplicationContext(), "Check Your Internet Connection", Toast.LENGTH_SHORT).show();

                    }
                }
        );
    }


    //---------------/ Drower set menu iconFetch Data  /--------------------------------------------------    public void RetriveFetchdataDrower() {

        loading = new ProgressDialog(this, ProgressDialog.STYLE_SPINNER);
        loading.setMessage("Loading");
        loading.show();
        loading.setCancelable(true);
        loading.setCanceledOnTouchOutside(false);


        RestAdapter adapter = new RestAdapter.Builder()
                .setEndpoint(ROOT_URL) //Setting the Root URL                .build();

        AppConfig.Fetch_Datadrower api = adapter.create(AppConfig.Fetch_Datadrower.class);
        api.Fetch_Dataread(

                language_name,

                new Callback<JsonElement>() {

                    @Override                    public void success(JsonElement result, Response response) {

                        String myResponse = result.toString();
                        Log.d("response", "" + response);

                        drawer_item=new ArrayList<String>();

                        try {
                            JSONObject jObj = new JSONObject(myResponse);
                            int success = jObj.getInt("success");
                            if (success == 1) {
                                JSONArray jsonArray = jObj.getJSONArray("result");

                                final Menu menu = navigationView.getMenu();

                                for (int i = 0; i < jsonArray.length(); i++)
                                {

                                    JSONObject jo = jsonArray.getJSONObject(i);

                                    drower_category = jo.getString("mc_name");

                                    icon_image = jo.getString("icon_image");

                                    drawer_item.add(drower_category);

                                     item = menu.add(drower_category);

                                    Picasso.with(MainActivity.this)
                                            .load(icon_image)
                                            .into(new Target() {
                                                @Override                                                public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
                                                    item.setIcon(new BitmapDrawable(getResources(), bitmap));
                                                }

                                                @Override                                                public void onBitmapFailed(Drawable errorDrawable) {

                                                }

                                                @Override                                                public void onPrepareLoad(Drawable placeHolderDrawable) {

                                                }
                                            });

                                //    Toast.makeText(MainActivity.this, "language_name"+drower_category, Toast.LENGTH_SHORT).show();                                 //   Toast.makeText(MainActivity.this, "image"+icon_image, Toast.LENGTH_SHORT).show();                                }

                                Menu menu1 = navigationView.getMenu();
                                Menu submenu = menu1.addSubMenu("Communication");
                                submenu.add("Share").setIcon(R.drawable.ic_menu_share);
                                navigationView.invalidate();


                                loading.dismiss();


                            } else {
                                loading.dismiss();
                                Toast.makeText(MainActivity.this, "Data not load drower", Toast.LENGTH_SHORT).show();

                            }
                        } catch (JSONException e) {
                            Log.d("exception", e.toString());
                        }



                    }

                    @Override                    public void failure(RetrofitError error) {
                        loading.dismiss();
                        Toast.makeText(MainActivity.this, "Data not load drower", Toast.LENGTH_SHORT).show();
                    }

                }

        );

    }

=========================Adepter class Rv_Select_Lang_Adepter
 
 

public class Rv_Select_Lang_Adepter extends RecyclerView.Adapter<Rv_Select_Lang_Adepter.MyViewHolder>  {

    private final String language_id,language_name;
    private View view;
    private Context context;
    private model_selected_lang_news Sel_lag_news;
    private final static int FADE_DURATION = 700;
    int lastPosition = -1;

    @Override    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        view = LayoutInflater.from(parent.getContext()).inflate(R.layout.selected_lag_category, parent, false);
        context = view.getContext();
        return new MyViewHolder(view);

    }

    public Rv_Select_Lang_Adepter(model_selected_lang_news Sel_lag_news, String language_name, String language_id) {
        this.Sel_lag_news = Sel_lag_news;
        this.language_id = language_id;
        this.language_name = language_name;

    }

    @Override    public void onBindViewHolder(MyViewHolder holder, final int position) {


        if (position > lastPosition) {

            Animation animation = AnimationUtils.loadAnimation(context, R.anim.up_from_bottom);
            view.startAnimation(animation);

            setScaleAnimation(holder.tv_language);
            lastPosition = position;
        }
        if (position < lastPosition) {

            Animation animation = AnimationUtils.loadAnimation(context, R.anim.up_from_bottom);
            view.startAnimation(animation);
            // second animation            setScaleAnimation(holder.tv_language);

            lastPosition = position;
        }



        holder.tv_language.setText(Sel_lag_news.getCat_selected_news().get(position).getCategory_name());

        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View view) {

                String Category_id = Sel_lag_news.getCat_selected_news().get(position).getCategory_id();
                String Category_name = Sel_lag_news.getCat_selected_news().get(position).getCategory_name();

                Intent in = new Intent(context, Selected_Cat_News.class);
                in.putExtra("language_id", language_id);
                in.putExtra("language_name", language_name);
                in.putExtra("Category_id", Category_id);
                in.putExtra("Category_name", Category_name);


                context.startActivity(in);
            }
        });


    }

    @Override    public int getItemCount() {
        return Sel_lag_news.getCat_selected_news().size();
    }

    public class MyViewHolder extends RecyclerView.ViewHolder {
        private final TextView tv_language;

        public MyViewHolder(View itemView) {
            super(itemView);


            tv_language=(TextView)view.findViewById(R.id.tv_language);

            if(language_id.equals("1")){

                tv_language.setBackgroundResource(R.drawable.imgeng1);
                tv_language.setTextColor(Color.parseColor("#FF902A"));
            }
           if(language_id.equals("2")){

                tv_language.setBackgroundResource(R.drawable.imghindi);
               tv_language.setTextColor(Color.parseColor("#135F8D"));

           }
            if(language_id.equals("3")){

                tv_language.setBackgroundResource(R.drawable.imgguj);
                tv_language.setTextColor(Color.parseColor("#F24757"));

            }
        }
    }

    private void setScaleAnimation(View view) {
        ScaleAnimation anim = new ScaleAnimation(0.0f, 1.0f, 0.0f, 1.0f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
        anim.setDuration(FADE_DURATION);
        view.startAnimation(anim);
    }

}

 
================model class-------------

public class model_selected_lang_news {



    @SerializedName("result")
    ArrayList<Cat_selected_news> Cat_selected_news = new ArrayList<>();

    public int getSuccess() {
        return success;
    }

    public void setSuccess(int success) {
        this.success = success;
    }

    @SerializedName("success")
    private int success;


    public ArrayList<model_selected_lang_news.Cat_selected_news> getCat_selected_news() {
        return Cat_selected_news;
    }

    public void setCat_selected_news(ArrayList<model_selected_lang_news.Cat_selected_news> cat_selected_news) {
        Cat_selected_news = cat_selected_news;
    }



    public class Cat_selected_news {

        @SerializedName("category_id")
        public String category_id;
        @SerializedName("category_name")
        public String category_name;


        public String getCategory_id() {
            return category_id;
        }

        public void setCategory_id(String category_id) {
            this.category_id = category_id;
        }

        public String getCategory_name() {
            return category_name;
        }

        public void setCategory_name(String category_name) {
            this.category_name = category_name;
        }



    }
    }
-------------------------appconfig
 


public interface Sel_lang_newsdata {

    @FormUrlEncoded    @POST("/Daily_News/daily_news_category.php")

    void Sel_lang_newsdataUser(
            @Field("language_name") String language_id,
            Callback<model_selected_lang_news> callback);
} 

Comments

Popular posts from this blog

retrofil gjstatus lanuage

form object

Login Preference in android create class