프로그래밍

    [안드로이드] MQTT 라이브러리 정리

    MQTT 서버에 연결하기 위해서 Android App에서 개발한 것을 정리할려고 한다. MQTT 라이브러리 1. paho MQTT paho MQTT는 예전에 개발된 라이브러리이고, 지금은 개발이 중지된 것처럼 보인다. 예전에 개발한 라이브러리이여서 깃 issue에서는 android 12는 동작하지 않는다고 한다. 나도 android 10에서 개발하니 broadcast에서 자꾸 에러가 발생한다. (해결 방법은 따로 코드 수정을 해서 받으면 된다) GitHub - eclipse/paho.mqtt.android: MQTT Android MQTT Android. Contribute to eclipse/paho.mqtt.android development by creating an account on GitHub..

    [안드로이드] BLE 연결 및 데이터 받기

    안녕하세요. 이번에 BLE(Bluetooth Low Energy) 기기를 연결할 기회가 생겼습니다. 처음으로 BLE를 연결해서 안드로이드 공식 문서를 따라 만들었지만 데이터가 오지 않아서 많은 시간을 사용했습니다. 이 글을 보시는 분들이 고생하지 않길 바라며, 공식 문서를 따라 하면서 생긴 이슈를 공유 하겠습니다. 참고 저는 Activity를 기기 연결용으로만 사용했으며 서비스에서 알람 및 advertising data를 받는 것까지만 했습니다. 공식 문서와 조금 차이가 있을 수 있습니다. AndroidManifest.xml 설정은 아래 링크 참고 Bluetooth permissions | Android Developers Bluetooth permissions Stay organized with col..

    [안드로이드] DroidKnight 2023

    [안드로이드] DroidKnight 2023

    Droid Knights 2023 Droid Knights 2023 드로이드나이츠는 기술 세션으로 개발자들의 경험을 공유하고 만남의 장을 만드는 컨퍼런스입니다. 2023.09.12(화). 코엑스 E홀에서 진행 예정입니다. www.droidknights.dev 드로이드 나이트 2023의 일정 이번에는 규모가 커진 드로이드 나이츠이다. 기대하고 있는 주제 3개를 뽑자면 테스트 잘하는 주니어 개발자 되기, 빈혈 도메인 모델과 쓸모없는 유스케이스, 그리고 비대한 뷰모델에 대해 생각해보기, A small leak can sink a great ship이 있다. 테스트 코드를 개발을 하고 있지만, 아직도 감을 못잡고 있어서 테스트 주제가 기대된다. 그리고 빈혈 도메인 모델, 쓸모 없는 유스케이스, 비대한 뷰모델은 ..

    android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork 에러 해결법

    FCM에서 문자 파싱으로 마이그레이션 하는 중 제목과 같은 오류가 생겼다. 위와 같은 문제는 Main Thread에서 Network작업을 했기 때문에 발생했다고 한다. 해결 방법은 간단하게 Thread로 작업을 하면 된다고 한다. new Thread() { public void run() { /* 작업 */ } }.start(); FCM와 SMSReceiver 차이를 알아보니, FCM은 별도의 Thread에서 토큰을 받은 후 작업을 하고 SMS은 브로드캐스트에서 문자를 파싱하기 때문에 이런 차이가 보인 것 같다.

    [안드로이드] 안드로이드 14 베타 1 알아보기 - 2

    [안드로이드] 안드로이드 14 베타 1 알아보기 - 2

    안녕하세요 저번에 모든 앱 변경사항을 작성에 이어서 Android 14를 타겟팅하는 앱의 변경점을 알아볼려고 합니다. 아래는 targetSdkVersion과 관계없이 Android 14에서 실행되는 앱에 영향을 미치는 경우입니다. 포그라운드 서비스 유형은 이제 필수 이제부터 포그라운드 서비스는 하나 이상의 서비스 유형(카메라, 위치 등)을 지정해야한다고 합니다. 더보기 서비스 유형 | Android 개발자 | Android Developers 포그라운드 서비스 유형은 필수 항목임 | Android 개발자 | Android Developers Android 14 베타에 오신 것을 환영합니다. Android 14를 최고의 버전으로 만들 수 있도록 의견을 제공해 주세요. 포그라운드 서비스 유형은 필수 항목임 ..

    [안드로이드] 안드로이드 14 베타 1 알아보기 - 1

    [안드로이드] 안드로이드 14 베타 1 알아보기 - 1

    안녕하세요 이번에 안드로이드 14 베타 1가 Release되면서 변경된 사항에 대해서 정리를 해봤습니다. 1에서는 앱 동작변경사항에서 모든 앱의 경우를 정리할려고 한다. 안드로이드 14 일정 2월 3월은 개발자 프리뷰, 현재 5월까지 베타 릴리즈 기간이다. 그러면 안드로이드 14가 되면서 우리 앱이 어떤 식으로 변화하게 되는지가 중요하다. 안드로이드 14에서 우리 앱은 어떤 변화가 있을까? 앱 동작 변경 사항 이 섹션은 targetSdkVersion과 관계없이 Android 14에서 실행한 모든 앱에 적용되는 사항이다. 정확한 시간에 울리는 알람 예약은 이제 권한이 필요함 Android 13 이상 타겟팅하는 새로 설치된 대부분의 앱은 더 이상 사전에 권한을 부여해주지 않는다 즉, 권한 요청을 해준 뒤 사..

    [안드로이드] WifiManager에서 Deprecated된 기능들

    [안드로이드] WifiManager에서 Deprecated된 기능들

    Wifi 관련 개발을 하는 중 Android 8,9,12 차이가 존재하는 것을 알게 되어서 정보 공유를 위해 포스팅합니다. 1. startScane() 먼저 WifiManager 중 startScane이 Android 9에서부터 Deprecated 되었다. 개발자는 아래와 같은 이유로 Deprecated했다고 한다. "우리는 앱이 네트워크 성능을 개선하고 배터리 수명을 개선하기 위해 요청할 수 있는 스캔 수를 추가로 제한하고 있습니다. WifiManager.startScan() 사용은 다음으로 제한됩니다. 각 포그라운드 앱은 2분마다 4번 스캔으로 제한됩니다. 결합된 모든 백그라운드 앱은 30분마다 한 번 스캔으로 제한됩니다. " 더보기 "We are further limiting the number o..

    [안드로이드] AsyncTask가 Deprecated된 이유

    [안드로이드] AsyncTask가 Deprecated된 이유

    AsyncTask is Deprecated 회사에서 코드를 보는 중 AsyncTask가 Deprecated되었다는 것을 보고 왜 Deprecated 되었는지, 그리고 대신할 만한 것을 볼려고 한다. 왜 Deprecated되었나요? AsyncTask was intended to enable proper and easy use of the UI thread. -> AsyncTask는 UI thread(혹은 MainThread)를 쉽고 적절하게 사용했었다. However, the most common use case was for integrating into UI, -> 그렇지만, 일반적인사례에서는 UI에 통합하는 것이고 and that would cause Context leaks, missed callb..