游标是否复制结果集?

时间:2011-11-09 08:49:59

标签: android database android-cursor

例如,如果我使用以下代码从数据库中查询某些数据。

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);

我想问的是在查询方法之后,数据库是否将其结果集复制到游标或只是使游标像指针一样指向结果集的第一行,并在调用`moveToNext'时查询更多数据
感谢

2 个答案:

答案 0 :(得分:2)

是。它是数据库的只读副本。

答案 1 :(得分:0)

来自Android开发者:

  

此接口提供对数据库查询返回的结果集的随机读写访问。不需要同步游标实现,因此使用Cursor时,使用来自多个线程的Cursor的代码应该执行自己的同步。