1.手机蓝牙APP打开立马就出现异常,测试在公司有这个问题,在宿舍没这个问题,怀疑是公司设备太多,导致扫描空间不够,或者扫描到奇怪的设备。数组越界之类,明天用log看一下
2. 看样子出了一个error级别的错误,意思是不是说这个LeDeviceListAdapter.java的107行出现了一个异常?先找到这行代码
1 if (device.isIbeacon) 2 { 3 viewHolder.deviceMajor_Minor.setText("major:" + device.major 4 + ",minor:" + device.minor); 5 viewHolder.devicetxPower_RSSI.setText( 6 device.rssi); 7 } 8 else 9 { 10 viewHolder.devicetxPower_RSSI.setText(" rssi:" + device.rssi); 11 }
3.首先第一个问题,viewHolder是个什么东西?
ViewHolder通常出现在适配器里,为的是listview滚动的时候快速设置值,而不必每次都重新创建很多对象,从而提升性能。这次蓝牙需要扫描很多设备,需要列表的形式,用viewHolder不用每次都创建一个对象,是个好办法。
4. 在上面的地方,有一个判断是不是isIbeacon的地方,什么是isIbeacon?
iBeacon是苹果公司2013年9月发布的移动设备用OS(iOS7)上配备的新功能。其工作方式是,配备有 低功耗蓝牙(BLE)通信功能的设备使用BLE技术向周围发送自己特有的ID,接收到该ID的应用软件会根据该ID采取一些行动。比如,在店铺里设置iBeacon通信模块的话,便可让iPhone和iPad上运行一资讯告知服务器,或者由服务器向顾客发送折扣券及进店积分。此外,还可以在家电发生故障或停止工作时使用iBeacon向应用软件发送资讯。
5. 把这行代码屏蔽掉,启动正常,这次收货很多,主要是logcat的使用,很方便,很强大