전체 글 129

[Android] Notification (3) - Group Notification / Notification 그룹화

지난 포스팅과 이어지는 3번째 Notification 포스팅이다. Notification 그룹화에 대해 알아보자.    Group Notification ?  Android 7 (API LEVEL 24) 부터 지원되며동일한 그룹 식별자를 가진 알림을 하나의 그룹으로 묶어서 드롭다운 형식으로 제공한다.   위 사진을 보면 한 번에 이해가 될 것이다.  우리가 지난 포스팅까지 사용해봤던 방법은 다음과 같은 알림이었다.   동일한 Notification ID를 가진 알림은 여러 번 발생하더라도여러 개가 쌓이지 않고 하나의 알림이 계속 업데이트 되는 방식이다.  그리고, 각기 다른 Notification ID를 가진 알림은 다음과 같이 여러 개의 알림이 쌓인다.   하지만 위와 같은 알림은 알림 드로어 뿐만 아..

[Android] Notification (2) - 알림 클릭 이벤트 / PendingIntent / Notification Channel · Notification ID 식별 테스트

지난 포스팅과 이어지는 Notification 관련 포스팅이다. 알림드로어의 알림을 클릭했을 때의 동작을 구현해보고,Notification Channel과 Notification ID를 변경해가며 알림 드로어를 살펴본다.      알림 클릭 이벤트 - PendingIntent  PendingIntent는 자신의 앱에서 지정한 권한과 행동을 다른 앱에 부여하는 Intent이다.즉, Intent를 당장 수행하지 않고, 특정 시점에 수행할 수 있도록 해주는 Class이다. 여기서 말하는 '특정 시점'이란 앱이 구동되지 않고 있을 때가 포함될 수 있기에,Notification으로 Intent를 실행한다면 PendingIntent를 필수적으로 사용해야 한다.  대표적으로 카카오톡 알림을 클릭하여 채팅방으로 진입하..

[Android] Notification (1) - 알림 / 알림 사용해보기

안드로이드에서 알림 기능을 사용할 수 있는Notification 클래스에 대해 알아보자.    Notificaiton  안드로이드에서 Notification은(이하 알림) 다양한 위치와 형식으로 사용자에게 표시된다.간단하게 미리 만들어둔 테스트 앱으로 확인해보자.   ● 상태 표시줄에는 아이콘으로 표시된다.      ● 앱 아이콘에는 뱃지가 표시된다.      ● 메인 알림은 알림 드로어에 표시된다.      ● 물론 팝업 형태로 확인할 수도 있다.      ● 알림드로어의 알림 기본 구조는 다음과 같다.   ① Small icon알림을 표시하는 작은 아이콘으로, 필수 요소이다.setSmallIcon() 함수로 세팅할 수 있다. ② App name앱 이름이 표시되는 텍스트다.안드로이드 기본 시스템에서 제..

[Android] 안드로이드 기기 고유 값 얻기 / 기기 식별자 / SSAID

사내 프로젝트 진행 중 FCM 서비스를 사용하게 되었다. FCM 토큰은 보통, 한 번 발급받으면 변경되지 않는다.하지만 앱을 삭제 후 재설치하게 되면 토큰 값이 변경된다. 서버팀에서는 더 이상 사용되지 않는 FCM 토큰 정보를 수시로 폐기하는 등동일한 기기를 사용하는 사용자 관리를 목적으로 기기의 고유한 식별자를 필요로했다.  그리하여 FCM 토큰을 서버로 전송할 때, 해당 기기의 고유 값을 식별자로서 함께 전송하여2가지 값을 관리하는 방식이 채택되었다.  이번 포스팅에서는 안드로이드 기기의 고유 값을 얻어오는 방법을 간단히 정리한다.     기기 고유 식별자 종류와 선택  안드로이드에서는 정말 다양한 종류의 기기 고유 식별자가 존재한다.하지만 정작 사용할 만한 건 몇 개 없다.. 종류에 대해 간단히 알..

[Android] AES (2) - Android 환경에서 AES 사용하기

지난 포스팅에서는 AES에 대해 알아보고,복호화 · 암호화 작업을 웹 사이트에서 간단히 다뤄보았다.  [Android] AES (1) - AES란? / 암호화 / 복호화 사용해보기이번 포스팅에서는 AES 암호화에 대해 알아본다.    AES 란?   ✅ Advanced Encryption Standard의 약자로직역하면 고급 암호화 표준이다.   ✅ 높은 안정성과 빠른 속도를 자랑하기에 현재 대중적으oscarstory.tistory.com    이번에는 안드로이드 환경(Java · Kotlin)에서 진행해보자.    Android 환경에서의 AES  Java에서는 java.security, javax.crypto 패키지에서 AES를 지원하기에해당 클래스를 참조해주면 쉽게 사용할 수 있다. 물론 Kotli..

[Android] AES (1) - AES란? / 암호화 / 복호화 사용해보기

이번 포스팅에서는 AES 암호화에 대해 알아본다.    AES 란?   ✅ Advanced Encryption Standard의 약자로직역하면 고급 암호화 표준이다.   ✅ 높은 안정성과 빠른 속도를 자랑하기에 현재 대중적으로가장 많이 사용되는 암호화 알고리즘이라 할 수 있다.   ✅ AES는 대칭키를 사용하는 대표적인 방식으로암호화 · 복호화 작업에 동일한 키를 사용한다. 이는 비대칭키를 사용하는 방식보다 속도가 빠르다는 장점이 있지만,키가 1개이기 때문에, 탈취당할 시 기밀성을 유지하지 못한다는 단점도 있다.     AES 요소   ✅ Secret Key 암호화 키는 128, 192, 256 세 가지로 사용할 수 있고,각 숫자는 bit 수를 의미하며 곧 키의 길이이다.그리고 각 키는 AES-128, ..

[Kotlin] JSON (2) - JSON 다루기 / JSON 파싱 / JSONObject / JSONArray / Gson

지난 포스팅에서는 JSON이 무엇인지 간단히 알아보았다. 이번에는 JSONObject, JSONArray, Gson을 활용하여 JSON 데이터를 다뤄본다.    JSON 데이터 준비  JSON 데이터를 다루기 위해서는 먼저 JSON 데이터가 있어야 한다. 임의의 OPEN API 에서 데이터를 받아오고 파싱해도 되지만,간소화하고 직접 문자열을 만들어주자.  val jsonData = """ { "name" = "Oscar", "age" = 29, "hobby" = "공부" } """.trimIndent()  """ 기호를 활용한 형식화된 다중 문자열을 사용하여Key - Value 형태..

Kotlin (코틀린) 2024.08.17

[Kotlin] JSON (1) - JSON 이란?

이번 포스팅에서는 JSON에 대해 알아본다. 이미 JSON 형식의 데이터를 다루는 포스팅을 많이 해놓고,,너무 늦어버린 감이 있지만.. 정리를 목적으로 한다.   JSON 이란?  JSON이란 JavaScript Object Notation를 축약한 단어이며,직역하자면 자바스크립트 객체 표기법 이라고 할 수 있다. JSON은 사람이 읽고 쓰기에도 편리하고,기계가(컴퓨터가) 다루기에도 용이한 경량의 데이터 교환 형식이다.   구조는 크게 보면 하나의 문자열(String)이며,문자열은 Key-Value 형식을 이룬 데이터로 구성된다. { "Key" : "Value", "Key" : "Value", ...} 이러한 데이터 형식은 과거 웹 초기부터 사용되어 왔던 XML 데이터 형식과 비교하여간결하고 일관성 있으..

Kotlin (코틀린) 2024.07.20