분류 전체보기

[Background] 서버에서 엄청난 양의 데이터를 내려줘야 할 때 함께 번에 내려주지 않고 Paging을 이용해 요청할 때마다 일정량의 데이터를 내려줄 수 있다. Android에서는 Paging3 라이브러리를 사용해서 정말로 쉽게(?) 도입할 수 있는데 제가 느끼기에는 Paging Item을 직접적으로 Composable에 노출을 시켜줘야 하고 viewModel에서 이 Paging 데이터를 활용하기 불편하다는 점도 있어서 State 관리나 확장성에도 솔직히 구리다는 느낌을 받았습니다 그래서 한번 직접 도입을 해보겠습니다. [dependency] Compose Complier 1.5.4 Retrofit 2.9.0 gson 2.9.0 [적용하기] 데이터를 가져올 Api는 StackOverFlow Api를..
[Background] 제가 생각했을 때 모바일앱을 출시할 때 가장 큰 고민거리 중 한 개가 아무리 앱을 발전시켜도 사용자가 앱 업데이트를 쉽게 안 해준다는 점이라고 생각한다. 그래서 강제 업데이트를 도입해서 사용자에게 강제로 새로운 버전을 다운로드하게 하지만 너무 많이 남발하게 되면 오히려 UX를 해칠 수 있다. 그래서 이런 문제들을 해결하기 위해서 요즘 회사들에서 서버 주도 UI (Server driven UI)을 도입해서 사용자가 앱을 업데이트하든 말든 서버에서 손쉽게 UI를 변경할 수 있게 하고 있는 추세다. 그래서 한번 어떻게 도입하는지 맛보기를 해보겠습니다. 회사마다 하는 방식이 다를 거기 때문에 어떻게 도입할 수 있는지 감을 잡는 용도로 보시길 바랍니다. [버전] okHttp: 4.11.0 ..
· android
[Background] 프로젝트를 하면서 중요한 정보를 로컬에 저장할 필요가 있을 때 Encypted Shared Preference을 사용하고자 했는데 이상하게 일부 디바이스에서 오류가 발생하는 에러 로그를 볼 수 있었습니다 그래서 이번 글에는 프로젝트에 적용할 수 있는 방법을 알아보고 문제 해결 방법을 알아보고자 합니다. 프로젝트는 Clean Architecture을 적용한 상태입니다. [적용하기] 먼저 필요한 dependencies을 적용합니다. dependencies { implementation("androidx.security:security-crypto-ktx:1.1.0-alpha06") } 그리고 저는 프로젝트에서는 Hilt을 이용해서 초기화를 해주었습니다. 모든 데이터에 암호화를 걸고 싶..
[Background] 서버와 통신중일 때 에러가 나는 건 정말로 자주 일어나는 일이다. 데이터를 잘못 올려서 400 에러, 없는 API에 요청해서 404 아니면 그냥 서버 쪽에 에러가 발생해서 500 에러가 뜰 수도 있다. 에러가 발생하면 사용자한테 올바른 에러 메시지를 보여줘야 한다, 가벼우면 토스트 메시지, 심각하면 다이얼로그. 물론 안드로이드 코드에 어떤 방식으로 메시지를 보여줄지 미리 정해놓을 수 있지만 메시지나 방식을 바꾸려면 배포를 다시 해야 하는 문제점이 있다. 이걸 해결하기 위해 우리는 서버 에러와 관련된 정보를 다 서버에서 받아오는 방식으로 해결할 수 있다. 이번 글에서 사용된 프로젝트는 클린 아키텍처를 적용한 상태입니다. [기존 방식] 정말로 많은 방식이 있습니다. when문으로 일일..
Jung0313
'분류 전체보기' 카테고리의 글 목록 (3 Page)