一种优化Android物联网APP请求设备列表的方法技术

技术编号:27535594 阅读:12 留言:0更新日期:2021-03-03 11:21
本发明专利技术公开了一种优化Android物联网APP请求设备列表的方法,包括向服务端获取设备列表时,从本地获取上次获取的设备列表的时间戳;比较当前时间与上次获取的设备列表的时间戳,判断时间间隔是否大于指定时间,如果是,则执行从服务端获取设备列表的远程接口,服务端返回设备列表给APP界面完成界面数据更新,同时存储设备列表到本地并加入时间戳标记,否则,从本地获取上次存储的设备列表和时间信息并返回APP界面完成界面数据更新。本发明专利技术加入时间间隔判断,根据时间间隔选择执行本地获取还是从服务端接口获取。减轻服务端获取设备列表的压力,同时APP端减少用户等待的时间,提升用户体验。用户体验。用户体验。

【技术实现步骤摘要】
一种优化Android物联网APP请求设备列表的方法


[0001]本专利技术涉及物联网
,具体的说,是一种优化Android物联网APP请求设备列表的方法。

技术介绍

[0002]在物联网APP中会涉及到设备管理,设备列表由一系列的设备组成,以物联网家庭照护为例,可能包括的物联网设备有空调,台灯,插座,窗帘等。在实际生产过程中,这些物联网设备往往接入的不是同一物联平台,例如台灯来自小米物联平台,空调来自阿里物联平台,空调来自厂家自建平台,这样在业务服务器取回这些设备列表时就会有很大的网络通信压力,频繁的设备列表获取会严重提升服务端的负载。以及物联网APP中,由于用户频繁页面切换的原因,会引起频繁请求物联设备列表,造成服务端压力过大,用户等待时间长,请求超时无法获取到设备列表的问题。

技术实现思路

[0003]本专利技术的目的在于提供一种优化Android物联网APP请求设备列表的方法,用于解决现有技术中频繁的设备列表获取或者物联网APP用户端频繁页面切换导致服务端压力大、请求超时的问题。
[0004]本专利技术通过下述技术方案解决上述问题:
[0005]一种优化Android物联网APP请求设备列表的方法,包括:
[0006]步骤S1:向服务端获取设备列表时,从本地获取上次获取的设备列表的时间戳;
[0007]步骤S2:比较当前时间与上次获取的设备列表的时间戳,判断时间间隔是否大于指定时间,如果是,则执行步骤S3,否则,执行步骤S4;
[0008]步骤S3:执行从服务端获取设备列表的远程接口,服务端返回设备列表给APP界面完成界面数据更新,同时存储设备列表到本地并加入时间戳标记;
[0009]步骤S4:从本地获取上次存储的设备列表和时间信息并返回APP界面完成界面数据更新。
[0010]本专利技术加入时间间隔判断,根据时间间隔选择执行本地获取还是从服务端接口获取。减轻服务端获取设备列表的压力,同时APP端减少用户等待的时间,提升用户体验。
[0011]服务端返回设备列表给APP界面通过调用getDevice()方法实现。
[0012]存储设备列表到本地通过调用setDevice()方法实现。
[0013]本专利技术与现有技术相比,具有以下优点及有益效果:
[0014]本专利技术采用加入时间戳的方式,储存设备列表数据到本地,如果设备在指定间隔(例如10秒)内再次调用获取设备列表,则从本地储存中获取设备列表,能够通过时间戳的判断减轻服务端获取设备列表的压力,同时APP端减少用户等待的时间,提升用户体验。
附图说明
[0015]图1为本专利技术的流程图。
具体实施方式
[0016]下面结合实施例对本专利技术作进一步地详细说明,但本专利技术的实施方式不限于此。
[0017]实施例:
[0018]结合附图1所示,一种优化Android物联网APP请求设备列表的方法,当物联网APP在切换界面或是其他操作时候,短时间内会多次调用getDevice()方法,当物联网.APP页面切换时,需要获设备列表,用以更新界面显示,此时采用getDecive()方法,从本地数据中获取上次获取的设备列表以及时间戳,获取时间戳和设备列表的方法可以采用如下代码实现:
[0019]SharedPreferences sp=AppManager.appContext().getSharedPreferences
[0020](SHARED_NAME,Context.MODE_PRIVATE);
[0021]String timestamp=sp.getString("timestamp",time);
[0022]String devices=sp.getString("devices",devices);
[0023]其中timestamp是时间戳,devices是设备列表对应的json字符串。
[0024]如果获取到的时间间隔(currettime-timestamp)大于指定时间(如10s),则从获取服务端获取设备列表,通常是http访问服务端提供的设备列表接口;服务端返回数据列表给上层getDevice()方法,同时调用setDevice()方法储存该设备列表到本地,并加入时间戳标记,具体安卓实现代码为:
[0025]SharedPreferences
[0026]sp=AppManager.appContext().getSharedPreferences(SHARED_NAME,Context.MODE_PRIVATE);
[0027]SharedPreferences.Editor editor=sp.edit();
[0028]editor.putString("timestamp",time);
[0029]editor.putString("devices",devices);
[0030]其中timestamp是时间戳,devices是设备列表对应的json字符串;getDevice()方法返回给APP界面,完成界面数据更新,流程结束;
[0031]如果小于指定时间间隔10s,则物联网APP从本地获取上次储存的设备列表和时间信息返回给getDevice()方法,getDevice()方法返回给物联网APP界面,完成界面数据更新,流程结束。
[0032]尽管这里参照本专利技术的解释性实施例对本专利技术进行了描述,上述实施例仅为本专利技术较佳的实施方式,本专利技术的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种优化Android物联网APP请求设备列表的方法,其特征在于,包括:步骤S1:向服务端获取设备列表时,从本地获取上次获取的设备列表的时间戳;步骤S2:比较当前时间与上次获取的设备列表的时间戳,判断时间间隔是否大于指定时间,如果是,则执行步骤S3,否则,执行步骤S4;步骤S3:执行从服务端获取设备列表的远程接口,服务端返回设备列表给APP界面完成界面数据更新,同时存储设备列表到本地并加入时间戳标记...

【专利技术属性】
技术研发人员:刘潇骁
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1