본문 바로가기

안드로이드

(28)
[소셜로그인] 안드로이드 애플 로그인(Sign in with apple) 구현하기 2편 안녕하세요! 허접 샴푸입니다. 요새 통 바빠서 포스트를 작성하지 못했습니다. 이번 편은 안드로이드에서 애플 로그인을 구현하기 위해 필요한 서버 쪽을 알아보도록 하겠습니다. 거두절미하고 어떻게 구현하는지 바로 알아보도록 하겠습니다. [START] 1. client_secret을 구합니다. 출처: https://developer.okta.com/blog/2019/06/04/what-the-heck-is-sign-in-with-apple 필요한 값들 [key_file] 1편에서 생성한 Key 파일입니다. 위 ruby 스크립트와 같은 폴더에 다운받은 .p8 확장자의 Key 파일을 집어넣습니다. 참고로 저는 .p8 확장자를 파일명에서 제거하여 key.p8이 아닌 key로 설정 및 작성하였습니다. 직접 작성하셔야 ..
[소셜로그인] 안드로이드 애플 로그인(Sign in with apple) 구현하기 1편 안녕하세요! 허접샴푸입니다. 요새 통 바빠서 포스트를 작성하지 못했습니다. Android와 IOS 둘 다 개발하는 앱 개발자라면 소셜 로그인을 한 번쯤 구현해보셨을 것입니다. 아이폰 앱에서 '구글 로그인', '페북 로그인' 등의 소셜 로그인을 넣으려면 "Sign in with Apple"(애플 로그인)을 필수적으로 넣어야 합니다. 이 때문에 안드로이드에서도 필수적으로 구현하게 되었습니다. 왜냐하면 Iphone 사용자가 어떠한 앱을 '애플 로그인'을 통해 사용하다가 안드로이드 폰으로 바꾸었다고 가정해봅시다. 안드로이드 폰에서 그 앱을 다시 사용하고자 다운로드하였는데 '애플 로그인'이 구현되어 있지 않으면 자신의 계정 관련 데이터를 불러올 수 없기 때문에 매우 좋지 않은 User Experience 겠죠? ..
Xml에서 tools는 도데체 무엇인가? 안녕하세요! 허접샴푸입니다. 이런저런 안드로이드 개발을 하다보면 xml 파일에 "tools"라는 놈을 본적이 있을 것입니다. 아래 사진처럼, MainActivity의 layout 파일인 activity_main.xml을 보다보면 xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity" 이런 것들을 볼 수 있습니다. 저도 몰랐으며 방금 알게 된 tools에 대해 알아보도록 합시다! [START] 참조 : https://developer.android.com/studio/write/tool-attributes 1) 일단 tools는 namespace이며 design-time (디자인 타임) 속성이라고 합니다. 2) 실제로 앱이 ..
[Android Core] Snackbar 파해치기 3편 안녕하세요! 허접샴푸입니다~! Snackbar에 대해 알아보겠습니다. 대망의 마지막편인 3편입니다. 이번 3편에서는 - SnackBar 과 Coorindatorlayout관의 관계 에 대해서 알아보도록 하겠습니다. 왜 CoordinatorLayout? Material Design 공식 사이트에서 아래와 같이 기술해 놓았습니다. NOTE: Snackbars work best if they are displayed inside of a CoordinatorLayout. CoordinatorLayout allows the snackbar to enable behavior like swipe-to-dismiss, as well as automatically moving widgets like FloatingAc..
[Android Core] Snackbar 파해치기 2편 안녕하세요! 허접샴푸입니다~! Snackbar에 대해 알아보겠습니다. 2 편입니다. 이번 2편에서는 (1) 메세지에 작업 추가하기 (2) Snackbar 커스터마이징 하기 (3) 나머지 프로퍼티 [알아보자] (1) 메세지에 작업 추가하기 위 그림을 보면 "RETRY"라는 보라색의 글자를 확인할 수 있습니다. Snackbar에 작업을 추가하면 저렇게 메시지 텍스트 옆에 버튼이 생깁니다. 버튼을 누르면 작업 또한 트리거할 수 있습니다. 출처: https://developer.android.com/training/snackbar/action - setAction()을 통해 버튼에 원하는 문구와, 버튼을 눌렀을 때 트리거를 적용할 수 있습니다. 저는 단순히 버튼을 "눌러"라고 표시하게 해놓았으며, 그 "눌러" ..
[배달의 민족] UI 따라만들기 5편 (ObjectAnimator, Layout Animation, CoroutineScope) 안녕하세요 허접샴푸입니다~! 배달의 민족 따라만들기 5편입니다! 이번 5편에서는 잠시 쉬어가기 느낌으로 Animation을 구현하도록 하겠습니다. (얻어갈 수 있는 것 - 제 마음대로 끄적인...) - ObjectAnimator - LayoutAnimation - CoroutineScope [자료(구현할 것)] 1. 아이콘들이 Animation에 따라 화면에 나타납니다. (아래에서 위로, RecyclerView에 Animation을 적용하고자 합니다. 이미지 배너 아래에서 위로 Animation은 다루지 않습니다.) 2. ImageView Animation(덜컹덜컹 Animation) [참고] 절대 실제 배달의 민족 App과 똑같이 구현하는 것이 아닌 최대한 비슷하게 구현하는 것이 목표입니다. 제가 고수..
[배달의 민족] UI 따라만들기 4편 (NestedScrollView, RecyclerView, GridLayoutManager, ViewModel, Livedata, and etc) 안녕하세요 허접샴푸입니다~! 배달의 민족 따라만들기 4편입니다! 4편에서는 Grid 형태의 RecyclerView를 구현하도록 하겠습니다. (얻어갈 수 있는 것 - 제 마음대로 끄적인...) - Grid RecyclerView - NestedScrollView - 둥근 Rectangle - Custom Layout [자료] 위처럼 둥근 모서리의 사각형 안에 Grid 형태의 RecyclerView를 만들어보도록 하겠습니다. 보너스로 "우리동네 맛집 검색" Layout 또한 만들어보도록 하겠습니다. LETS GO! [시작] (1) GridItem 생성 - 1편에서 이미지 배너를 위해 BannerItem 객체 클래스를 만든 것처럼 이번에도 GridItem이란 객체 클래스를 만들어줍니다. (2) FakeItem..
[배달의 민족] UI 따라만들기 3편 (Viewpager2, Coroutine, LifecycleScope) 안녕하세요 허접샴푸입니다~! 배달의 민족 따라만들기 3편입니다! 3편에서는 자동으로 스크롤 되는 ViewPager2에 대해 알아 보도록 하겠습니다. 구글에서 밀고 있는 Coroutine을 사용하도록 하겠습니다. [자료] 지난 2편에서는 좌우로 Swipe 되는 이미지 배너를 구현하였죠? 이번 편에서는 좌우로 손을 대지 않아도 알아서 Swipe 되도록 하겠습니다. 잘 아시겠지만 자동이라고 하면 결국 thread 를 사용해야 하는데 구글에서 권장하고 있는 놈이 바로 Coroutine입니다. 즉 유저는 앱을 사용하고 있으면서, 이미지 배너는 자동으로 Swipe 되는 비동기 처리가 되어야 합니다. 이에 적합한 것이 바로 Coroutine 입니다. 그리고 LifecycleScope를 사용하여 편하게 만들어 보도록 ..