栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android studio 视频播放APP

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android studio 视频播放APP

MainActivity.java
package com.rajendra.courseapp;

import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.os.Bundle;

import com.rajendra.courseapp.adapter.CourseForYouAdapter;
import com.rajendra.courseapp.adapter.PopularCourseAdapter;
import com.rajendra.courseapp.model.CourseData;
import com.rajendra.courseapp.model.CourseForYou;
import com.rajendra.courseapp.model.PopularCourse;
import com.rajendra.courseapp.retrofit.ApiInterface;
import com.rajendra.courseapp.retrofit.RetrofitClient;

import java.util.List;

import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;

public class MainActivity extends AppCompatActivity {

    ApiInterface apiInterface;

    RecyclerView popularRecycler, courseForYouRecycler;
    PopularCourseAdapter popularCourseAdapter;

    CourseForYouAdapter courseForYouAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        apiInterface = RetrofitClient.getRetrofitInstance().create(ApiInterface.class);

        Call> call = apiInterface.getAllCourses();

        call.enqueue(new Callback>() {
            @Override
            public void onResponse(Call> call, Response> response) {

                List courseDataList = response.body();

                setPopularRecycler(courseDataList.get(0).getPopularCourses());

                setCourseForYouRecycler(courseDataList.get(0).getCourseForYou());

            }



            @Override
            public void onFailure(Call> call, Throwable t) {

            }
        });


    }

    private void setPopularRecycler(List popularCourseList){

        popularRecycler = findViewById(R.id.popular_recycler);
        RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
        popularRecycler.setLayoutManager(layoutManager);
        popularCourseAdapter = new PopularCourseAdapter(this, popularCourseList);
        popularRecycler.setAdapter(popularCourseAdapter);

    }

    private void setCourseForYouRecycler(List courseForYouList){

        courseForYouRecycler = findViewById(R.id.course_for_you);
        RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
        courseForYouRecycler.setLayoutManager(layoutManager);
        courseForYouAdapter = new CourseForYouAdapter(this, courseForYouList);
        courseForYouRecycler.setAdapter(courseForYouAdapter);

    }
}
activity_main.xml

CourseDetails.java (MainActivity)
package com.rajendra.courseapp;

import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.os.Bundle;

import com.rajendra.courseapp.adapter.LessonAdapter;
import com.rajendra.courseapp.adapter.PopularCourseAdapter;
import com.rajendra.courseapp.model.CourseData;
import com.rajendra.courseapp.model.CourseDetail;
import com.rajendra.courseapp.model.PopularCourse;
import com.rajendra.courseapp.model.VideoLession;
import com.rajendra.courseapp.retrofit.ApiInterface;
import com.rajendra.courseapp.retrofit.RetrofitClient;

import java.util.List;

import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;

public class CourseDetails extends AppCompatActivity {

    ApiInterface apiInterface;
    RecyclerView lessonRecycler;
    LessonAdapter lessonAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_course_details);



        apiInterface = RetrofitClient.getRetrofitInstance().create(ApiInterface.class);

        Call> call = apiInterface.getAllLesson();

        call.enqueue(new Callback>() {
            @Override
            public void onResponse(Call> call, Response> response) {

                List courseDataList = response.body();

                setLessonList(courseDataList.get(0).getVideoLession());

            }



            @Override
            public void onFailure(Call> call, Throwable t) {

            }
        });


    }

    private void setLessonList(List videoLessionList){

        lessonRecycler = findViewById(R.id.lesson_recycler);
        RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
        lessonRecycler.setLayoutManager(layoutManager);
        lessonAdapter = new LessonAdapter(this, videoLessionList);
        lessonRecycler.setAdapter(lessonAdapter);

    }
}

activity_course_details.xml

 VideoLesson.java (Data)
package com.rajendra.courseapp.model;

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class VideoLession {

    @SerializedName("name")
    @Expose
    private String name;
    @SerializedName("videoUrl")
    @Expose
    private String videoUrl;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getVideoUrl() {
        return videoUrl;
    }

    public void setVideoUrl(String videoUrl) {
        this.videoUrl = videoUrl;
    }

}

lesson_row_item.xml

LessonAdapter.java
package com.rajendra.courseapp.adapter;

import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import com.rajendra.courseapp.R;
import com.rajendra.courseapp.VideoPlayer;
import com.rajendra.courseapp.model.VideoLession;

import java.util.List;

public class LessonAdapter extends RecyclerView.Adapter {


    Context context;
    List videoLessionList;

    public LessonAdapter(Context context, List videoLessionList) {
        this.context = context;
        this.videoLessionList = videoLessionList;
    }

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

        View view = LayoutInflater.from(context).inflate(R.layout.lesson_row_item, parent, false);

        //here we need to create a row item layout file
        return new LessonViewHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull LessonViewHolder holder, @SuppressLint("RecyclerView") final int position) {

        //here we will bind data to our layout

        holder.lessonName.setText(videoLessionList.get(position).getName());

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

                Intent i = new Intent(context, VideoPlayer.class);
                i.putExtra("url", videoLessionList.get(position).getVideoUrl());
                context.startActivity(i);

            }
        });


    }

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

    public  static class LessonViewHolder extends RecyclerView.ViewHolder{



        TextView lessonName;

        public LessonViewHolder(@NonNull View itemView) {
            super(itemView);


            lessonName = itemView.findViewById(R.id.lesson_name);

        }
    }



}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1032329.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号