发明名称 Efficiently handling large data sets on mobile devices
摘要 A system, method, and computer program product are provided for efficiently fetching and displaying large datasets on mobile devices, such as devices running the iPhone™ operating system. The method fetches data for a mobile device from a server and displays a plurality of data rows in a ListView within a user interface on the mobile device. The method stores primary keys on the mobile device until their corresponding data rows are to be displayed. The method reacts to user inputs such as scrolling actions and touch screen gestures to efficiently fetch and display list view subsets of large datasets. The method facilitates quick response times when navigating through large lists of data on a mobile device by: fetching displayable or visible rows of data in a data list view, preloading the visible rows on the mobile device; and binding the visible rows to user interface elements on the mobile device.
申请公布号 US9529866(B2) 申请公布日期 2016.12.27
申请号 US201012973814 申请日期 2010.12.20
申请人 SYBASE, INC. 发明人 Sethi Raman
分类号 G06F3/0485;G06F17/30 主分类号 G06F3/0485
代理机构 Sterne, Kessler, Goldstein & Fox P.L.L.C. 代理人 Sterne, Kessler, Goldstein & Fox P.L.L.C.
主权项 1. A computer-implemented method for displaying a list view of a dataset on a mobile device, comprising: initializing a list view for the mobile device, wherein the list view comprises bound primary keys and bound data rows received from a server and bound to user interface (UI) elements as displayed on the mobile device; receiving data from the server in response to a query, wherein the received data comprises a plurality of primary keys corresponding to data rows from the dataset not already received at the mobile device, and wherein the corresponding data rows are stored on the server; in response to detecting a direction and velocity of a scrolling input within the UI of the mobile device, defining a logical data window to have a size Nx, wherein x is a number of records simultaneously displayable on a page of the UI, and wherein N is a scroll speed, the logical window comprising the received primary key data which is not displayed on the mobile device; predicting the scroll speed of the scrolling input based on a previous scrolling speed; based on the speed of the scrolling input predicted to be a predetermined value, allocating a thread to fetch data; based on the speed of the scrolling input predicted to be other than the predetermined value, receiving the data rows of the data set corresponding to the primary keys already received at the mobile device that comprise the logical data window; binding, at the mobile device, the requested data rows corresponding to the primary keys of the logical data window, to a plurality of UI elements for display on the mobile device within the logical data window and prior to display in the list view, wherein the logical data window comprises a plurality of virtual groups bound to UI elements and sized based on a size of the logical data window and the direction and velocity of the scrolling input.
地址 Dublin CA US