본문 바로가기

[TIL][내일배움캠프]

[내일배움캠프][TIL] 24.02.15 (목) - 팀 프로젝트(심화) : 앱 완성

1. 팀 프로젝트(심화)

 

 

어느덧 2주 동안 진행되었던 팀 프로젝트도 막바지에 이르렀고, 우리 팀도 막바지 스퍼트를 냈다.

 

과연 오늘은 앱을 끝맺을 수 있을지.

 

 

숏츠 영상

 

유튜브에서는 일반적인 영상과 더불어서, 1분 미만의 짧은 길이가 특징인 숏츠 또한 지원한다.

이 숏츠의 가장 큰 특징 중 하나는 세로 길이가 딥따 길다는 점인데 이걸 유튜브 API를 통해서 구분을 어떻게 짓느냐가 가장 큰 관건이었다.

 

(이건 내 관할이 아니어서 자세히는 적지 못 하고 우선 구분하는 데에 성공했다!)

 

그리고 숏츠 영상 역시 클릭하면 상세 화면으로 이동하는 기능을 넣었다.

    private fun initShortsRecyclerView(shorts: List<YoutubeVideo>) {
        shortsAdapter = SearchResultShortsAdapter(shorts)
        binding.reSearchShorts.adapter = shortsAdapter

        shortsAdapter.shortsClick = object : SearchResultShortsAdapter.ShortsClick {
            override fun onClick(item: YoutubeVideo, position: Int) {
                val detailFragment = VideoDetailFragment.newInstance(item)

                requireActivity().supportFragmentManager.beginTransaction().apply {
                    replace(R.id.main_frame, detailFragment)
                    setReorderingAllowed(true)
                    addToBackStack(null)
                }.commit()
            }
        }
    }

 

이게 Videos와 Shorts가 두 가지 있어서 상세 화면에서 자료를 받을 때 문제가 생기지 않을까 싶었는데 상세 화면에서 받는item이 어차피 둘 다 YoutubeVideo에서 받기 때문에 별 문제가 없었다. 

 

 

이렇게 완성된 앱의 전체 시연 영상이다.

 

이렇게 심화 과정 프로젝트도 발표만을 남겨두고 있고, 이제는 최종 프로젝트만을 남겨두고 있다.

과연 최종 프로젝트 때에는 어떤 앱을 만들지….