Android 6

[Android] 기기에 MQTT Broker 돌리기. How to run a MQTT broker on android device

목표AOS 기기에 Mosquitto Broker 설치 후 실행하기방법1. 첫 번째 옵션은 Github에 공개된 프로젝트를 활용하는 것입니다.https://github.com/TeamDotworld/android-mqtt-broker 앱을 빌드하고 활용하여 MQTT 브로커를 실행하시면 됩니다.단 이 방법은 라이선스 문제가 생길 수도 있고, 지속적인 버전 관리가 안될 수 있어 추후에 이슈가 발생할 수도 있습니다. 2. 첫 번째 옵션은 Termux 앱을 이용합니다.https://github.com/termux/termux-app GitHub - termux/termux-app: Termux - a terminal emulator application for Android OS extendible by vari..

Android 2024.10.29

[Android] MQTT Client 구현 + Mosquitto Server on Window

이전 포스팅에서 다룬 이론을 토대로 MQTT서비스를 직접 구현해 보도록 하겠습니다.2024.03.29 - [Protocol] - MQTT 기초 이론 (이 글 하나만 보면 됨) MQTT 기초 이론 (이 글 하나만 보면 됨)MQTTT란? MQTT는 머신 대 머신 통신에 사용되는 게시/구독 기반 메시징 프로토콜이다. 스마트 센서, 웨어러블 및 기타 사물 인터넷 디바이스는 리소스 제약이 있는 네트워크를 통해 제한된 대역폭dev-yangkj.tistory.com 하려고 하는 것!1. Windows PC에서 MQTT Broker(mosquitto 사용)를 돌린다.2. Android App으로 Client를 구현한다.3. 서로 메시지를 주고받는다 1. Broker 구축서버를 구현해 놓은 웹사이트도 있으니 사용해도 되..

Android 2024.04.06

[Android] 토스 화면 전환 애니메이션 따라 만들기 Fragment Animation

목표 토스앱의 화면전환 따라 만들기! 토스앱이 정확히 어떻게 구현하였는지 모르지만 시작적으로 비슷하게 구현하기 위해 제가 사용한 방법을 소개합니다. 우선 요구사항을 대략적으로 정리해 보면 다음과 같습니다. 1. 하단 네비게이션 메뉴를 통해 화면전환을 한다. 2. 메뉴의 위치에 따라 오른쪽 또는 왼쪽에서 나오는 듯한 애니메이션을 구현한다. 3. 2번의 움직임에 투명도를 같이 조절해 준다. (fade in and out) 방법 Step 1 BottomNavigation에 사용할 메뉴를 구성합니다. res 디렉토리 하위에 menu 리소스 디렉터리 생성 만들어진 menu 디렉토리에 bottom_navigation_menu라는 이름으로 xml파일을 생성하고 다음과 같이 작성합니다. icon은 vector asse..

Android 2023.01.28

[Android] 버튼에 눌림 효과 주기 Button Pressed Effect (Fade 효과는 보너스)

결과물 방법 setOnPressedListener 함수를 사용해 직접 구현해도 되지만 Selector를 Button의 Background로 설정하는 것으로 매우 간단히 구현할 수 있다. Step 1 Drawable Resource 추가 이름은 selector_button_background 라고 지었다. Step 2 그리고 추가한 XML에 다음과 같이 작성해준다. Selector는 이름에서도 알 수 있듯 뷰에서 전달받은 상태와 동일한 Item을 Return 해주는 역할을 하는 태그이며 하나 이상의 Item을 가져야 한다. pressed 외에도 다양한 속성을 제공한다. 자세한 내용은 공식 페이지 설명을 참고하는 것이 좋겠다. 출처: https://developer.android.com/guide/topic..

Android 2023.01.21

[Android] ImageView에 APNG 적용하기 (너무 쉬움 주의)

요구사항 APNG로 버튼 클릭 효과 구현해 주세요! 예를 들면 이런 거 위 영상과 같이 바텀 내비게이션 버튼의 클릭 효과로 애니메이션이 들어가기 원했고 애니메이션은 앱에서 처리하지 않고 디자이너로부터 APNG를 받아 사용하기로 했다. 먼저 받은 APNG파일을 프로젝트의 Drawable에 넣고 이미지 뷰에 때려 넣은 뒤 빌드해 보았다. 역시나 안된다. 바로 깃허브로 달려가서 검색 "android apng" https://github.com/penfeizhou/APNG4Android 최상단에 별 제일 많은 걸로 눌러보았다. 별 423개, 아파치 라이선스, 최근 6개월 안으로 릴리즈 있음, 컨트리뷰터도 있고 이슈도 종종 해결해서 업데이트해주고 있다. 펀페이조우... 이거다! 적용하기 WebP, APNG, Gi..

Android 2023.01.15

[Android] NestedScrollView 활용해서 가변 높이 ScrollView 밑에 버튼 넣기 (feat. chainStyle, minHeight)

세줄요약 (요구사항 / 해결방법) 1. 스크롤뷰(WebView and ScrollView)가 이중으로 들어가야한다. / NestedScrollView 사용 2. 높이가 가변인 뷰의 최소 높이를 정하고 싶다. / MinHeight 사용 3. Constraint Chain 에서 뷰들 사이 간격을 최대로 설정 해야한다. / ConstraintLayout ChainStyle CHAIN_SPREAD_INSIDE 사용 배경 WebView와 그 하단에 버튼 하나로 구성된 화면을 개발해야했다. WebView와 버튼을 포함하는 스크롤 영역을 끝까지 내렸을때 최하단에 버튼이 나오게 구성하면서 스크롤이 안생겼을 때도 버튼이 화면 하단에 딱맞게 들어가도록 의도된 디자인이 나왔다. 필자의 경우 WebView를 사용하는 케이스였..

Android 2023.01.04