For instance, basically use following code to question some data from database.
Uri uri = Uri.parse("content://com.android.contacts/contacts?address_book_index_extras=true"); String selection = "LEFT OUTER JOIN (select raw_contact_id, data1 from data where mimetype_id = 5) AS phone_data ON(_id = phone_data.raw_contact_id)"; Cursor c = getContentResolver().query(Contacts.CONTENT_URI, null, selection, null, null);
What i wish to request is following the query method, does database copy its result set to cursor or simply make cursor something similar to a pointer and indicate the very first type of result set and query for additional data whenever we call `moveToNext'
Yes. It's a readonly copy from the DB.
From Android Designers:
This interface provides random read-write accessibility result set came back with a database query. Cursor implementations aren't needed to become synchronized so code utilizing a Cursor from multiple threads should perform its very own synchronization while using the Cursor.