本帖最后由 lb8820265 于 2016-3-17 21:07 编辑
前面简要的介绍了蓝牙4.0,采用的是官方的例程代码修改而来,实际使用中会出现断开后无法连接的情况,这也许我我不过硬的Android编程有关,那么这次我直接使用第三方的蓝牙jar包,测试发现非常稳定而且使用方便。
这里使用的是JUMA的jar包,这里我们需要下载一个JUMA的工程,这里我选择了BLE_SensorTag_Android,下载地址在最后, JUMA是用的Eclipse编写的。AS可以很方便的将Eclipse工程转化为AS工程,点击FileàNewàImport Project,然后找到下载的BLE_SensorTag_Android工程的地方一路next,最后会出现一个错误,这里将build.gradle中的compileSDKVersion 改为19,然后compile 中的改为compile 'com.android.support:support-v4:19.1.0',这样就可以编译运行了,有兴趣的同学可以自己看看。
这次从零开始做一个BLE的DEMO,本人使用的Android studio是1.5版本,使用的SDK是Android 4.4.2(这里之所以选择4.4版本是应为这个版本相当漂亮,然后优化也不错,也大于BLE的最低要求)。首先FileàNewàNew Project,Application name填写:JUMA_BLE_DEMO,Company Domain填写:lb.exanple.com然后next,在Mimimum SDK选择4.4。然后next,选择Empty Activit工程然后一直next直到finish。
这里我们要复制几个文件,左边是要复制的文件,右边是文件夹位置:
BLE_SensorTag_Android工程 | |
BLE_SensorTag_Android-master\src\ com\juma\stsensor\CustomDialog.java | JUMA_BLE_DEMO\app\src\main\java\com\example\lb\juma_ble_demo |
BLE_SensorTag_Android-master\src\com\juma\stsensor\CustomListViewAdapter.java | JUMA_BLE_DEMO\app\src\main\java\com\example\lb\juma_ble_demo |
BLE_SensorTag_Android-master\libs\ juma-sdk.jar | |
BLE_SensorTag_Android-master\res\drawable-hdpi\ cancle1.png | JUMA_BLE_DEMO\app\src\main\res\drawable |
BLE_SensorTag_Android-master\res\layout\devcie_list_item.xml | JUMA_BLE_DEMO\app\src\main\res\layout |
BLE_SensorTag_Android-master\res\layout\dialog_scan.xml | JUMA_BLE_DEMO\app\src\main\res\layout |
这时我们再打开我们的工程,发现有些错误,这里我们首先jar包导入,将导航部分显示模式改为Project,然后找到juma-sdk.jia,右击选择“Add As Library”然后确定,如下图所示:
接下来修改Bug,首先将CustomDialog类和CustomListViewAdapter类的package位置指定为
package com.example.lb.juma_ble_demo;
然后将程序中出现STSensor的地方改为MainActivity,如果我没记错的话,这样就没有错误了,接下来就是编写自己函数了。在activity_main.xml中编写如下:
这就是普通的线性布局,然后给每个按钮添加点击函数,AS编写布局文件是可以实时可见的,最后在preview中效果如下所示:
注意:如果提示版本太高不能显示就在图中的右上角选择API19。
然后在AndroidMainifest.xml中添加蓝牙权限如下:
<uses-permission android:name="android.permission.BLUETOOTH" /><uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 最后在MainActivity中写相关代码如下:
APP可以扫描、发送、接收。这里将STM32_Platform中echo程序烧录到小钢炮中,然后复位芯片,打开编写的APP,点击SCAN如下图:
然后点击搜索到的蓝牙,然后在TX编辑框中如何文字,点击SEND,效果如图所示:
好啦,这里就不详细解释了,有问题欢迎跟帖。