Part 3 - 完善获取用户设备功能

2021-11-08
3分钟阅读时长

【版本】

当前版本号v20221108

版本修改说明
v20221108初始化版本

【实验名称】 实验3.1 Smart Home 实现获取用户设备列表功能。

【实验目的】

  • 掌握 Retrofit 的使用

【实验环境】

  • Android Studio
  • Smart Home 项目

【实验说明】

【实验要求】

  • (1)Smart Home 实现获取用户所有设备列表功能

【实验步骤】

  1. 运行脚本0-start-iot-cloud.bat,运行物联网云平台。

  2. 访问http://localhost:8098/swagger-ui.html#!/device-controller/listDeviceUsingGET ,查看获取用户所有设备信息API。

  3. 使用 Android Studio 打开 iot_smart_home_init 项目。

  4. iot.app.smarthome.api.Api中实现该API 。

【实验名称】 实验3.2 Smart Home 实现设备信息绑定到 RecyclerView

【实验目的】

  • 掌握 RecyclerView 的使用

【实验环境】

  • Android Studio
  • Smart Home 项目

【实验说明】

  • 绑定设备列表到 RecyclerView 的参考代码。
public class DeviceFragment extends Fragment {

    private RecyclerView recyclerView;
    private List<Device> reDeviceList =new ArrayList();
DeviceAdapter adapter = new DeviceAdapter(reDeviceList);
recyclerView.setAdapter(adapter);

【实验要求】

  • (1)Smart Home 实现获取用户所有设备信息绑定到 RecyclerView,并展示在设备界面中。
  • (2)在设备界面中下拉刷新以后,可以从远程API 获取到当前用户的设备信息,并展示在在设备界面中。

【实验步骤】

  1. 运行脚本0-start-iot-cloud.bat,运行物联网云平台。

  2. 完善 iot.app.smarthome.ui.device.DeviceFragmentgetRemoteDeviceList方法,实现上面的实验要求。

【实验名称】 实验3.3 Smart Home 实现保存用户设备信息到Sqlite

【实验目的】

  • 掌握 LitePal 的使用

【实验环境】

  • Android Studio
  • Smart Home 项目

【实验说明】

  • (1)LitePal 删除表格所有内容的API
LitePal.deleteAll("表的名称","删除条件1",参数);
  • (2)LitePal 保存对象列表(插入多行记录)。
LitePal.saveAll(列表);

【实验要求】

  • (1)Smart Home 实现使用LitePal,把用户设备信息到Sqlite中。
  • (2)当用户不下拉刷新的情况下,用户打开设备界面可以从 Sqlite中读取当前用户的设备信息。
  • (3)当用户下拉刷新时,重新从远程API请求用户设备信息,保存到Sqlite中,并展示最新设备信息。

【实验步骤】

  1. 运行脚本0-start-iot-cloud.bat,运行物联网云平台。

  2. 完善 iot.app.smarthome.ui.device.DeviceFragment的代码,实现上面的实验要求。