Android蓝牙BLE之RSSI数据的读写(1)
来源:互联网 发布:安卓黑科技软件网站 编辑:程序博客网 时间:2024/05/18 03:34
前段时间,一直在研究关于数据的传递方面的,后来否定了要用这些东西,而只是对于rssi的读写,以及BLE之间距离的判断,故,我把这几天的一些了解给写上,方便以后的,温故知新把,其实也没什么技术含量的东西。
原归正传,获取RSSI 无非就两种方法,一是在扫描回调时读取,二是在BLE连接之后读取,两种方法都比较简单,关键在于对蓝牙BLE的认识。
那我首先就介绍下在 扫描回调时怎么去读。
因为通常情况下,我们扫描时的设备及信息都是放在界面上,我就拿这个来说吧,
以呈现在列表上为例,首先 适配器的创建
在创建适配器的时候,要加入 addDevice()方法
public ArrayList<BluetoothDevice> mLeDevices;private LayoutInflater mInflator;private ArrayList<Integer> mRSSIs;private ArrayList<byte[]> mRecords;public MyAdapter() {super();mLeDevices = new ArrayList<BluetoothDevice>();mRSSIs = new ArrayList<Integer>();mRecords = new ArrayList<byte[]>();mInflator = MainActivity.this.getLayoutInflater();}public void addDevice(BluetoothDevice device,int rssi,byte[] scanRecord) {if (!mLeDevices.contains(device)) {if (mScanning) {mLeDevices.add(device);mRSSIs.add(rssi);mRecords.add(scanRecord);}}}在getView里面添加如下(我的测试的,根据每个人的XML文件不同而适当修改)
ViewHolder holder;if (convertView == null) {Log.i("null", " " + position);holder = new ViewHolder();convertView = mInflator.inflate(R.layout.item, null);holder.deviceName = (TextView) convertView.findViewById(R.id.deviceName);holder.deviceAddress = (TextView) convertView.findViewById(R.id.deviceMac);holder.deviceRssi = (TextView)convertView.findViewById(R.id.deviceRssi);convertView.setTag(holder);} else {Log.i("not-null", " " + position);holder = (ViewHolder) convertView.getTag();}BluetoothDevice device = mLeDevices.get(position);int rssi = mRSSIs.get(position); String rssiString = (rssi == 0) ? "N/A" :"RSSI:"+ rssi + " db";final String deviceName = "设备名称:"+device.getName();if (deviceName != null && deviceName.length() > 0)holder.deviceName.setText(deviceName); holder.deviceAddress.setText("MAC:"+device.getAddress()); holder.deviceRssi.setText(rssiString); return convertView;}private class ViewHolder {TextView deviceName;TextView deviceAddress;TextView deviceRssi;}
最后 在回调方法中添加如下
myAdapter.addDevice(device,rssi,scanRecord);myAdapter.notifyDataSetChanged();
关键代码给出,大家自行添加修改
1 0
- Android蓝牙BLE之RSSI数据的读写(1)
- Android蓝牙BLE之RSSI数据的读写(1)
- android BLE蓝牙RSSI数据的读写
- Android蓝牙BLE之RSSI读写(2)
- Android蓝牙BLE之RSSI读写(2)
- android ble 蓝牙4.0开发-rssi
- Android 蓝牙BLE (蓝牙成长之路)1
- Android 蓝牙4.0 BLE 获取链接设备Rssi值
- Android(Java)开发之获取BLE广播包(扫描后获取:广播数据+扫描应答数据+RSSI)
- Android蓝牙4.0BLE通讯读写数据更新
- 【BLE】CC2541之RSSI
- 【BLE】CC2541之RSSI
- Android 蓝牙4.0 Bluetooth BLE 写数据(修改BLE设备的属性)
- Android 蓝牙4.0(BLE)开发实现对蓝牙的写入数据和读取数据
- Android 蓝牙4.0(BLE)开发实现对蓝牙的写入数据和读取数据
- Android BLE低功耗蓝牙开发极简系列(二)之读写操作
- Android BLE学习(三):编写自己的 BLE蓝牙读写工具(功能仿照nrf master control panel)
- Android BLE学习(三):编写自己的 BLE蓝牙读写工具(功能仿照nrf master control panel)
- 【100题纪念】【有趣的算法】【leetcode题解】【E】【84】Merge Sorted Array
- 玩转四旋翼无人机(DJI OnBoard SDK ROS)
- hdoj 5597 GTW likes function 【打表找规律】
- loadrunner脚本录制为空的解决方法
- php内核探索-常量
- Android蓝牙BLE之RSSI数据的读写(1)
- 抛弃幻想,谈谈现实中的数据科学家
- android Ndk ADT编译环境搭建
- 行为型模式(二)
- 第七周项目5 排队看病模拟
- fadora21 声卡驱动消失问题
- JS产生随机数的几个用法!
- iOS最全面试题及答案
- java的File机制实现目录下的文件检索