物联网平台机智云Android开源框架入门之旅(二)详细分析在设备列表的代码块,如何修改设备默认图片。

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://xuhong.blog.csdn.net/article/details/75452981

欢迎来到物联网平台机智云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
展开阅读全文

没有更多推荐了,返回首页