OData 调用获取大量数据并将它们存储在设备上

OData calls for fetching large amounts of data and storing them on device

我有一个场景需要在设备上存储大量记录 (~20000) 以供用户离线使用。我想了解什么是最好的方法。我正计划使用 KAPSEL OData 离线插件与数据进行交互。

主要障碍是首次安装该应用程序的任何用户的数据 fetch/store。之后,只会定期获取和存储增量。如果我对 20000 条记录进行 OData 调用,但我很确定它会导致超时或使 UI 在相当长的时间内无法使用。

始终可以选择进行多次 OData 调用,每次获取较少量的数据,或者将数据文件保存在不安全的应用程序中。

对于这种情况,最好的方法是什么?

使用 $top and $skip query options 请求可管理块中的数据。

您可以执行第一个请求来获取所有条目,只是为了将它们缓存在设备 (Kapsel) 上。

在 UI 之后,您当然应该使用 $top/$skip 选项一次仅 fetch/render 有限的数据块,正如@lencharest 已经指出的那样。

请注意,某些 SAPUI5 控件可以自动处理此问题,例如检查 sap.m.ListBase 增长的属性。