I have two methods which read the same data from database
, the first returns Cursor
and the second returns List
of objects.Now I show my items in activity using SimpleCursorAdapter
and the first method, byt I can also use the second method and appropriate adapter.
Which of these two ways is beter to use and in the second way which adapter I should use?
P.S sorry for poor english
Definitely go with SimpleCursorAdapter
. If possible, always use Cursor
if your data comes from database
, you save memory by not creating List
of objects. Creating objects in Java is expensive with regards to time and memory consumption and you have to bear in mind you are on mobile platform with limited resources. If you are using List
of objects for your ListView
than use custom adapter extending from ArrayAdapter
.
It's not always straightforward to use Cursor
although your data comes from database
. Let's say you store places in the database
defined by its name and location and you want to display them in a ListView
sorted by distance from current location. It makes it difficult to execute a query which returns sorted results unless you don't store relative distance in additional column. But you can get Cursor
convert it to List
of objects and sort this collection before sending it to your ListView
.