I am using a ContentProvider
to query a database and return a Cursor
that is used in a CursorLoader
:
ItemsActivity:
Mobile devices are not designed to handle these amounts of data.
However, if you really want to inflict such a large scrolling list on your poor users, you can design it as a virtual list where entries are loaded only on demand; see Android Endless List.
Note: Using the OFFSET
clause is inefficient; see Scrolling Cursor for details.
I agree with CL that you shouldn't do this. This isn't a good idea on mobile and neither is it on desktops. Who wants to scroll 30000 elements? What for? Most probably the user is looking for one result only, isn't she? So provide an easy way to filter the result set.
Until the result set is small enough to be actually usable (this is not the same as the list scrolling fine - it's probably a much smaller number of results) you simply should display the total number of hits for the current query and maybe some elements as a sample to the user. The user must filter the list to get to actually usable sizes.