Efficiently Handling Large Data Sets on Mobile Devices
First Claim
1. A computer-implemented method for displaying a list view of a dataset on a mobile device, comprising:
- initializing a ListView for the mobile device;
receiving data in response to a query, wherein the received data comprises a plurality of data rows from the dataset;
binding the received data to a plurality of user interface (UI) elements for a UI of the mobile device;
defining a logical data window;
in response to detecting a direction and velocity of a scrolling input within the UI of the mobile device, adding pages to the logical data window;
receiving a selection of an active view via the UI; and
displaying a portion of the plurality of data rows corresponding to the active view using the UI of the mobile device.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
-
Citations
20 Claims
-
1. A computer-implemented method for displaying a list view of a dataset on a mobile device, comprising:
-
initializing a ListView for the mobile device; receiving data in response to a query, wherein the received data comprises a plurality of data rows from the dataset; binding the received data to a plurality of user interface (UI) elements for a UI of the mobile device; defining a logical data window; in response to detecting a direction and velocity of a scrolling input within the UI of the mobile device, adding pages to the logical data window; receiving a selection of an active view via the UI; and displaying a portion of the plurality of data rows corresponding to the active view using the UI of the mobile device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-readable medium having stored thereon, computer-executable instructions that, in response to execution by a computing device, cause the computing device to perform operations for displaying data on a mobile device, the operations comprising:
-
initializing a ListView for the mobile device; receiving data in response to a query, wherein the received data comprises a plurality of data rows from the dataset; binding the received data to a plurality of user interface (UI) elements for a UI of the mobile device; defining a logical data window; in response to detecting a direction and velocity of a scrolling input within the UI of the mobile device, adding pages to the logical data window; receiving a selection of an active view via the UI; and displaying a portion of the plurality of data rows corresponding to the active view using the UI of the mobile device.
-
-
14. A system capable of displaying a list view of a dataset, the system comprising:
a mobile device comprising; a fetching module configured to retrieve data rows from the dataset in response to a query; a binding module configured to bind the retrieved data rows to a plurality of user interface (UI) elements for a UI of the mobile device; an initialization module configured to initialize a ListView data structure based on a number of records in the dataset and a height of one row in the UI of the mobile device; a definition module configured to define a logical data window; a dynamic paging module, configured to, in response to detecting a direction and velocity of a scrolling input within the UI of the mobile device, dynamically add pages to the logical data window; a receiving module configured to receive a selection of an active view via the UI; and a display module configured to display a portion of the plurality of data rows corresponding to the active view using the UI of the mobile device. - View Dependent Claims (15, 16, 17)
-
18. A computer program product comprising a computer usable medium having computer program logic recorded thereon for enabling a processor to display a list view of a dataset at a client device, the computer program logic comprising:
-
fetching means for enabling the processor to retrieve data rows from the dataset in response to a query; binding means for enabling the processor to bind the retrieved data rows to a plurality of user interface (UI) elements for a UI of the client device; initialization means for enabling the processor to initialize a ListView data structure based on a number of records in the dataset and a height of one row in the UI of the client device; definition means for enabling the processor to define a logical data window; paging means for enabling the processor to, in response to detecting a direction and velocity of a scrolling input within the UI of the client device, add pages to the logical data window; receiving means for enabling the processor to receive a selection of an active view via the UI; and displaying means for enabling the processor to display a portion of the plurality of data rows corresponding to the active view using the UI of the client device. - View Dependent Claims (19, 20)
-
Specification