Android/Side Projects

Youtube 앱 개발하기

화요밍 2022. 3. 3. 18:27
728x90
반응형
Side Project - Youtube
영상의 목록을 보여주고 영상을 플레이하는 유튜브의 간단한 기능을 구현한 프로젝트

 

 

GitHub - hwayeon351/Youtube

Contribute to hwayeon351/Youtube development by creating an account on GitHub.

github.com


학습 회고

오늘은 레트로핏 서비스 객체를 통해 비디오 데이터를 받아오고 RecyclerView에 데이터를 적용하였다.

 


오늘 공부한 내용

  • Glide 라이브러리

레트로핏 서비스 객체를 통해 받아온 비디어 데이터를 RecyclerView에 적용하는 과정에서 Thumbnail 이미지를 이미지 뷰에 적용해주었다.

Thumbnail 이미지는 Url로부터 로딩해오기 위해 이를 빠르고 효율적으로 수행하는 Glide 라이브러리를 사용하였다.

 

Glide는 Android에서 미디어 디코딩, 메모리 및 디스크 캐싱, 리소스 풀링을 간단하고 사용하기 쉽게 인터페이스로 래핑한 빠르고 효율적인 오픈 소스 미디어 관리 및 이미지 로딩 프레임워크이다.

Gilde는 비디오, 이미지 및 애니메이션 GIF를 패치하거나, 디코딩하거나 디스플레이하는 기능을 지원한다.

기본적으로 Glide는 커스텀 HttpUrlConnection을 기반으로 사용하지만 Volley나 OkHttp 라이브러리에 플러그인하는 유틸리티 라이브러리도 제공한다.

 

Glide를 사용함으로써 모든 종류의 이미지 목록을 최대한 부드럽고 빠르게 스크롤하는 것에 포커스를 기울이고 있지만, remote 이미지를 가져오고, 크기를 조정하고, 디스플레이하는 등의 이미지 활용이 필요한 경우에도 효과적으로 사용할 수 있다.

inner class ViewHolder(private val view: View): RecyclerView.ViewHolder(view) {
    fun bind(item: VideoModel) {
        val titleTextView = view.findViewById<TextView>(R.id.titleTextView)
        val subtitleTextView = view.findViewById<TextView>(R.id.subtitleTextView)
        val thumbnailImageView = view.findViewById<ImageView>(R.id.thumbnailImageView)
        titleTextView.text = item.title
        subtitleTextView.text = item.subtitle

        Glide.with(thumbnailImageView.context)
            .load(item.thumb)
            .into(thumbnailImageView)
    }
}

 

http://bumptech.github.io/glide/doc/getting-started.html

 

Glide v4 : Getting Started

Basic Usage Loading images with Glide is easy and in many cases requires only a single line: Glide.with(fragment) .load(myUrl) .into(imageView); Cancelling loads you no longer need is simple too: Glide.with(fragment).clear(imageView); Although it’s good

bumptech.github.io

 

https://github.com/bumptech/glide

 

GitHub - bumptech/glide: An image loading and caching library for Android focused on smooth scrolling

An image loading and caching library for Android focused on smooth scrolling - GitHub - bumptech/glide: An image loading and caching library for Android focused on smooth scrolling

github.com

 

 

728x90
반응형

'Android > Side Projects' 카테고리의 다른 글

음악 스트리밍 앱 개발하기  (1) 2022.03.10
Youtube 앱 개발하기  (0) 2022.03.05
Youtube 앱 개발하기  (0) 2022.03.03
Youtube 앱 개발하기  (0) 2022.03.01
Youtube 앱 개발하기  (0) 2022.02.28