自定义Android BluetoothLeGatt示例并通过BLE

时间:2015-11-17 18:33:40

标签: java android bluetooth-lowenergy send

我首先要说的是我是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及更高版本。

如何以简单的方式发送数据?

提前致谢

1 个答案:

答案 0 :(得分:0)

Android BluetoothLeGatt示例已经定制为通过UART发送和接收。看到 https://github.com/danasf/hm10-android-arduino