TIL 34일차 (24.05.02.)

남형주·2024년 5월 2일

TIL

목록 보기
34/35

탭 레이아웃
api retrofit

오늘은 수업 실습을 해볼까하는 마음도 있었지만 과제하는데에 시간을 다 쓴것 같다.

일단 브랜치를 새로 팠다. 예전 팀플 때 이슈를 파서 작업했던게 생각이 나서 이슈를 세개정도 파놓고 브랜치를 만들었다.

하나하나 차근차근 진행할 예정이다.


첫번째 이슈로는 아무래도 가장 커다란 놈을 골랐다. API 활용인데 오늘 내내 붙잡고 있었다.

응답받을 json에 맞게 data class를 생성했다. 그 과정에서 안드로이드 스튜디오에서 제공하는 플러그인을 사용해보았다.
샘플 데이터를 입력하면 알아서 데이터클래스를 생성해주는 도구였다.

데이터클래스를 만들어놓고 발견했는데 굳이 한번 더 만들어보았다. 작동이 잘 되어서 신기했다.

그런 다음 인터페이스를 생성했다. @GET을 사용해서 데이터를 받아오는 부분을 담당하는 역할이다.
그 반환값이 아직도 헷갈리는 부분인데, Call을 사용해서 데이터클래스를 받아오는 경우도 있고 교재같은 경우에는 데이터클래스를 한번 더 데이터클래스로 감싸서 그걸 반환타입으로 받아왔다.

일단 이부분에서 여러가지 케이스를 검토해봐야될 것 같다. 안될 수도 있는 이유 중 첫번째다.

다음은 레트로핏을 선언하고 객체를 할당하는 부분이다. 수업에 나왔던대로 object를 만들어놓고 그 안에다가 만들었는데 그 안에 okHttpClient 부분을 생략했다. 당장 필수적인게 아니어보여서였는데 그게 없으면 안되는 걸지도 모르겠다. 두번째 이유다.

그런 다음 프래그먼트에서 데이터를 받아오는 과정인데 이게 세번째 이유다. 이제 보니 이게 프래그먼트에서 받아오면 뭔가 꼬일 수도 있지 않을까? 메인액티비티에서 받아서 데이터를 전달하는 방식으로 고쳐봐야겠다.


아까 할 때까지만 해도 잘못된 부분이 없는데 뭐가 문제일까 고민해봤는데 이제보니 여러가지로 문제가 많이 있는 것 같다. 만약 프래그먼트라서 안되는 거라면 이유도 한 번 알아봐야겠다.

만약 저기에서 문제가 없는거라면 일단 교재의 코드를 베껴서라도 시도는 해봐야되겠다.

내일 마저 해야지.

0개의 댓글