본문 바로가기

안드로이드

(7)
안드로이드 액티비티 (Activity) 생명주기 (LifeCycle) 오늘은 안드로이드 생명주기 LifeCycle에 대해서 포스팅을 해보려고 한다. 어플리케이션은 하나만 실행되어 있는게 아니라 이전에 실행되어있는 액티비티도 있고 스택에 계속 쌓이게 때문에 각 액티비티마다 상태에 따른 생명 주기가 존재한다. 이러한 액티비티의 라이프 사이클 개념을 이해하기 전에 BackStack 이라는 개념을 이해해야 한다. 1. BackStack 안드로이드 앱의 경우 단일 액티비티가 아닌 여러 액티비티를 이용하여 UI를 구성하게 되는데 이때 새로 열리는 액티비티와 기존에 열려있던 액티비티는 각각 백스택을 통해서 관리된다. 스택에 PUSH 와 POP을 통해서 관리가 되며, 새로 액티비티가 생성되면 스택에 PUSH가 되면서 기존 액티비티는 아래로 감쳐지게 되지만 Back 버튼을 눌러 새로 생성..
안드로이드 리사이클러뷰(RecyclerView) 실습 안드로이드 리사이클러뷰에 대한 개념을 설명한 이후 2달이 지난거 같다... 너무 바빠서 이제야 코드를 올리고 코드에 대한 설명을 올리려 한다. 실습에 앞서 개발 워크플로우와 이번 실습에서 보일 결과를 먼저 설명 후에 코드에 대한 설명을 하도록하겠다. 아래는 실습을 진행할 워크플로우와 최종 결과물이다. 3개의 클래스와 2개의 레이아웃으로 우측의 결과물을 만들 수 있다. 아마 설명을 하면서 지난번 올려놨던 '안드로이드 리사이클러뷰(RecyclerView) 개념' 설명이 자주 언급될거 같으니 참고하고 실습을 해보면 좋을거 같다. 코드의 설명은 워크플로우 순서에 맞춰 설명하도록 하겠다. 실습에 앞서 RecyclerView를 사용하기 위해서는 app.gradle에 implementation 'com.android..
안드로이드 리사이클러뷰(RecyclerView) 개념 안드로이드 앱을 개발하다보면 한 화면에 여러개의 목록을 보여주기 위해 ListView를 사용했지만 현재는 (5.0 롤리팝 이후) RecyclerView로 ListView의 거의 모든 기능 구현이 가능하기 때문에 대부분 RecyclerView를 많이 사용한다. 나또한 개발을 하며 실제 ListView를 사용하는것보다 RecyclerView를 사용하는게 더 좋다고 해서 알아보고 사용해보려 한다. 그럼 어떤 차이점이 있을까??? 기존의 listView는 커스터마이징이 힘들고 구조적인 문제로 인해 성능상 문제도 존재한다고 한다. 근데 정확히 어떻게 성능에 문제가 있는지는 잘 모르겠다... 가장 큰 차이점은 Layout Manager와 View holder 패턴의 의무사용, Item에 대한 뷰의 변형이나 애니메이..
FCM (Firebase Cloud Messaging) 푸시 알림 실습 (push notification) 지금까지 FCM과 안드로이드 연동, FCM을 이용한 어플에서 구글 계정 로그인, 페이스북 계정 로그인 (아직 완료버전까지 포스팅은 못했지만....) 까지 실습해 보았다. 이번 포스팅에서는 FCM의 기능중 하는 cloud messaging 인 push notification에 대하여 실습해보겠다. 한마디로 FCM 콘솔에 들어가서 관리자가 날리는 push를 설치한 모든 유저에게 noti를 해주는 방식이다. 일단 실습을 하기전에 자신의 계정 FCM과 안드로이드가 연동된 상태여야 한다. 방법은 아래의 링크를 참고해서 연동만 시켜두고 본 포스팅을 따라하도록 하자. 아마 내가 올려놓을 코드를 그대로 다운받아서 자신의 FCM 계정에 연동시키려 한다면 패키지명도 변경하고 이것저것 에러가 나올 수 있다...그럴바에는 얼..
FCM (Firebase Cloud Messaging) 페이스북 로그인 연동 (1) 지난 포스팅에서는 FCM을 활용해 구글 로그인 기능을 구현해보았다. 하지만 일반적으로 어플리케이션의 SNS 로그인 기능은 구글 뿐만 아니라 페이스북, 트위터, 카카오등 다양하게 존재한다. 지난 구글 로그인 기능을 구현할때 만든 FCM과 연동시켜놓았던 프로젝트에 그대로 진행하도록 하겠다. 아마 이번 포스팅을 그대로 따라해서 결과물을 보면 지난 포스팅에서만든 구글 로그인과 페이스북 로그인이 하나의 프로젝트에 들어가있을 것이다. 물론 이 포스팅만을 따라해도 기능 구현에는 문제가 없지만 두가지의 로그인 기능을 구현하고 싶다면 지난 포스팅을 진행 후 따라하기 바란다. 참고: https://neosla.tistory.com/26 페이스북 연동의 경우 앞서 구현했던 구글로그인 기능과는 약간 다르다. 구글 로그인의 경..
FCM (Firebase Cloud Messaging) 구글 로그인 연동 지난 포스팅에서는 간단하게 FCM과 안드로이드 스튜디오로 생성한 프로젝트의 연동에 대하여 실습하였다. 간단하게 요약하자면 FCMtest라는 프로젝트를 파이어베이스에 생성한 후 생성된 파이어베이스의 프로젝트와 안드로이드 스튜디오로 만든 fcm_test라는 프로젝트를 연동한 것이다. 참고: https://neosla.tistory.com/24 이제 파이어베이스를 사용할 준비가 끝난 것이니 앞으로 파이어베이스의 기능들을 하나씩 사용하는 포스팅을 해볼까 한다. 따라서!!! 본 포스팅 에서는 구글 버튼을 이용해 구글 로그인이 가능한 기능을 구현해볼까 한다. 내용은 간단하다. 파이어베이스에서 구글 로그인 기능을 활성화 시킨 후 안드로이드 스튜디오로 돌아와 구글에서 제공하는 로그인 버튼과 기능을 구현해주면 접속하였을..
어플리케이션 FCM (Firebase Cloud Messaging) 연동 본 포스팅에서는 구글의 FCM (Firebase Cloud Messaging) 서비스에 대하여 포스팅하고 안드로이드 어플리케이션과 FCM의 연동방법에 대하여 포스팅한다. FCM의 연동을 통해서 향 후 포스팅일 지속적으로 하겠지만 연동을 할 경우 푸시메시지, 로그인인증, 실시간 데이터베이스와 같은 다양한 기능을 활용할 수 있으며, 프론트엔드 개발에 있어서 백엔드 개발 없이 간단한 서비스를 구현이 가능하다. FCM 이란 Firebase Cloud Messaging 으로 과거 GCM (Google Cloud Messaging) 서비스 였던 것을 구글이 Firebase를 인수하여 FCM으로 변경하였다. 현재 알려진바로는 2019년까지 과거 사용했던 GCM 서비스를 무료 FCM으로 모두 변경하는 작업을 진행하겠다..