본문 바로가기

안드로이드

[Android/통화 화면 바꾸기] 1. 기본 앱, 대체 앱이란? Intent부터 짚고 가자 스마트폰을 사용하다 보면 어떤 액션에 의해 다른 앱으로 이동이 가능한 경우가 있다. 하이퍼링크 처리된 사이트 링크나 전화번호 등을 클릭할 경우, 장소 검색 결과에서 전화 걸기 버튼을 클릭할 경우, 광고나 검색 결과에서 특정 앱을 다운로드하기 위해 클릭하면 플레이스토어로 이동하는 경우, 사진 첨부 버튼을 누르면 갤러니나 카메라로 이동하는 경우, 쿠팡, 인스타 등의 앱을 모바일 웹 브라우저로 보고 있으면 설치된 앱으로 이동하거나 설치하게 플레이 스토어로 이동시키는 경우 등등.. 이를 안드로이드 개발자 입장에서 생각한다면 Intent에 의해 가능한 일이다. 처음으로 Intent를 접하는 상황은 대부분 startActivity(Intent intent)를 사용하면서 경우이다. 한 Ac.. 더보기
[Android/kotlin] 전화번호로 주소록 이름 가져오기Get contact display name by phone number 작성 기준 sdk 31 Notice 이 포스팅은 검색 기능의 구현에는 적합하지 않습니다. 단순히 전화번호로 주소록에 등록된 이름을 가져오는 내용입니다. ex) search "0101234" result "01012345678", "01012341234"... >> X 전화 관련 서비스를 만들기 위해 기술조사를 하며 예제를 만들어 보다가 전화번호는 받아도 주소록에 등록된 이름은 받아오지 못하여 따로 기능을 만들기 위해 찾아봄 Reference) 연락처 정보 가져오기 공식 문서 위 문서에는 예제로 주소록에 등록된 이름(Contact Display Name)을 기준으로 검색하여 보여주고, 링크된 하단에 Column 상관없이 검색할 수 있는 내용이 있어 사용함 권한 Runtime Permission이므로 실행.. 더보기
[Android/안드로이드] 카메라로 사진 찍어 가져오기 (get photo from camera) 갤러리나 카메라로 사진을 가져오는 기능을 구현해야 할 때가 많다. 상당히 많이 쓰이는 기능이라 자료가 많지만, 각종 블로그들을 따라하다보면 Cursor 부분에서 NullPointerException이 뜬다. 뭘 덜 따라했는지 권한문제인지(퍼미션 주고 체크도 함) 이제는 막힌 방법인지 여튼 안됐다. 그러다 어떤 최신 블로그 포스팅 보고 구현에 성공하고 다른 방법있나 구글링을 하다가 개발자 문서에서 공식적인 방법(?)을 발견.. https://developer.android.com/training/camera/photobasics.html 이 포스팅은 위 글을 참고해 정리한 것이니 더 자세한 정보를 알고싶다면 꼭 꼭 들어가 읽어봅시다. 카메라로 사진 찍어 이미지 띄우기 private void sendTake.. 더보기
[Android/안드로이드] 손가락을 따라 회전하는 이미지 뷰(rotate image on touch) 개발을 하다보면 손가락을 따라 회전을 시켜야하는 이미지 View가 필요하다. 이를테면 룰렛, 시계, 방탈출 게임의 금고 손잡이 등등... RotateAnimation 클래스를 이용해 특정 이벤트 발생시 얼만큼 회전시킬 수는 있지만, 터치를 따라 회전 하는 동작은 난감하다. 결국 정말 하기 싫었지만 삼각함수를 써서 구현했다... SpinnableImageView class먼저 클래스를 하나 생성. public class SpinnableImageView extends android.support.v7.widget.AppCompatImageView { private double mCurrAngle = 0; private double mPrevAngle = 0; private double mAddAngle =.. 더보기
[Android/안드로이드] 자바 코드로 hask key 가져오기(get hash key in runtime) 카카오, 페이스북, 네이버 등등 로그인 API나 다른 여러 API를 쓸 때 해당 서비스를 사용하려면 앱에 signing한 keystore의 Hash key를 등록해야 하는 경우가 있다. 보통 그런 플랫폼의 경우 입력창 근처의 도움말이나 개발가이드를 동해 Hash key를 알수있는 방법을 알려주고 (개인적인 경험으로는)과반수가 터미널의 Command line을 통한 방법을 알려준다. 그러나 자주 해보고 익숙한 사람이라면 터미널로도 문제없이 해시키를 찾아내어 등록하지만 Hash key를 처음 접한 사람은 keystore가 뭔지도 모르며 자잘한 실수로 이상한 key를 뽑아내어 난항을 겪기도 한다. 그래서 잘못된 값을 뽑아낼 일이 없는 가장 확실한 방법을 소개하고자 한다. 이 방법은 구글링을 조금만 해봐도 알 .. 더보기