티스토리 뷰

안드로이드/일기

2023년 5월 1~2주 차 일기

알렌보이스 2023. 5. 14. 17:01
728x90

2023년 5월 1~2주 차 일기입니다.

지난주에는 5월 시작이어서 가족 행사, 결혼식 등의 일정이 좀 많아서 작업 시간이 부족했습니다.

그래서 2주 치 일기를 작성합니다.

 

이전에 작업했던 디자인과, 데이터베이스 설계를 바탕으로 작업을 시작하였습니다.

일단 데이터를 추가해야 하는데 이걸 앱에서 할 수 있게 만들긴 했는데
폰으로 데이터를 넣는 건 여간 귀찮은 게 아니어서 어떻게 만들까 고민을 했습니다.

이전에는 Flutter로 만들어서 크롬으로 띄워서 데이터를 추가했었는데
또 사용 안 한 지 좀 돼서 다른 방법이 없을까 고민하던 중 Kotlin 멀티 플랫폼을 한 번 사용해 보기로 하였습니다.

데이터 추가를 위한 것이기 때문에 크게 디자인은 하지 않았습니다.
멀티 플랫폼을 이용해서 윈도/맥에서 동작할 수 있는 자바 응용 프로그램 형식입니다.

이것을 위해 제공되는 라이브러리가 얼마나 있는지는 잘 모르겠지만
Kotlin, Ktor를 사용할 수 있고 추가로 Compose도 사용 가능합니다.
이번에 디자인 역시 Compose로 진행하였습니다.

이걸 이용해서 데이터는 추가해 나갈 예정입니다.
데이터 양이 좀 많아서 한 번에 다 추가하기에는 지루해서 조금씩 해나가려 합니다.

 

이렇게 데이터를 추가하고 Fast Api를 활용하여 API를 만드며 작업을 시작하였습니다.

이번 주에는 게임 관련 페이지들을 작업을 하였습니다.

포켓몬 도감 화면입니다.

이번에 처음으로 페이징 3 라이브러리를 적용시켜 보았습니다.
페이징 처리를 하여 데이터를 불러오는 데는 문제없이 잘 작동됩니다.
그런데 문제가 발생하였습니다.
다이얼로그를 띄우거나 특정 상태의 값이 변경되면 리스트가 초기화되고 처음부터 다시 호출을 하더군요.
그로 인해 200번의 포켓몬을 보고 있다가 상태 값이 변경되면 다시 1번으로 돌아가는 상황이 발생합니다.

이 문제를 해결하지 못한다면 페이징 라이브러리는 사용할 수 없어서 방법을 찾아보고 있습니다.
xml을 사용했을 때에는 페이징 라이브러리를 사용하지 않고 스크롤 리스너를 사용하여 페이징 처리를 했기 때문에 이런 문제가 있는지 모르고 있었네요.

포켓몬 상세 정보 화면입니다.

오른쪽 화면에 빈 공간에는 진화 정보가 표시되어야 하는데 아직 포켓몬도 다 추가를 못해서 아직 작업을 못 하였습니다.
데이터가 추가되면 작업을 이어나갈 예정입니다.

포켓몬 카운터 화면입니다.

부가 설명을 하자면 색이 다른 포켓몬을 잡을 때 몇 번째에 색이 다른 포켓몬이 나왔는지 카운트를 하기 위한 화면입니다.
이 화면은 빈번하게 데이터가 변경이 이루어질 화면이어서 Room을 활용하는 것으로 결정하였습니다.

 

엘소드 캐릭터 소개화면과 카운터 화면입니다.

이 화면들은 예전에 디자인 연습하려고 만들어둔 게 있는데 게임 텝에 넣으면 쓸 수 있을 거 같아서
조금 수정을 하여 작업을 하였습니다.

추가로 다른 화면들이 있는데 역시 아직 데이터를 추가해줘야 하는 부분이라서 데이터가 추가되면 작업을 진행할 예정입니다.

 

데이터 추가하는 건 하루에 조금씩 진행하고 있어서 이게 마무리될 때까지는 시간이 좀 걸릴 것 같습니다.
그래서 다음 주에는 달력 텝에 있는 화면들을 구현하려고 합니다.

728x90

'안드로이드 > 일기' 카테고리의 다른 글

2023년 5월 4주 차 일기  (2) 2023.05.28
2023년 5월 3주 차 일기  (0) 2023.05.21
2023년 4월 4주 차 일기  (0) 2023.04.30
2023년 4월 3주 차 일기  (0) 2023.04.23
2023년 4월 2주 차 일기  (0) 2023.04.16
댓글