분류 전체보기

· 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문으로 일일..
[Background] 왜 firebase remoteconfig을 사용하는지 의문이 들 수도 있는데 한번 예를 들어 보겠습니다. 서버스를 하고 있는데 갑자기 백엔드 서버의 주소가 바뀌면 바뀐 버전을 플레이 스토어에 올리고 사람들이 업데이트를 하길 바라야 한다. 이처럼 모바일에서 상수 관리는 매우 힘든 편에 속한다. 사람들은 업데이트를 잘 안 하기 때문에 사용자 전체가 바뀐 값을 가지고 있는 버전으로 업데이트하는 건 사실상 불가능하다. 그럼 백엔드에서는 원래 주소랑 바뀐 주소를 같이 운영하거나 아니면 원래 버전을 사용하는 사용자가 불편을 겪어야 한다. 이럴 때는 다른 백엔드 서버로부터 주소를 받아오는 방식으로 해결할 수 있지만, 모바일 개발자가 직접 서버에 대해서 배우거나 다른 사람들의 도움을 받아야 한..
· android
[Background] 안드로이드 입문한지 얼마 안됐고 처음으로 큰 안드로이드 프로젝트를 진행하다 보니깐 릴리스 모드와 디버그 모드의 차이점을 크게 모르고 릴리스 모드에만 proguard을 켜놓고 설정을 안건든체 출시를 했었다. 심사에 통과하고 마켓에 올라온 앱을 다운 받아서 테스트를 해보니깐 네트워크 통신이 아예 안되고 앱이 제대로 작동을 안하는 경험을 해봤습니다. 처음에는 원인조차 몰랐지만 많이 조사를 해본 결과 proguard문제라는 것을 파악했지만 어떻게 수정해야 하는지 막막했었습니다. 대부분의 자료들은 모듈 한개일때의 경우만 설명을 했지 멀티 모듈일때는 모든 모듈에 proguard을 설정해야 하는 것인지 아니면 일부만 하면 되는 것인지가 잘 안나옵니다. 그래서 이번에 멀티모듈 환경일때 progu..
Jung0313
'분류 전체보기' 카테고리의 글 목록 (3 Page)