본문 바로가기

Mobile : Android18

[Android] 안드로이드 CI/CD # 1 : Bitrise + Firebase [Android] 안드로이드 CI/CD : Bitrise + Firebase 작성일 : 22/07/24 CI (Continuous Integration) CD (Continuous Delivery) 지속적인 통합(Integration)이란 코드 및 기능이 수정되면, 지속적으로 빌드와 테스트를 수행하는 Repository로 Merge 하는 것을 의미한다. 즉 형상 관리와 검증 프로세스의 추가로 코드 품질을 유지한다. 지속적인 전달(Delivery)는 개발자가 개발에만 집중할 수 있도록 빌드, 테스트, 배포 등을 자동화하여 효율성을 높인다. CI/CD는 GitHub, BitBucket, Bitrise 등 다양한 툴로 구성이 가능한데, Bitrise는 모바일 스택(Android, IOS, Flutter, Re.. 2022. 7. 24.
[Android] 저전력 블루투스(Bluetooth LE) #1 - BLE 기본 개념 [Android] 저전력 블루투스(Bluetooth LE) #1 - BLE 기본 개념 저전력 블루투스(Bluetooth Low Energy, LE) 기술은 앱과 연결되는 각종 장치들의 통신에서 소모되는 전력량을 줄이기 위해 탄생한 기술로, 많은 블루투스 기기들이 앱과 연결하여 데이터를 주고받을 때 활용된다. 블루투스 아키텍처는 전부다 서술하기엔 (물론 전부 다 공부하지도 못했지만) 양이 매우 많아, 저전력 통신 구현에 필요한 최소한의 필수 아키텍처 구조를 먼저 알아보고, 안드로이드(Kotlin)에서 실제 구현은 어떻게하는지는 다음 포스트에서 이어가겠다. 1. 안드로이드 블루투스 아키텍쳐 2. GAP와 GATT 3. 블루투스 시스템 API와 권한 처리 안드로이드 블루투스 아키텍처 우선 그림으로 보면 다음과.. 2022. 6. 24.
[Jetpack AAC] 뷰모델(ViewModel) #1 : MVVM [Jetpack AAC] 뷰모델(ViewModel) #1 : MVVM 뷰모델(ViewModel)은 안드로이드에서 MVVM 패턴을 구현하고자 할 때 필수로 사용되는 AAC(안드로이드 아키텍처 구성요소) 중 하나다. MVVM은 모델(Model)-뷰모델(ViewModel)-뷰(View)의 책임 집합으로 나뉘는 설계 패턴으로, 안드로이드의 Jetpack에서 제공하는 뷰모델은 위와 같은 패턴을 구현할 때 많은 도움을 준다. 따라서 MVVM이 무엇이고 기존에 비해 나은 점이 무엇이며, 안드로이드에서 간단히 뷰모델 라이브러리를 사용하는 방법에 대해 리뷰하겠다. 뷰모델은 필연적으로 LiveData와 함께 쓰이는데, 이것은 다른 포스트에서 이어 서술하겠다. 1. MVVM 과 MVC 2. ViewModel 과 SIS(Sa.. 2022. 6. 13.
[Android Studio] ADB(Android Debug Bridge) 설치 [Android Studio] ADB(Android Debug Bridge) 설치 ADB, 안드로이드 디버그 브릿지는 기기와 통신할 수 있는 명령 도구이다. 기본적인 개념은 Unix Shell에 대한 접근을 제공하는 클라이언트-서버 프로그램이라 할 수 있다. adb 명령어로 클라이언트를 실행할 수 있으며 이 클라이언트를 통해 우리는 기기(개발 머신)에 명령을 전달할 수 있다. 전달된 명령어는 데몬(adbd)에 의해 수행된다. 이것을 안드로이드 스튜디오에서 어떻게 설치하고 사용하는지 알아보겠다. 안드로이드 스튜디오에서 설치 1. 설치 [File] -> [Settings] 를 통해 Settings 창을 띄운다. 이후 [Appearnace & Behavior] -> [System Settings] -> [An.. 2022. 6. 2.
[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.
[Jetpack AAC] Data Binding 기본 #2 : ObservableField [Jetpack AAC] Data Binding 기본 #2 : ObservableField https://full-stack.tistory.com/23 [Jetpack AAC] Data Binding 기본 #1 [Jetpack AAC] Data Binding 기본 #1 Jetpack은 2018년에 첫 공개된 안드로이드 개발에 도움을 주는 패키지 묶음이다. 기존의 구글에서 제공하던 서포트 라이브러리를 모아 통합한 것으로, 그중 AAC(Android full-stack.tistory.com Android Jetpack의 아키텍처 컴포넌트(AAC) 중 하나인 데이터 바인딩의 기본기를 좀 더 학습해보고자 한다. 이번에는 이벤트 바인딩의 방법과 옵저버블 필드(ObservableField)에 대해 알아보겠다. 간단.. 2022. 4. 30.
[Jetpack AAC] Data Binding 기본 #1 [Jetpack AAC] Data Binding 기본 #1 Jetpack은 2018년에 첫 공개된 안드로이드 개발에 도움을 주는 패키지 묶음이다. 기존의 구글에서 제공하던 서포트 라이브러리를 모아 통합한 것으로, 그중 AAC(Android Architecture Component)는 안드로이드 MVVM(Model-View-ViewModel) 패턴의 시대를 연 장본인이다. 그로부터 약 4년이 지난 지금, MVVM은 이제 대세다. MVVM을 시작하기 위해선 뭐부터 시작해야 할까? 바로 데이터 바인딩(Data Binding) 이다. 데이터 바인딩은 선언적 형식으로 UI와 데이터 소스를 연결하는 행위를 말한다. 이게 뭔 소린가? 그동안 UI 구성하고 데이터 소스 연결 잘해왔는데? 선언형 UI란 무엇일까. 일단 .. 2022. 4. 12.