아시다시피 Bluetooth 기술은 원격 장치로 연결을 설정해야 할 때 가장 많이 사용되는 기술 중 하나입니다. 그러나이 기술은 또한 주요 제한, 즉 높은 배터리 소모가 있습니다. 따라서 낮은 에너지 소비와이 기술의 향상 된 버전이 도입 되었다, 라는 BLE (블루투스 낮은 에너지). 따라서 또한 안드로이드 블루투스 낮은 에너지에 API 18 (안드로이드 4.3)와 함께 도입되었다. 이것은 안드로이드 개발의 세계에서 완전히 새로운 차원을 열었습니다. 심박수 모니터, 피트니스 장치 등과 같은 Bluetooth 저에너지 표준을 준수하여 모든 종류의 새로운 하드웨어 장치가 시장에 도입되었습니다. 이 안드로이드 블루투스 저에너지 API는 조금 새로운 이후. 지금까지 구현에 사용할 수 있는 적절한 코드 예제가 없습니다. 따라서 여기에이 튜토리얼에서, 나는 최신 API와 안드로이드 블루투스 낮은 에너지 예를 만드는 방법을 보여줍니다. 안녕하세요, 내 이름은 닉이고 나는 내 안드로이드 스튜디오에서이 BluetoothLeGatt 코드를 구현했습니다. 오류가 나타나지 않습니다. 그래서 실행을 클릭합니다.
“Gradle 빌드 성공”이라는 메시지로 끝납니다. 그런 다음 ADB를 볼 수 있으며 선택할 수 있습니다. 처음으로 나는 그것에 API 22와 넥서스 5X를했다. 응용 프로그램을 실행했지만 미덕 장치에서 UI를 로드하지 못했습니다. 알림 메시지: BLE이 지원되지 않습니다. 세컨드 알림 메시지: 블루투스가 지원되지 않습니다. 즉, 윈10 홈 에디션에 안드로이드 스튜디오에서 넥서스 5X API 22입니다. 그래서 미덕 장치는로드하지만 난 정말 그것으로 아무것도 할 수 없습니다.
그런 다음 KitKat 4.4.4로 시작했지만 두 번 업그레이드되어 현재 마시멜로 6.0.1을 실행하는 OneplusOne의 실제 안드로이드 폰에 앱을로드하기로 결정했습니다. 휴대 전화에서 앱을로드하지만 버튼이있는 UI가 표시되지 않습니다. 휴대 전화가 보여주는 것처럼 : Char를 쓰기, Char를 읽고, 데이터를 읽지 마십시오. 즉, 미덕 장치나 실제 휴대 전화에 표시되지 않습니다. 왼쪽에 BLE 로고가 있는 상단 메뉴 막대가 표시됩니다. 오른쪽에는 스캔 버튼이 표시됩니다. 클릭할 수 있지만 Bluetooth 장치를 찾을 수 없습니다. BLE 장치는 노르딕 칩 nRF51822가 있는 깃털 32u4인 아다프루트(https://learn.adafruit.com/adafruit-feather-32u4-bluefruit-le/overview)에서 나온 것입니다.
다시 말하지만, 실제 휴대 전화에서는 2 개의 버튼이있는 UI가 표시되지 않습니다. 실제 휴대 전화에 빌드는 성공하지만 그 노트: 참고 : C : 사용자 NickH AndroidStudioProjects BluetoothLeGatt_쓰기_읽기BluetoothLeGatt_쓰기 응용 프로그램 srcmain자바 com예androidbluetoothlegatt DeviceScanActivity.java는 더 이상 사용되지 않음된 API를 사용하거나 재정의합니다. 참고: -Xlint:deprecation으로 다시 컴파일하여 자세한 내용을 확인합니다. 참고: C:사용자NickHAndroidStudioProjectsBluetoothLeGatt_writing_readingBluetoothLeGatt_writing응용 프로그램srcmainjavacom예androidbluetoothlegattSampleGattAttributes.java 는 확인되지 않거나 안전하지 않은 작업을 사용합니다. 참고: -Xlint:를 선택 취소하여 세부 정보를 다시 컴파일합니다. 그리고 오른쪽 창에 매우 buttom에이 메시지를 보여줍니다: 성공적인 총 시간을 구축: 22.369 초 안 드 로이드 스튜디오에서 왼쪽 창에 그것은 이러한 메시지를 보여줍니다: E/BluetoothAdapter: 블루투스 바인더는 null 이며 그 메시지: W/EGL_emulation: eglSurfaceAttrib 구현되지 않은 W/OpenGLRenderer: 표면 0xb429fc40, 오류=EGL_SUCCESS W/EGL_에뮬레이션에서 EGL_SWAP_BEHAVIOR를 설정하지 못했습니다: EGLSurfaceAttrib이 구현되지 않음 W/OpenGLRenderer: 표면 0xb429fc40에서 EGL_SWAP_BEHAVIOR를 설정하지 못했습니다. 그래서 결론 : 선택한 버벨 장치 중 어느 것도 안드로이드 스튜디오에서 응용 프로그램을로드하지 않습니다.