接到课题任务,让做有关蓝牙的点名系统,刚开始也搜索相关的资料,了解各种蓝牙协议,但后面发现也许并不需要很深入的了解各种的协议,因为协议是已经写好的规则,我们只需遵守规则即可。一开始,受困于在蓝牙中一个主设备最多同时连接七个从设备的问题,一个教室中同时上课的同学至少都是二十个以上,那么如何才能解决这样的问题,总不能让老师连接完7个同学又断开后连接另外7个同学,这样还不如就直接手动点名
所以,这款的主体思想(同时感谢搜索中一些不起眼的建议):
1.只需教师端下载apk应用程序
2.学生手机端将蓝牙名称改为学号和姓名
3.建立数据库,将测试用的学生学号和姓名存入数据库
4.无需一一匹配,只需将搜索到的蓝牙名称与数据库中信息进行对比,最后返回未匹配到的同学
整个粗糙的apk成品大约为10M,此次给的代码部分为蓝牙核心代码,其他的框架搭建和设计就需要自己构思
开启蓝牙
public void openBlueTooth() {
mBA = BluetoothAdapter.getDefaultAdapter();
if (mBA.isEnabled()) {
showToast("蓝牙已开启");
String Blue_name=mBA.getName();
mac=mBA.getAddress();
showToast("蓝牙名为:" + Blue_name + "," + "蓝牙地址" + mac);
// boolean as=bluetoothAdapter.disable(); //关闭蓝牙
// Toast_text("蓝牙状态:"+as); //是否已经关闭
} else {
boolean b = mBA.enable(); //打开蓝牙
showToast("蓝牙的状态" + b);
showToast("蓝牙已打开");
}