전체 233

[Android] WorkManager - 기초

#1 이전 글 [Android] WorkManager - 개요#1 WorkManager는 '지연 가능한 백그라운드 작업'의 관리자 WorkManager를 사용한 백그라운드 작업 - Kotlin | Android DevelopersAndroid에는 보장된 백그라운드 작업을 위한 다수의 옵션이 있으며, 이러한 옵션kenel.tistory.com개념 설명에 그쳤던 이전 글에 이어 본 게시글에선 실제로 WorkManager를 구현해본다. #2 WorkManager 사용하기#2-1 모듈 수준 build.gradle 수정plugins { ...}android { ...}dependencies { ... // WorkManager val work_version = "2.9.0" imp..

[Android] WorkManager - 개요

#1 WorkManager는 '지연 가능한 백그라운드 작업'의 관리자 WorkManager를 사용한 백그라운드 작업 - Kotlin | Android DevelopersAndroid에는 보장된 백그라운드 작업을 위한 다수의 옵션이 있으며, 이러한 옵션에는 각각 다양한 장단점이 있습니다. Android용 WorkManager API는 백그라운드 작업을 간편하게 만듭니다. WorkManager는 예developer.android.comWorkManager는 Android Jetpack에 속하는 백그라운드 작업 관리 시스템 라이브러리다. 모든 백그라운드는 아니고, '지연 가능한 백그라운드 작업'를 관리한다. '지연 가능한 작업'이란, 즉시 실행하지 않아도 되는 작업을 의미한다. 예를 들어, 서버와의 데이터 동..

[Android] Notifications - Action 버튼 클릭 시 알림 Cancel

#1 이전 글 [Android] Notifications - PendingIntent#1 이전 글 [Android] Notifications - 기초#1 개요 알림 개요  |  Views  |  Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. 알림 개요 컬렉션을 사용해 정리하기 내 환경설정을 기준kenel.tistory.com위 게시글의 완성된 앱을 일부 수정해서, 알림의 Action 버튼을 클릭하면 해당 알림이 제거(Cancel)되게 만들어본다. #2 PendingIntent.getBroadcast()Intent는 안드로이드에서 컴포넌트(Activity, Service, BroadcastReceiver, ContentProvider) 간 통신을..

[Android] Notifications - PendingIntent

#1 이전 글 [Android] Notifications - 기초#1 개요 알림 개요  |  Views  |  Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. 알림 개요 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세kenel.tistory.com위 게시글의 완성된 앱을 일부 수정해서, 알림 메시지 클릭 시의 동작을 구현해본다. #2 PendingIntent PendingIntent  |  Android Developers developer.android.com Intent는 안드로이드에서 컴포넌트(Activity, Service, BroadcastReceiver, ContentProvider) 간 통신을 위해 사용되는..

[Android] Notifications - 기초

#1 개요 알림 개요  |  Views  |  Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. 알림 개요 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 알림은 사용자에게 리마인더, 다른 사람과developer.android.com앱에게 있어 알림(Notifications)는 빼놓을 수 없는 구성 요소다. 알림을 기초적으로 구현해본다. #2 SDK, 권한, View 설정#2-1 최소 SDK 설정Minimum SDK를 API 기준 26 이상으로 설정한다. Notifications 대부분 기능의 최소 요구 API가 26이기 때문이다. #2-2 AndroidManifest.xml에서 알림 권한 설정 알림 발생..

[Android] Retrofit - Post

#1 이전 글 [Android] Retrofit - 기초#1 이전 글 [Android] Retrofit - 배경과 구조#1 Restrofit의 배경#1-1 REST API REST API (REpresentational State Transfer Application Programming Interface)#1 무엇(What)에 대한 API인가?#1-1 개요REST(REpresentational State Transfer) 또는kenel.tistory.com위 게시글의 완성된 앱을 일부 수정해서, 서버에 Post 요청을 해본다. (참조: REST API)#2 코드 수정#2-1 AlbumService.kt// package com.example.postimport retrofit2.Responseimpor..

[Android] Retrofit - Logging, Timeout 관리 (Interceptor)

#1 이전 글 [Android] Retrofit - 기초#1 이전 글 [Android] Retrofit - 배경과 구조#1 Restrofit의 배경#1-1 REST API REST API (REpresentational State Transfer Application Programming Interface)#1 무엇(What)에 대한 API인가?#1-1 개요REST(REpresentational State Transfer) 또는kenel.tistory.com위 게시글의 완성된 앱을 일부 수정해서, Retrofit Instance가 통신 기록(Log)을 남기게 만든다. 또, Retrofit Instance가 서버-클라이언트 간 통신을 성공 또는 실패(Timeout)로 판단하는 규칙을 바꿔본다. #2 Int..

[백준] 1764 (듣보잡)

#1 알고리즘#1-1 개요먼저, Input으로부터 '듣지 못한 사람'들을 읽어 들여 명단을 만든다. 그리고 '보지 못한 사람'들을 한 명씩 읽어 들이며, '듣지 못한 사람'의 명단에 존재하는지 확인한다. 존재한다면, 해당 이름을 '듣지도 보지도 못한 사람' 명단에 추가한다. 마지막으로, '듣지도 보지도 못한 사람' 명단을 (사전 순으로) 정렬한다. #1-2 배열 대신 HashSet 사용 Hash table - WikipediaFrom Wikipedia, the free encyclopedia Associative array for storing key-value pairs Hash tableTypeUnordered associative arrayInvented1953Operation Average Wor..

[백준] 1541 (잃어버린 괄호)

#1 알고리즘#1-1 하향식 동적 프로그래밍 동적 프로그래밍 (Dynamic Programming), 상향식(Bottom-up) 및 하향식(Top-down) 접근#1 알고리즘 #1-1 정의 동적 프로그래밍을 한 줄 요약하면 중복의 제거다. 정적(static)이라는 개념과 반대되는 개념으로서, 동적(dynamic)이라는 단어가 이름에 붙었다. 확실히 static이 붙을 만한 작업kenel.tistory.com하향식 동적 프로그래밍을 구현해 풀었다. Caching을 위한 객체로 HashMap를 사용했다. 예를 들어, 1 + 2 + 3 - 4 + 5 - 6 + 7라는 수식을 Caching하기 위해 makeListToKey()라는 함수를 만들었다 (#2 참조). 수식 makeListToKey()에 넣으면 "+1..

[Android] Retrofit - MVVM 구조

#1 이전 글 [Android] Retrofit - 기초#1 이전 글 [Android] Retrofit - 배경과 구조#1 Restrofit의 배경#1-1 REST API REST API (REpresentational State Transfer Application Programming Interface)#1 무엇(What)에 대한 API인가?#1-1 개요REST(REpresentational State Transfer) 또는kenel.tistory.com이전 게시글에서는 userId를 하드 코딩했지만, 여기에서는 사용자가 원하는 userId를 요청하고 그에 응답할 수 있게 만들어본다. 하는 김에 MVVM적인 구조로 만든다.#2 MVVM 패턴 [Android] MVVM 구조 한눈에 보기#1 안드로이드 ..