安卓APP蓝牙上位机的编写二——搜索附近蓝牙设备

安卓APP蓝牙上位机的编写二——搜索附近蓝牙设备

安卓APP蓝牙上位机的编写一——APP结构

前言

传统蓝牙即蓝牙2.0以及之前的版本,功耗较高不能满足可穿戴设备对于续航的要求。所以目前大部分可穿戴设备都采用蓝牙4.0,即BLE蓝牙技术。
BLE(Bluetooth Low Energy)蓝牙的功耗低,能够实现快速搜索,快速连接,超低功耗保持连接和数据传输。但是BLE蓝牙数据传输速率低,特别是在安卓开发过程,BLE蓝牙一包数据最多为20字节,因此安卓系统下最好不要使用BLE蓝牙传输大量数据。
转入正题,蓝牙搜索附近设备有两种情况:
1、蓝牙搜索附近所有已经配对的设备,这种实现起来相对简单。
2、蓝牙搜索附近所有的设备,这种呢实现起来相对复杂一点。

本篇文章需要一点安卓开发的知识,如有问题/错误,欢迎在下方评论斧正。

搜索已经配对的蓝牙

APP源码链接:https://gitee.com/takajiaka/test2.git
第一种情况:如果是搜索已经配对的蓝牙那么很简单,只需要一个点击事件调用系统自带的蓝牙适配器就可以了,效果图如下:

在这里插入图片描述

*代码如下:* activity_main.xml文件中控件代码:
<Button
               android:id="@+id/button3"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:textAllCaps="false"
               android:onClick="list"
               android:text="@string/List"
               />

MainActivity部分关键代码:

private BluetoothAdapter BA;//蓝牙适配器
//private BluetoothControler mBluetoothcontrol=new BluetoothControler();
private Set<BluetoothDevice>pairedDevices; //蓝牙设备,已经连接的设备

//点击事件处理函数
public void list(View view)
{
    if(BA.isEnabled()) {//判断蓝牙已经开启
        pairedDevices = BA.getBondedDevices();//获取已经匹配额设备
        ArrayList list = new ArrayList();//数组
        for (BluetoothDevice bt : pairedDevices)
            list.add(bt.getName() + ":" + bt.getAddress());
        Toast.makeText(getApplicationContext(), "显示已经连接的设备", Toast.LENGTH_SHORT).show();
        final ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, list);数组适配器
        lv.setAdapter(adapter);//listview绑定适配器
    }
    else  Toast.makeText(getApplicationContext(), "请先开启蓝牙!", Toast.LENGTH_SHORT).show();
}

以上代码是不是比较简单呢?用以上代码先热热身,那么接下来我们就进入攻坚环节。

搜索附近所有的蓝牙设备

APP源码链接:https://gitee.com/takajiaka/ZhiNengKai

  • 12
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值