Ответ на модификацию дает неверные данные

Я пытаюсь получить URL-адрес видео, название и количество лайков из API vid.me. У меня есть ответ GET, и результат вы можете увидеть из https://api.vid.me/videos/featured Я создаю модель, API и пользовательский адаптер для recyclerview. В RecyclerView я хочу видеть видео, но не воспроизводит видео, просто снимок или что-то в этом роде. Но когда Я запускаю свое приложение, я вижу черную фигуру на месте VideoView. Эта фигура имеет разный размер, но ее черная фигура не похожа на видео, а поля для заголовка и оценки пусты. Что я должен сделать, чтобы изменить видеопросмотр на обычное видео и поместить данные в оба текстовых просмотра?

Video class(POJO):
public class Video {

    @SerializedName("clip_url")
    @Expose
    private String clip_url;
    @SerializedName("title")
    @Expose
    private String title;
    @SerializedName("description")
    @Expose
    private String description;
    @SerializedName("likes_count")
    @Expose
    private Integer likes_count;

    /**
     *
     * @return
     * The url
     */
    public String getClipUrl() {
        return clip_url;
    }

    /**
     *
     * @param clip_url
     * The url
     */
    public void setClip_url(String clip_url) {
        this.clip_url = clip_url;
    }

    /**
     *
     * @return
     * The title
     */
    public String getTitle() {
        return title;
    }

    /**
     *
     * @param title
     * The title
     */
    public void setTitle(String title) {
        this.title = title;
    }

    /**
     *
     * @return
     * The description
     */
    public String getDescription() {
        return description;
    }

    /**
     *
     * @param description
     * The description
     */
    public void setDescription(String description) {
        this.description = description;
    }

    /**
     *
     * @return
     * The score
     */
    public Integer getScore() {
        return likes_count;
    }

    /**
     *
     * @param likes_count
     * The score
     */
    public void setScore(Integer likes_count) {
        this.likes_count = likes_count;
    }

}

Адаптер RecyclerView:

public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.VideoViewHolder> {
    List<Video> call;
    RecyclerViewAdapter(List<Video> call){
        this.call = call;

    }
    @Override
    public VideoViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_view_row,parent,false);
        VideoViewHolder videoViewHolder = new VideoViewHolder(v);
        return videoViewHolder;
    }

    @Override
    public void onBindViewHolder(VideoViewHolder holder, int position) {
        String video_url = call.get(position).getClipUrl();
holder.videoView.setVideoURI(Uri.parse(video_url));

        holder.video_name.setText(call.get(position).getTitle());
      //  holder.video_like.setText(call.get(position).getScore());
    }

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

    public class VideoViewHolder extends RecyclerView.ViewHolder {
        CardView cardView;
        VideoView videoView;
        TextView video_name;
        TextView video_like;
        public VideoViewHolder(View itemView) {
            super(itemView);
            cardView = (CardView) itemView.findViewById(R.id.card_view);
            videoView = (VideoView)itemView.findViewById(R.id.videoview);
            video_name = (TextView) itemView.findViewById(R.id.Videoname_textView);
            video_like = (TextView) itemView.findViewById(R.id.like_textview);
        }
    }
}

Рекомендуемый фрагмент:

public class FeaturedFragment extends Fragment {
    RecyclerViewAdapter recyclerViewAdapter;
    public static final String ROOT_URL = "https://api.vid.me/";
    public List<Video> videos;
    RecyclerView recList;

    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_featured, container, false);
        recList = (RecyclerView) rootView.findViewById(R.id.cardList);
        recList.setHasFixedSize(true);
        LinearLayoutManager llm = new LinearLayoutManager(getActivity());
        llm.setOrientation(LinearLayoutManager.VERTICAL);
        recList.setLayoutManager(llm);
        try {
            getVideos();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return rootView;
    }

    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

    }

    private void getVideos() throws IOException {
        Retrofit retrofitAdapter = new Retrofit.Builder()
                .addConverterFactory(GsonConverterFactory.create())
                .baseUrl(ROOT_URL)
                .build();
        final VideoApi videoApi = retrofitAdapter.create(VideoApi.class);
        Call<Videos> call = videoApi.getFeaturedVideo();
        call.enqueue(new Callback<Videos>() {
            @Override
            public void onResponse(Call<Videos> call, Response<Videos> response) {
                Log.d("MainActivity", "Status Code = " + response.code());
                videos = response.body().videos;
                recyclerViewAdapter = new RecyclerViewAdapter(videos);


                recList.setAdapter(recyclerViewAdapter);
            }

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

            }


        });
    }

}

person rost_proz    schedule 22.04.2016    source источник


Ответы (1)


Пожалуйста, следуйте этому руководству и узнайте, как получить данные с сервера. Убедитесь, что вы понимаете весь код. Тогда приходите сюда, если у вас есть еще вопросы.

http://www.vogella.com/tutorials/Retrofit/article.html

person nutella_eater    schedule 22.04.2016
comment
Мне нужно получить некоторые данные из объекта видео. Его заголовок, количество лайков и полный URL-адрес. Я не понимаю, как я могу получить эти данные из объекта. Мне нужно изменить класс API и модель? Как? - person rost_proz; 22.04.2016
comment
@alexeypolusov завершено* - person Kosh; 22.04.2016
comment
а также? Вы поняли, как создаются модели? Создайте родительскую модель и поместите в нее список видео. - person nutella_eater; 22.04.2016