物联网平台机智云Android开源框架入门之旅(二)详细分析在设备列表的代码块,如何修改设备默认图片。
欢迎来到物联网平台机智云Android开源框架入门之旅
本套博客系列教程由物联网“非机智云工作人员”发烧友 半颗心脏 潜心所力原创,以下是本系列博客目录:
-
- 还有视频教学 :点我戳我进去免费观看~
1、分析设备列表类 GosDeviceListActivity.java 中的代码。
注意:图中有三个表,被绑定的设备、未绑定已发现的设备 和 已经绑定但离线的设备,
上面的三个区域的都是各存放同一个控件SlideListView2,这个是重新listView的子控件。那么对应的数据源是下面表中的三个集合,制定泛型为对象 GizWifiDevice 。只需要关心数据源即可加载不同的设备。
类中的list分类 | 说明 | 泛型 |
---|---|---|
boundDevicesList | 已经被绑定的设备集合 | GizWifiDevice |
foundDevicesList | 被发现未绑定的设备集合 | GizWifiDevice |
offlineDevicesList | 已经绑定但离线的设备集合 | GizWifiDevice |
1.1 问题一,以上集合的数据从何而来?
- 答: 从图一方法 UpdateUI() 可以看到,三种数据都是从 GosDeviceModuleBaseActivity.deviceslist 这个数据集合来,那么这个数据集在哪的呢?我们继续翻阅进去看图二,追根到底是在下面所图地方所添加到GosDeviceModuleBaseActivity.deviceslist 集合的!也就是说:追其本质,还是从SDK提供的设备监听对象中获得的。然后把数据添加到GosDeviceListActivity.java类中,然后层层剖析得到。
1.2 问题二,是怎么过滤设备的?为何我的APP不能看到其他产品设备?
答:回答这个问题前,必须要知道一个事情,在翻阅官方Android的SDK技术文档,说道setSubscribe()方法可以订阅设备,从而绑定设备,图一所示;
在其工程瞧瞧:我这截图了。看看图二,在未绑定但已经发现的设备中已经过滤了,是根据产品的 PK和**值来过滤了!一旦被绑定,其设备的isBind()返回就是true了,从而通知重新集合获取SDK数据,就可以显示不同种类的设备了。而未绑定订阅的设备,没有进去手机的SDK,当然没有 显示出来啦!
2 怎么修改设备前面的图片?
- 在 工程目录下的 res ->layout 找到 item_gos_device_list.xml 文件,打开在下图修改即可:
- 欢迎各位小伙伴上车QQ群交流技术: 434878850