이번 팀프로젝트는 유튜브 API를 활용한 미디어 어플 만들기이다. 월요일에 우리 팀은 음악이나 영화같은 좁은 카테고리를 선정하여 특화된 어플을 만들자고 브레인스토밍 하였고, 이를 통해 영화 예고편에 특화된 앱을 통해 관심이 가는 영상을 좋아요로 따로 선택하고, 이를 통해 캘린더에 시청/관람 계획을 관리할 수 있도록 하는 어플을 만들기로 했다.
이번에도 피그마를 통해 와이어 프레임을 작성했다. 이번에는 팀원이 나를 포함해 3명 뿐이라서, 월요일부터 기능 구현에 대한 분담을 하지는 않았고, 대신에 API를 연결하고, 와이어프레임을 바탕으로 UI구성하는 일을 먼저 하자고 하셨다. 그래서 나는 채널프래그먼트, 상세페이지, 마이페이지프래그먼트에 대한 UI틀을 잡는 부분을 담당하였다.
깃허브 환경은 저번처럼 Organization으로 구성했다. 팀장님이 Organization으로 이미 주말에 만들어두셨는데, 나도 저번에 Organization을 썻던 경험이 좋게 남아 있어서 좋았다. 이번에도 프로젝트의 칸반보드를 통해 깃허브 관리를 하자고 하셔서 동의 했다.
이번에는 저번 KPT에서 아쉬웠던 트러블슈팅 목록도 관리하기로 했다. 문제가 생겼을 때 꼭 당사자가 아니더라도 팀원들이 함께 검토하여 해결할 수 있도록 했다. 아주 좋은 것 같다.
[트러블슈팅?] 이번에도 깃허브 클론을 해오는데, AGP가 말썽이었다. 팀장님이 Hedhog를 사용중이셔서 giraff인 나는 해결이 안되었다. 저번에는 Hedhog가 다운이 안되어서 AGP를 낮추는 걸로 합의를 봤는데, 이번에는 Hedhog가 다운이 된다고 해서..! (저번에도 되었던 걸까? 은근히 Hedhog를 쓰시는 분이 많았다.) 호다닥 다운 받았는데 설치하기전에 그냥 팀장님이 AGP를 8.1.2로 낮춰주셨다.ㅎ 그래서 나도 그냥 설치는 안받고 8.1.3으로 환경을 맞췄다.
상세페이지는 액티비티를 사용하기로 했는데, 동영상의 썸네일과, 타이틀, 채널이미지, 채널타이틀, 동영상의 설명 으로 구성하기로 했다. 이외에 좋아요 버튼과 채널 구독 버튼도 만들어 놓았다.
상세 페이지에서는 딱히 리사이클러뷰가 필요한 페이지가 아니기 때문에 금방 만들 수 있었다.
오후에 튜터님이 방문하셔서 피드백을 주셨는데, 공유 기능같은 선택구현 사항들도 충분히 고려를 한 기획이면 좋겠다고 하셨다. 마침 좋아요 버튼을 길게 빼둔 것이 있어서 나중에 공유버튼이 오게 된다면 이 공간을 나누어서 쓰면 되겠다고 생각해서 팀원들에게 공유했더니 긍정적인 반응이 돌아왔다.
채널프레그먼트는 구독하는 채널의 영상들을 가져올 수 있도록 하는 페이지 인데, 채널 구독 추가하는 기능을 프래그먼트 안에서도 사용할 수 있도록 추가 프래그먼트까지 구성하는 것을 하였다.
구독한 채널은 추가 삭제가 되어야 하기 때문에 데이터를 리스트로 관리한다고 생각해서, 가로 리사이클러뷰로 구현했다. 이 때문에 채널이미지와, 채널명으로 구성된 리사이클러뷰 아이템 xml을 따로 만들어 주었다. 그리고 이 아이템 모양과 똑같은 모양으로 하나 더 만들어서 리사이클러뷰(width = wrap_content로 구현) 끝에 달아주었다. 영역 자체가 클릭되게 해서, 클릭하면 추가할 채널을 선택할 수 있는 다이얼로그로 연결이 될 것이다.
그 밑에는 구독한 채널의 영상을 띄을 수 있도록 리사이클러뷰를 연결해놨다. 리사이클러뷰 아이템은 여기 말고도 공통으로 사용되기 때문에, 내가 만들지는 않았다.
[트러블슈팅] 추가다이얼로그는 일단 하드코딩으로 박아놨는데.. (배급사나 영화 관련 채널만 검색되도록 하는 방법을 아직 몰라서) 그 때문에 다이얼로그의 height을 정해주는데 조금 고생했다. 일반 스크롤뷰를 쓰는데, 리니어로 감싸준것들이 꽤 있어서 어느 부분의 height을 조정해버리면 나머지에도 다 영향이 가버렸다.
=> 처음에는 스크롤뷰를 감싸고 있는 부모 컨테이너의 크기를 조정해서 잡아야된다고 생각해서 그 부분을 만졌는데, 전혀 먹히지 않았다. 결국에는 스크롤뷰 자체의 크기를 원하는 크기로 맞춰주면 될 일이었다.
조금 허무하지만 어쨌든 뚝딱 고쳐서 다행이다. UI는 기본적으로 매번 만지고 있는데도, 꼭 이렇게 하나씩 원하는 모양을 만드는데 걸리는 구석이 있다. 그만큼 경험을 더 쌓아야한다는 것이겠지! 파이팅해야겠다.
마이페이지에서는 시청/관람 계획 일정을 캘린더와 연동하여 기록할 수 있는게 포인트이다. 그래서 캘린더를 많이 검색해봤는데, 캘린더 자체에서 수정과 기록을 할 수 있는 기능은 없는 것 같다. 깃허브를 뒤져볼걸 그랬나..? 라는 생각이 이제와서 드는데.. 여하튼 지금은 그냥 캘린더 밑에 텍스트뷰를 놓고 에디트텍스트는 필요할 때만 꺼낼 수 있도록 숨겨놓았다. 검색했을 때 본 블로그를 통해 날짜를 누르면 해당날짜와 연동되어 저장한 글씨를 보여주도록 만들 것이다.
팀원들에게 캘린더에 대해 말은 해놨는데.. 아직 어느 곳을 구현할지 담당자를 정한 것은 아니여서 내가 만들면, 위에 기재한대로 만들고.. 다른 팀원이 구현하게된다면 본인에게 익숙하신 방법으로 만들어지게 되지 않을까? 라고 생각해본다. 그래도 뭔가 마이페이지 틀을 만들면서 내가 한 번 만들어보고자 하는 욕심이 생겼다.
나머지는 좋아요한 영상을 보여주는 리사이클러뷰가 나오도록 하단 부분을 구성했다. 그리드뷰 2열로 나오도록 할 것인데, 이것은 코드 구현 때 실행하는 부분이라 간단히 리사이클러뷰만 걸어놨다. 리사이클러뷰를 구성할 아이템 뷰도 마찬가지로 공동으로 사용될 것 같아서, 특별히 만들지 않았다.