본문 바로가기

개발/안드로이드 28

[안드로이드] 앱 업데이트를 관리하는 방법 #1 안드로이드 앱을 업데이트 하는 방법은 2가지로 나뉩니다. 1. 유저가 알아서 언젠가 하길 기다리기 2. 개발자가 앱 실행시 판단해서 강제로 하기 여기서 우리는 2번째에 해당하는 경우에 대해 2가지 방법으로 알아보려고 합니다. 하지만 제가 설명하는 것이 최고의 솔루션은 아니고 개발하면서 배웠던 2가지 방법이라 혹시 더 나은 방법이 있다면 알려주세요. 1. Firebase의 Remote Config 를 이용해서 앱 버젼 비교후 다이얼로그로 업데이트 알려주기 2. 안드로이드의 기능, In App update 이용하기 이렇게 2가지 방법이 있습니다. 오늘 포스트에서는 1번에 해당하는 코드와 구현 방법에 대해 설명해드리겠습니다. FireBase의 Remote Config는 이름 그대로 원격 설정? 의 느낌입니다... 2020. 6. 2.
[안드로이드] FCM 클릭시 이벤트 처리하기 기획팀 요구사항 : Console에서 FCM를 보낸후 사용자가 클릭하면 원하는 페이지로 가도록 만들어주세요. 나 : 음 일단 해볼게요. 근데 client 단에서 하는 방법은 있는데요. 콘솔은 아직 못찾았어요. 기획팀 : 그래도 콘솔이 좋겠어요. ㅅㄱ요 저런 느낌의 대화가 진행되고 다시 찾아봤습니다. 다양한 페이지를 찾아봤는데 FireBase의 console 로 보내는 FCM의 경우 클릭 이벤트를 구현하는 페이지는 찾기 어려웠습니다. 많은 경우가 메시지 안에 click_action : .MyActivity 를 넣고나서 intent filter로 넘겨버리는 방법을 사용하고 있습니다. 하지만 저는 콘솔에서 해야함으로 일단 콘솔을 봤습니다. 콘솔을 보니 알림부분은 notification 부분에 뜨는 듯하고 아래.. 2020. 5. 27.
[안드로이드] dialog 안에서 startActivity사용하기 제가 구현한 앱에서는 앱 실행시 공지사항을 띄워주는데 이를 Dialog를 사용하여 표시합니다. 근데 이 공지사항에서 바로 인터넷 url 주소로 넘어가야 하는 상황이 생겼습니다. 처음은 일반적인 구현으로 했으나 error: method startActivity in class ContextCompat cannot be applied to given types; startActivity(intent); ^ required: Context,Intent,Bundle found: Intent 다음과 같은 오류를 뱉어냈습니다. 이경우 아주 간단한 해결책이 있습니다. 바로 this를 이용하는 것입니다. 해당 오류의 경우 현재 context를 파악하지 못하기때문에 어느 액티비티에서 intent를 넘기는 건지 특정하지 .. 2020. 5. 25.
[안드로이드] 구글은 왜 DP(Density-independent Pixel) 만들었을가 dp를 왜 쓸까에 대한 고민이 문득 든 것인 단톡방에서 "dp 대신에 cm를 쓰면 더 직관적이지 않느냐?" 라는 물음에서 시작되었습니다. 생각을 해보니 맞는 말이기도 하여 이 기회에 제 생각을 이렇게 글로 작성합니다. DP는 Device-independent Pixel 또는 Density-independent Pixel 의 약자입니다. 말 그대로 장치에 독립적인 픽셀. 즉 모바일 기기에 맞는 새로운 기준인 것이지요. DP는 장치에 독립적인 픽셀이기에 기존 단위로 측정할 수 있는 단위를 갖습니다. Android 에서는 1dp = 1/160 inch, 또는 0.15875mm 저는 여기서 의문이 생겼습니다. 어찌보면 기존의 inch, mm의 단위체계를 이용해서 가져다 쓰면 되는건데 굳이 새로운 단위체계인 DP.. 2020. 5. 21.