안녕하세요. 오늘은 안드로이드의 유용한 라이브러리를 소개해드리려고 합니다. 참고 박상권의 삽질 블로그 라이브러리를 쓰는 이유 안드로이드 마시멜로우부터 권한에 대한 정책이 변경 되었습니다. 기존의 권한 체크는 앱을 설치하는 시점에서 한번만 동의를 받는 방식이였지만 마시멜로우 이 후 부터는 어플리케이션에서 해당 권한이 필요한 경우에만 허가 받도록 변경 되었으며 사용자는 언제든지 권한을 해제할 수 있습니다. 그렇기에 앱은 계속 권한을 확인하고 권한이 없을 때에 사용자에게 권한을 받아야 하는데요. 권한을 관리하는 코드는 복잡하고 번거롭습니다. 관련 코드는 박상권의 삽질 블로그 링크를 타시면 보실 수 있습니다. 라이브러리 소개 TedPermission은 안드로이드 권한 확인 및 요청 처리를 간단하게 할 수 있도록..
안녕하세요. 오늘은 RxJava의 두 번째 시간으로 Observable에 대해 알아보겠습니다. Observable은 데이터의 흐름을 관장하는 클래스로써 RxJava에서는 Observable이 절대 빠질 수 없습니다. Observable은 데이터의 흐름에 맞게 알림을 보내 구독자가 데이터 처리를 할 수 있도록 만듭니다. Observable은 세 가지의 알림을 구독자에게 전달하며 그 종류는 아래와 같습니다. 알림의 종류 onNext : 데이터의 발행을 알립니다. onComplete : 모든 데이터의 발행이 완료되었음을 알립니다. 이 후 모든 구독은 끝나게 됩니다. onError : 데이터의 흐름 중에 에러가 발생했음을 알립니다. 이 후 Observable의 동작은 끝납니다. 이제 Observable의 다양한..
안녕하세요. 오늘은 안드로이드의 블루투스 통신 방법을 Kotlin과 함께 알아보겠습니다. 블루투스란? 블루투스 통신은 휴대폰과 휴대폰, 휴대폰과 블루투스 지원 기기간의 근거리 통신 규약입니다. 안드로이드는 블루투스 통신을 지원하는 내부 라이브러리가 있는데요. 블루투스 진행 순서 코드에 들어가기 앞서 안드로이드 블루투스 진행 순서부터 간단히 알아봅시다. 블루투스 지원기기 확인 블루투스 On/Off 확인 블루투스 페이링 기기 확인 및 선택 통신 - 클라이언트 통신 - 서버 어떠신가요? 대충 아시겠나요? 각 부분을 연결하여 개발하다가 보면 좋은 블루투스 통신 코드를 짜실 수 있으실 겁니다. 통합 코드는 Java로 짜여있고 보기 더러워서..... ㅠㅠ 그래도 굳이 보시겠다면 하단에 GitHub 링크 달아놓겠습니..
안녕하세요. 오늘은 RxJava에 대해 소개하는 시간을 가지도록 하겠습니다. 이번 시간에는 RxJava에 대한 소개만 하고 다음 시간부터 코드와 함께 Observable, Subject 등에 대해 알아보겠습니다. 리액티브란? RxJava는 리액티브 프로그래밍을 Java로 할 수 있도록 도와주는 라이브러리입니다. 그렇기에 RxJava를 잘 다루기위해서는 리액티브 프로그래밍의 개념과 이에 사용하는 다양한 클래스나 함수에 대한 이해가 필요합니다. 리액티브 프로그래밍이란 데이터의 흐름과 전달에 관한 프로그래밍 패러다임으로 프로그래머가 코드상으로 입력한 절차에 따라 순서대로 동작하는 명령형 프로그래밍과 달리 데이터의 흐름을 먼저 작성하고 데이터의 흐름에서 발생하는 다양한 이벤트에 따라 수식이나 함수가 실행되는 방..
안녕하세요. 오늘을 날개라는 프로젝트를 진행하면서 얻은 Socket통신에 대한 경험을 공유하고자 합니다. 현재 안드로이드와 라즈베리파이간의 통신을 Socket을 이용하고 있습니다. 관련 코드은 하단에서 확인하실 수 있습니다. (Star와 Issue는 언제나 환영!) Kotlin과 RxJava로 이루어진 Socket Client 통신 Socket를 사용하는 이유 IoT와 안드로이드 어플간의 통신은 보통 블루투스로 구현합니다. 하지만 블루투스 통신의 페어링은 굉장히 귀찮은 과정입니다... 그래서 페어링 없는, 어플만 켜면 자동으로 연결되는 통신을 원했으며 같은 네트워크에 있다면 아무런 과정없이 연결할 수 있는 Socket을 사용하게 되었습니다. Socket 통신 With Kotlin, Python Socke..
- Total
- Today
- Yesterday