개발

04/11 주특기 숙련주차 개인과제(1)

sos000303 2024. 4. 11. 21:19
728x90

오늘은 주특기 숙련주차의 과제를 진행했다.

과제 내용은 당근마켓의 메인화면(물건 리스트)과 해당 아이템을 눌렀을 때 열리는 디테일 화면의 작성이었다. 오늘은 그 중 메인화면의 레이아웃 작업과 바인딩 작업을 했다.

메인 화면

우선 제공된 더미데이터를 받아서 내부 데이터를 만드는 작업부터 시작했다. 각 아이템 별 게시글 이름, 주소, 상품 상세소개, 판매자 이름을 각각 다른 파일에 stringRes으로 저장했다.

또한 가격, 좋아요 갯수, 대화 갯수 등 정수형의 데이터에 대해서도 아이템 순서에 맞춰 array로 저장했다.

이후 해당 정보들을 여러 페이지에서 사용하기 위해 싱글톤 디자인을 적용했다. 다만 저번 팀에서 사용한 코드와 오늘 배운 코드가 약간 달라서 어느 쪽을 사용할 지 고민하고 있다.

이후 바인딩 작업을 진행하고 아이템 간 경계선을 넣는 과정에서 xml파일에 divider가 없어 아이템 백그라운드에 stroke를 주어 임시로 해결했는데 팀원분의 도움으로 소스코드에서 divider를 추가하는 방법으로 바꾸었다.

이제 남은 기간동안 메인페이지의 아이템 온클릭 이벤트 처리, 인텐트로 넘기는 데이터 처리(Bundle을 이용할까 했지만 실질적으로 넘기는게 Parcelize 하나라 getExtra 이용해도 될 것 같다). 디테일 페이지 레이아웃, 디테일 페이지의 바인딩 작업 정도가 남았다.

728x90