안드로이드11 [JAVA] BluetoothGatt로 BLE 사용하기(2) - 데이터 전송 🟨 전송데이터를 전송하려면 serviceUUID와 characteristicUUID가 필요하다.Service, Characteristic이 둘은 블루투스 기기가 가지고 있는 기능 같은 것이다그냥 특성(characteristic)을 그룹으로 모아놓은 것이 Service이다Service는 특정 기능이나 데이터를 제공하는 논리적 그룹Characteristic은 특정 기능이나 데이터 🔸 BluetoothActivity.java블루투스를 관리하는 파일에 이렇게 블루투스 전송 함수를 만들어준다.보내고자 하는 값을 byte 형식으로 변경해서 블루투스 기기(Peripheral)로 전송하게 된다.// 블루투스 전송 함수public void sendCommand(String command) { try { .. 2025. 2. 4. [JAVA] BluetoothGatt로 BLE 사용하기(1) - 스캔 및 연결 ❕ Bluetooth GattAndroid에서 BLE를 다루는 프레임워크BLE(Bluetooth Low Energy)블루투스 통신의 단점이었던 전력소비를 보완한 저전력 블루투스 본문은 BLE 기기의 스캔과 연결에 대한 구현 방법을 담고 있다. 다음 글에서 앱 -> BLE 기기 데이터 전송 및 블루투스 연결 끊김 감지, BLE 기기 -> 앱 데이터 전송을 담을 예정이다. 🟨 구현🟠 권한 설정권한은 아래 링크에서 각자 필요한 것을 찾아 선언해주면 됨https://developer.android.com/develop/connectivity/bluetooth/bt-permissions?hl=ko&_gl=1*hi7g9s*_up*MQ 블루투스 권한 | Connectivity | Android Deve.. 2025. 1. 14. [안드로이드] Unknown Kotlin JVM target: 21 오류 해결법 🔒 오류와 원인 안드로이드 스튜디오를 업데이트 했더니 기존 프로젝트에서 이런 오류가 생겼다.원인은 Kotlin에서 설정한 JVM 버전이 현재 Gradle 또는 Kotlin 플러그인에서 지원되지 않기 때문에 발생한다고 한다. 확인해보니 Gradle JDK가 21로 되어 있었다. 🗝️ 해결법 아래와 같이 JDK를 17로 변경해주고 module 단위 gradle 파일도 수정해주면 해결~! 위처럼 다운그레이드 하지 않고 21 버전으로 업그레이드를 시도해보았으나, 변경해야 할 부분이 훨씬 더 많고 수정을 하면서 기존 프로젝트와 충돌할 가능성이 컸다. 결국 compose compiler version을 수정하는 부분에서 공식 문서를 보아도 이해하지 못 하게 되면서 포기... 그냥 다운그레이.. 2025. 1. 4. [Kotlin] HiltViewModel이란? (with Compose) 💢 Hilt는 Android에서 의존성 주입(Dependency Injection)을 쉽게 구현할 수 있게 해주는 라이브러리이다. 프로젝트 내에서 수동 DI를 사용하는 상용구 코드를 줄여주며, 모든 Android 구성 요소에 컨테이너를 제공하고 컨테이너의 수명 주기를 자동으로 관리한다.Dependency Injection은 구성요소 간의 의존 관계가 내부가 아닌 외부를 통해 정의되게 하는 디자인 패턴 중 하나이다. 목적은 객체를 생성하고 사용하는 관심사를 분리하는 것. 프로젝트 내에서 MVVM 패턴과 Compose Navigation을 사용했다. ViewModel을 View에 전달하는 과정에서 Hilt를 사용하지 않으니 MainActivity 혹은 NavigationGraph 내에서 ViewMode.. 2024. 7. 28. 2023 Droid knights 운영진 후기 드로이드 나이츠는 국내 최대 규모를 가진 안드로이드 컨퍼런스이다. 지난 9월 12일에 코엑스에서 진행되었는데, 생각보다 표가 금방 마감되어 예매를 하지 못 했다. 그래서 운영진을 신청했고 선정되었다! 당일 아침 7시 30분까지 집합! 생각보다 빡센 일정이었다. 나는 지방에 살고 있기 때문에 같이 운영진을 하게 된 친구와 하루 전 숙소를 잡았다. 밤낮이 바껴있던 상태라 아침 집합은 너무 힘든 일이었다.ㅎㅎㅎ,,, 엄청 피곤한 상태지만 무사히 도착! 아침으로는 맥모닝을 사주셨당~~ 도착해서 바로 유니폼을 받았는데, 유니폼이 생각보다 귀여웠다. 아직도 옷장에 간직 중! 유니폼으로 갈아입은 후 첫 업무는 굿즈 포장하기! 생각보다 어마무시한 양의 굿즈를 포장하게 됐다. 강연이 본격적으로 시작되기 전, 사람들 입장.. 2023. 12. 31. [Android studio] unexpected end of stream 에러 해결 안드로이드 스튜디오에서 서버 연동 시 일어나는 오류이다.나 같은 경우에는 이 오류가 항상 일어나는 것이 아니라 프로그램을 실행하였을 때 10번 중 3,4번 정도는 성공하고 나머지는 에러가 났다. 애뮬레이터 상에서 계속 에러가 났고, 여러 영어와 낯선 용어들을 열심히 따라해보았지만, 해결하지 못 했다. 막막하던 와중에 혹시나 하는 마음으로 공기계와 연결해보았는데 에러가 발생하지 않았다.애뮬레이터 설정과 충돌이 있는 게 아닌가 싶다. 해결법실제 안드로이드 기기에선 에러가 나지 않으니 실제 기기를 사용하여 개발하자 사실 이걸 에러 해결이라고 봐도 되는지는 잘 모르겠다. 그러나 나처럼 많은 블로그와 영어들을 찾아본 이후에도 해결하지 못한 사람들의 시간을 위해 일단 게시하기로 했다! 2023. 12. 18. 이전 1 2 다음