How to add auto play next song option in my android apps? : I want to add automatically play next song option when previous is finished in my android apps. I am trying many code but fail. Plase, give full code, not hints.

Here is onClick, LoadSong, StartSong and StopSong Method


----------

public void loadSongs() {

        JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(URL_SONGS, new Response.Listener<JSONArray>() {
            @Override
            public void onResponse(JSONArray response) {
                nivAlbumArt.setImageUrl(URL_ALBUM_ART_BIG, imageLoader);

                Glide.with(AlbumPlayActivity.this).load(URL_ALBUM_ART_BLUR).asBitmap().into(new SimpleTarget<Bitmap>(700,300) {
                    @Override
                    public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
                        Drawable drawable = new BitmapDrawable(resource);
                        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
                            llList.setBackground(drawable);
                        }
                    }
                });
                for (int i = 0; i < response.length(); i++) {
                    try {
                        JSONObject jObj = response.getJSONObject(i);
                        SongListModel songModel = new SongListModel();

                        Log.i(">>REQ", jObj.toString());
                        songModel.setAlbum_id(jObj.getString("album_id"));
                        songModel.setCategory_id(jObj.getString("category_id"));
                        songModel.setId(jObj.getString("id"));
                        songModel.setSinger_id(jObj.getString("singer_id"));
                        songModel.setSong(jObj.getString("song"));

                        songs.add(songModel);
                        startPlaying("http://demo1.zapbd.com/apps/content/mp3/" + songs.get(songID).getSong().replace(" ", "%20"));
                        songs.get(songID).setVisible(true);
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }


                }
                songAdapter.notifyDataSetChanged();
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {

            }
        });
        jsonArrayRequest.setRetryPolicy(new DefaultRetryPolicy(
                (int) TimeUnit.SECONDS.toMillis(20),
                DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
                DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
        // Adding request to request queue
        AppController.getInstance().addToRequestQueue(jsonArrayRequest);
    }

 