我首先要说的是我是Android编程的新手。我试图通过Android向BLE外围设备发送简单数据(短字符串)。因此,我从
中定制了BluetoothLeGatt示例http://developer.android.com/samples/BluetoothLeGatt/project.html
我将gatt_services_characteristics.xml中的Gatt服务列表替换为传入数据的文本字段,并替换为EditText和" send"按钮。代码如下:
<TextView android:id="@+id/gatt_services_list"
android:layout_width="match_parent"
android:layout_height="250dp" />
<EditText android:id="@+id/sendText"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_margin="10dp"
android:layout_below="@id/gatt_services_list"/>
<Button
android:id="@+id/sendButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="SEND"
android:onClick="sendData"/>
我还在DeviceControlActivity.java中注释掉了函数displayGattServices(List gattServices),并为按钮点击编写了一个函数,如下所示:
public void sendData(View v) {
value = textField.getText().toString();
byte [] strBytes = value.getBytes();
mGattServicesList.setText(text + "\n>" + value);
text = text + "\n>" + value;
clearUI();
}
我现在想要实现一种简单的方法来发送在EditText中输入的数据。数据只应显示在终端中。
我搜索了一个解决方案,但我并没有完全理解Gatt特性的概念,我担心我必须使用它。我正在使用Android Studio 1.4.1编程并使用API 18及更高版本。
如何以简单的方式发送数据?
提前致谢
答案 0 :(得分:0)
Android BluetoothLeGatt示例已经定制为通过UART发送和接收。看到 https://github.com/danasf/hm10-android-arduino