전체 글
-
[Android] FCM을 이용해 Push 구현하기Android 2021. 4. 15. 18:38
Push Service? FCM? 서버에서 모바일 장치에 보내는 알림 또는 메시지. 직접 구현한 서버에서 사용자 장치로 알림을 보내기 위해서는 앱과 서버의 연결을 지속적으로 유지해야한다. 그러나 FCM(Firebase Cloud Messaging)은 구글 클라우드 서버를 사용해 앱에서 서버에 연결하지 않아도 기기의 내부 연결을 통해 메시지를 보낼 수 있다. FCM을 사용해서 메시지를 보내는 과정 FCM을 이용해 메시지를 보내는 과정을 간단하게 다섯 단계로 나눠서 정리해보았다. 1. 토큰 요청 및 획득 먼저 사용자가 앱을 설치하고 최초 실행시 토큰을 얻기위해 클라우드 서버에 요청을 보내고 토큰을 획득한다. 2. 서버에 토큰 저장 획득한 토큰을 서버로 전송하여 서버 db에 저장한다. 이 토큰은 서버가 클라우..
-
[Android] Notification 구현 예제 및 ChannelAndroid 2021. 4. 15. 16:32
기본 상단 알림 구현하기 안드로이드에서는 화면 상단에 정보를 표시해서 사용자에게 메시지나 상태를 보여주는 알림을 구현할 수 있다. 상단 알림은 NotificationManager 시스템 서비스와 NotificationCompat.Builder를 이용해 간단하게 생성하고 등록할 수 있다. 안드로이드 오레오(API 26) 이상부터는 채널이 필요하다. * 채널에 대한 내용은 본문 하단에 정리했으니 거기서 자세히 살펴보자. Build.VERSION.SDK_INT를 이용해 버전을 확인하고 오레오 이전 이후로 나눠서 Builder를 만든다. NotificationCompat.Builder builder = null; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { b..
-
[Android] 스레드(Thread)와 핸들러(Handler), 작업 스레드에서 UI 업데이트 요청하기Android 2021. 4. 14. 16:32
스레드(Thread) 스레드는 프로세스 내부에서 자원을 공유하며 실행되는 흐름의 단위다. 안드로이드에서는 메인 스레드는 UI 스레드로써 UI 작업을 담당하기 때문에 메인 스레드로 장기적인 작업을 수행할 경우 ANR이 발생한다. * ANR (Application Not Responding) : 말그대로 어플리케이션 응답 없음. 메인 스레드가 어떤 Task에 오랜 시간 잡혀 있을 때 발생한다. 어플리케이션이 응답없다는 팝업 메세지와 함께 어플리케이션이 종료된다. 멀티 스레드 (Multi Thread) 프로세스는 둘 이상의 스레드를 가질 수 있는데, 여러 개의 스레드는 프로세스 내 자원을 공유하면서 동시에 작업하며 효율적으로 동작한다. 안드로이드에서는 UI를 차단하지 않기 위해 네트워크 통신같은 작업은 주로 ..
-
[Android] JSON 라이브러리 : GSONAndroid 2021. 4. 12. 19:48
Json이란? Json(JavaScript Object Notiation)은 키-값(key-value)로 이루어진 구조화된 데이터를 표현하기 위한 문자 기반의 표준 포맷이다. 자바스크립트 뿐만 아니라 여러 프로그래밍에서 사용된다. 읽고 쓰는 것이 간단하고, 언어 독립적이며, XML보다 가볍다는 장점이 있어서 네트워크 통신에서 자주 사용된다. 기본 구조 json은 하나의 문자열로 구성되며 "{key : value}"의 객체 형태를 기본으로 하고 콤마(,)로 구분된다. value에는 문자열, 숫자, 배열, boolean값과 다른 객체를 포함할 수 있다. (자바스크립트 객체 표현 방식과 거의 동일하다.) { "이름": "홍길동", "나이": 25, "성별": "여", "주소": "서울특별시 양천구 목동", "..
-
[Android] 권한(Permission)과 위험 권한 요청 방법Android 2021. 4. 8. 17:30
권한(Permission)이란? 안드로이드에서는 제한된 데이터 혹은 작업에 대해 개인정보 보호를 위해 사용자로부터 권한을 부여받도록 되어있다. 매니페스트에서 권한을 선언할 수 있는데, 앱을 설치할 때 사용자가 허용하면 한번에 권한이 부여된다. 앱 권한 선언 일반 권한의 경우 매니페스트에서 선언하여 설치 시점에서 권한을 부여받을 수 있다. 앱 권한을 부여하기 위해서는 매니페스트 파일에 요소를 추가해야한다. 아래는 카메라에 접근하기 위한 권한을 추가하는 방법이다. ... +) 하드웨어와 관련된 권한의 경우, 해당 하드웨어 기기를 선택사항으로 선언할 수 있다. ... android:required 옵션을 false로 설정하지 않으면 하드웨어 기기가 없다면 앱 자체를 설치할 수 없다. 위험 권한 (런타임 권한)..