본문 바로가기

Mobile : Android/Framework5

[Android] 저전력 블루투스(Bluetooth LE) #1 - BLE 기본 개념 [Android] 저전력 블루투스(Bluetooth LE) #1 - BLE 기본 개념 저전력 블루투스(Bluetooth Low Energy, LE) 기술은 앱과 연결되는 각종 장치들의 통신에서 소모되는 전력량을 줄이기 위해 탄생한 기술로, 많은 블루투스 기기들이 앱과 연결하여 데이터를 주고받을 때 활용된다. 블루투스 아키텍처는 전부다 서술하기엔 (물론 전부 다 공부하지도 못했지만) 양이 매우 많아, 저전력 통신 구현에 필요한 최소한의 필수 아키텍처 구조를 먼저 알아보고, 안드로이드(Kotlin)에서 실제 구현은 어떻게하는지는 다음 포스트에서 이어가겠다. 1. 안드로이드 블루투스 아키텍쳐 2. GAP와 GATT 3. 블루투스 시스템 API와 권한 처리 안드로이드 블루투스 아키텍처 우선 그림으로 보면 다음과.. 2022. 6. 24.
[Android] 권한(Permission) # 1 - 시스템 권한 (feat. Bluetooth) [Android] 권한(Permission) # 1 - 시스템 권한 (feat. Bluetooth) 작성 시점 : 22.05.15 안드로이드 개발을 하다 보면, 특정 기능을 사용할 때 권한(Permission)이 필요한 경우가 있다. 특히 안드로이드 12 (API Level 31 이상)부터 몇 가지 권한의 변경 사항이 있어 현재 내가 개발 중인 앱도 컴파일 버전(CompileSdk)을 올려야 할 필요가 있었는데 그 영향이 있었다. 그래서 내친김에 권한(Permission)에 대해 정리해보고 기본적인 권한 요청 방식에 대해 알아보고자 한다. 1. 권한의 기본 개념 2. 권한의 종류 3. 권한 요청의 기본 로직 권한의 기본 개념 권한(Permission) 이란? 우선 권한이 무엇인지 간단히 살펴보고자 한다... 2022. 5. 16.
[Android Component] 서비스(Service) #3 - 바운드 서비드(Bound Service) : 로컬 바인딩 2021.08.09 - [Android/Android Architecture] - [Android Component] 서비스(Service) #2 - 스타티드 서비스(Started Service) [Android Component] 서비스(Service) #2 - 스타티드 서비스(Started Service) 서비스(Service) #2 - 스타티드 서비스(Started Service) 스타티드 서비스(Started Service) 스타티드 서비스는 공식 문서에선 Unbound Service 라고 하는데, Unbound는 바운딩되었다가 언바운드 한 것인지.. full-stack.tistory.com △ 선행 포스트 서비스(Service) #3 - 바운드 서비드(Bound Service) : 로컬 바인딩 .. 2021. 8. 24.
[Android Component] 서비스(Service) #2 - 스타티드 서비스(Started Service) 서비스(Service) #2 - 스타티드 서비스(Started Service) 스타티드 서비스(Started Service) 스타티드 서비스는 공식 문서에선 Unbound Service 라고 하는데, Unbound는 바운딩되었다가 언바운드 한 것인지 처음 부터 바운드를 하지않은 것인지 애매한 단어이기에 스타티드(Started) 서비스라 하겠다. 스타티드 서비스는 단발성 비동기 작업을 수행할 때 사용하는게 일반적이며 작업을 수행하고자 하는 컴포넌트에서 startService() 를 호출하여 시작하는 서비스를 말한다. 여기서 비동기 작업은 메인 작업 A를 수행 중에 B라는 작업을 시작하면 A가 B작업이 끝날떄까지 기다리는게 동기(Synchronous) 방식이고 비동기(Asynchronous) 작업은 B를 시.. 2021. 8. 9.
[Android Component] 서비스(Service) #1 - 개요 서비스(Service) #1 - 개요 서비스 흔히 안드로이드 4대 컴포넌트라고 하면 액티비티(Activity), 서비스(Service), 브로드캐스트 수신자(BroadCast Receiver), 콘텐츠 프로바이더를 떠올린다. 앱을 개발할때, 액티비티는 뗄래야 뗄 수 없고 가장 많이 접하기에 익숙할 뿐더러 액티비티만 이용해서도 어떠한 앱을 완성할 수도 있다. (좋은 방법은 아니지만) 그러나 서비스는 안드로이드를 공부하는 초반에는 낯설기도 하고, 이해하기도 액티비티에 비해 직관적이지 않아 잘 쓰지않곤 했다. 안드로이드 애플리케이션을 여러개 개발해보다 보니, 어떠한 기능에 대해 구현을 할때 이게 정말 최선인가? 싶은 작업들이 많았고 이런 작업에 대한 해법을 찾다보면 결국 서비스에 있는 경우가 많았다. 보통 그.. 2021. 6. 26.