Easy methods to Construct a Easy TikTok Clone Android App utilizing Firebase?

0
13
Adv1


Adv2

package deal com.anas.gfgtiktokclone;

  

import android.media.MediaPlayer;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.ProgressBar;

import android.widget.TextView;

import android.widget.VideoView;

import androidx.annotation.NonNull;

import androidx.recyclerview.widget.RecyclerView;

import com.firebase.ui.database.FirebaseRecyclerAdapter;

import com.firebase.ui.database.FirebaseRecyclerOptions;

  

public class Adapter_Video extends FirebaseRecyclerAdapter<

    Model_Video, Adapter_Video.Video_ViewHolder> {

  

    public Adapter_Video(

        @NonNull FirebaseRecyclerOptions<Model_Video>

            choices)

    {

        tremendous(choices);

    }

  

    @Override

    protected void

    onBindViewHolder(@NonNull Video_ViewHolder holder,

                     int place,

                     @NonNull Model_Video mannequin)

    {

        holder.setData(mannequin);

    }

  

    @NonNull

    @Override

    public Video_ViewHolder

    onCreateViewHolder(@NonNull ViewGroup mum or dad,

                       int viewType)

    {

        View view = LayoutInflater.from(mum or dad.getContext())

                        .inflate(R.format.video_single,

                                 mum or dad, false);

        return new Video_ViewHolder(view);

    }

  

    public class Video_ViewHolder

        extends RecyclerView.ViewHolder {

  

        VideoView videoView_single;

        TextView txtTitle_single, txtDesc_single;

        ProgressBar progressBar_single;

  

        public Video_ViewHolder(@NonNull View itemView)

        {

            tremendous(itemView);

  

            videoView_single = itemView.findViewById(

                R.id.videoView_single);

            txtDesc_single = itemView.findViewById(

                R.id.txtDesc_single);

            txtTitle_single = itemView.findViewById(

                R.id.txtTitle_single);

            progressBar_single = itemView.findViewById(

                R.id.progressBar_single);

        }

  

        void setData(Model_Video model_obj)

        {

            videoView_single.setVideoPath(

                model_obj.getUrl());

            txtTitle_single.setText(model_obj.getTITLE());

            txtDesc_single.setText(model_obj.getDESC());

  

            videoView_single.setOnPreparedListener(

                new MediaPlayer.OnPreparedListener() {

                    @Override

                    public void onPrepared(MediaPlayer mp)

                    {

                        progressBar_single.setVisibility(

                            View.GONE);

                        mp.begin();

                    }

                });

  

            videoView_single.setOnCompletionListener(

                new MediaPlayer.OnCompletionListener() {

                    @Override

                    public void onCompletion(MediaPlayer mp)

                    {

                        mp.begin();

                    }

                });

        }

    }

}

Adv3