최근 Samsung Galaxy Z Flip 제품이 나오며 휴대성과 디스플레이의 확장성 모두 만족할 수 있게 되었습니다. 다양한 디바이스 환경에 맞춰 Android Jetpack에서 Window(창 관리자)가 추가되어 접이식 장치 디바이스 화면상태를 제공하고 있습니다. 더 다양한 디바이스 환경에 따른 화면 구성을 위해 Window APi을 활용하여 디바이스 화면 상태를 체크하는 방법에 대해서 알아보겠습니다. 환경 구성 build.gradle 파일에 Google Maven 저장소에 저장된 Window Manager 오픈소스를 추가합니다. 기기 상태 확인 기기 상태 확인을 위해 windowManager 의 디바이스 상태 변경 리스너를 등록합니다. 디바이스 상태 체크에 대해 Consumer interface을..
대부분의 List를 구현 시 RecyclerView 를 활용할 것입니다. 다수의 Data를 갖고있는 List의 Data를 갱신 시 깜박이는 것을 확인 할 수 있을 것입니다. 데이터 갱신 시 깜박이는 현상을 막을 수 있는 방법은 없을까요? 깜박이는 현상은 Data를 갱신하면서 List의 모든 Cell을 다시 그리면서 발생하고 있습니다. 그렇다면 이미 존재하고 있는 Cell을 다시 안그리는 방법은 없을까요? Adapter에 고유한 id를 을 갖고있다는 것을 설정하면 됩니다. val adatper = NewAdapter() //RecyclerView에 설정할 adapter adatper.setHasStableIds(true) 또한 Adapter의 getItemId을 override 하여 고유한 id를 선언합니..
STOMP을 Android 환경에서 사용하는 방법에 대해서 알아보겠습니다. 소개할 라이브러리는 Android STOMP 라이브러리 중 kotlin으로 작성된 라이브러리로 fork 하여 사용하였습니다. STOMP-KOTLIN 라이브러리 API DESC stomp-client-for-kotlin(fork) https://github.com/FaithDeveloper/stomp-kotlin 위에 명시된 라이브러리를 Android .gradle 에 dependencies 합니다. STOMP Client STOMP Client 사용법은 다음과 같이 나눌 수 있습니다. // 1. INIT val url = "ws://[domain]/connect/websocket" val intervalMillis = 1000L ..
채팅을 구현하는 방식은 XMPP, Websocket 등 다양한 방식으로 구현하고 있습니다. 이번 포스트는 필자가 직접 사용하였던 STOMP에 대해서 간략하게 공유하려고 합니다. 필자의 주관적인 이해한 내용을 적다보니 잘못 기입된 부분이 있을 수 있습니다. 잘못 된 부분에 대해 댓글로 남겨주시면 수정 하겠습니다. STOMP 무엇인가? Simple (or Streaming) Text Oriented Message Protocol 의 약자인 STOMP는 텍스트 기반의 메세징 프로토콜 입니다. STOMP 사용 환경은 TCP 나 WebSocket 과 같은 신뢰성있는 양방향 streaming network protocol 상에 사용될 수 있습니다. 문자로 설명으로 보는 것보다 STOMP 구조를 보면 이해하시는데 도..
앱이 Background 상태인지 Foregrounded 쉽게 알 수는 없을까? Android Architecure Componets에서는 lifecycle 을 지원하고 있습니다. Lifecycle을 활용하기 위한 ProcessLifecycleOwner 선언 및 Observer 설정하는 방법에 대해 알아봅시다. Android Architecure Componets Lifecycle 추가하기 Android Architecure Componets에서는 lifecycle을 사용 시 build.gradle에 라이브러리 추가합니다. dependencies { // Lifecycle components implementation "android.arch.lifecycle:extensions:2.1.0-alpha04..
ViewTreeObserver 단어를 뜯어보면 View Tree + Observer 로 나눌 수 있습니다. Android Developers 에서는 View Tree Observer를 다음과 같이 표현하고 있습니다. View Tree Observer는 리스너 등록을 통하여 View Tree 안에서의 변화를 감지할 수 있습니다. A view tree observer is used to register listeners that can be notified of global changes in the view tree. Such global events include, but are not limited to, layout of the whole tree, beginning of the drawing pas..
실생활에서 얼굴인식 기능을 사용한 경우를 쉽게 발견할 수 있습니다. 대표적인 예로는 사진 어플리케이션에서 제공하는 컨텐츠로 가상으로 액세서리를 착용한 모습을 보여주는 경우가 있습니다. 어떻게 프로그램적으로 얼굴인식 처리를 할 수 있을까요? 어렵게 느껴지는 얼굴인식을 쉽게 접근 할 수 있도록 OpenCV 라는 오픈소스로 제공하고 있습니다. OpenCV 오픈소스를 유연하게 사용하려면 NDK를 활용해야합니다. 이번 포스트는 OpenCV 사용 전 NDK 환경 설정 방법에 대해서 공유 하려고 합니다. NDK 세팅하기 Android NDK는 C와 C++ 같은 언어를 사용하여 앱의 네이티브 코드 일부를 구현하는 도구 모음입니다. 어떤 유형의 앱에서는 이러한 언어로 작성된 코드 라이브러리를 재사용하는 데 도움이 됩니다..
크로스 프랫폼(crocss-platform) 의 개념이 나왔을 때 개발자의 생각은 두 종류 나눠서 이야기했었습니다. 하나는 '일자리가 없어지는게 아닌가?' 하는 걱정과 '업무의 양이 줄겠구나!' 는 기대.. 걱정과 기대 속에서 나왔던 다양한 플랫폼 중 하나로 Cordova가 있습니다. Cordova는 모바일 앱을 HTML, CSS& JSS로 구성할 수 있습니다. 가장 큰 장점인 1 개의 소스로 여러 플랫폼(Android, iOS, 등) 지원 할 수 있는 장점도 갖고있습니다. 이러한 장점이 있기에 Cordova가 나왔을 때 다양한 개발자 분이 프로젝트에 적용했었습니다. 저도 그 중에 한 개발자인데요. 다양한 프로젝트에 Cordova로 작업 하면서 다양한 UI, UX 대응을 하기에는 Native로 개발하는 ..
- java
- 코틀린
- 미션차이나센터
- missionchina
- 탁구
- RXjava
- 디자인패턴
- Kotlin
- 점수판
- Android
- 고시문
- 선교
- MCC
- view
- 안드로이드
- DI
- 알고리즘
- 패턴
- Android Studio
- swift
- push
- IT
- 고시문헬퍼
- flutter
- issue
- IOS
- missioon
- 임용고시
- 스코어헬퍼
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |