`
flycomos.lee
  • 浏览: 282502 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Cursor moveToFirst moveToNext

 
阅读更多
  1. ContentResolver cr = getContentResolver();  
  2. Cursor cursor =cr.query(ContactsContract.Contacts.CONTENT_URI, null null null , null );  
  3. cursor.moveToFirst();  
  4. for  (cursor.moveToFirst(); !cursor.isAfterLast();cursor.moveToNext()) {  
  5.   
  6.     String name =cursor.getString(cursor.getColumnIndex("display_name" ));  
  7.     if  (name ==  null ) {  
  8.     name = "XXX" ;  
  9.   

 

查询得到的cursor是指向第一条记录之前的,因此查询得到cursor后第一次调用moveToFirst或moveToNext都可以将cursor移动到第一条记录上。

源码中这些moveXXX其实都是通过moveToPosition来实现的,而记录position的是一个整型变量mPos。当moveXXXX返回false的时候,mPos会被置为-1,也就是回到了初始状态,指向第一条记录之前。

分享到:
评论

相关推荐

    Android读取短信和联系人

    = null && cursor.moveToFirst()) { do { String body = cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Sms.BODY)); String address = cursor.getString(cursor.getColumnIndexOrThrow(Telephony.Sms...

    获取手机通讯录的实战应用(含SIM卡中的联系人).zip

    = null && cursor.moveToFirst()) { do { String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); // 其他信息如电话、电子邮件等 } while (cursor.moveToNext()); }...

    Android cursor的用法

    ### Android Cursor 的用法 #### 一、简介 在 Android 开发中,Cursor 是一个非常重要的类,主要用于处理数据查询结果。它提供了一个简洁的方法来访问数据库查询的结果集,并允许开发者方便地遍历这些结果。对于...

    接收广播的最高优先级

    for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { Log.v("cky", "" + cursor.getInt(cursor.getColumnIndex("_id")) + " , " + cursor.getString(cursor.getColumnIndex("address"))); ...

    Cursor的用法.docx

    `moveToFirst()`方法将`Cursor`移动到第一行,然后在for循环中,我们可以依次读取每一条数据。`getColumnIndex()`方法根据列名获取该列的索引,然后使用`getInt()`或`getString()`等方法获取对应列的数据。这些方法...

    SQLiteQuery操作

    SQLiteCursor提供了moveToFirst()、moveToNext()、isAfterLast()等方法,以及getString、getLong等方法来获取每行数据的列值。以下是一个简单的示例: ```java SQLiteCursor cursor = sqLiteQuery.query(); if ...

    cursor的部分操作

    - `moveToFirst()`:移动到结果集的第一行。 - `moveToLast()`:移动到结果集的最后一行。 - `moveToNext()`:移动到结果集的下一行。 - `moveToPosition(int position)`:移动到结果集中指定位置的行。 - `...

    android sqllite数据库crud+分页

    if (cursor.moveToFirst()) { do { Student student = new Student(); student.setId(Integer.parseInt(cursor.getString(0))); student.setName(cursor.getString(1)); student.setAge(Integer.parseInt...

    android-read-browser-bookmark.7z

    } while (cursor.moveToNext()); } cursor.close(); ``` 值得注意的是,由于Android的权限管理,直接访问其他应用的数据库可能会遇到权限问题。对于非系统应用的书签,可能需要用户授权或者使用其他方式(如分享...

    手机通讯录

    cursor.moveToFirst(); while (!cursor.isAfterLast()) { String name = cursor.getString(cursor.getColumnIndex(nameColumn)); // 处理name... cursor.moveToNext(); } ``` 从查询结果中提取每个联系人的显示...

    读取系统联系人和调用系统联系人

    while (cursor.moveToNext()) { String displayName = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); String phoneNumber = cursor.getString(cursor....

    android获取手机联系人

    = null && cursor.moveToFirst()) { do { String name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); String number = cursor.getString(cursor....

    获取系统联系人

    = null && cursor.moveToFirst()) { do { // 获取联系人ID String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Data._ID)); // 获取联系人姓名 String displayName = cursor....

    狂刷Android范例之5:读取手机通讯录

    = null && cursor.moveToFirst()) { do { // 获取联系人信息 String name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); String number = cursor....

    安卓读取通讯簿代码

    = null && cursor.moveToFirst()) { do { String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)); String name = cursor.getString(cursor.getColumnIndex...

    添加手机联系人信息到特别关心列表或者常用联系人

    } while (cursor.moveToNext()); } cursor.close(); ``` 这段代码通过查询ContactsContract的PHONE数据URI,获取了所有联系人的显示名称和电话号码。你可以根据需要添加更多的字段,如电子邮件、地址等。 接下来...

    android通讯录

    if (cursor.moveToFirst()) { do { String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); // 获取其他信息... } while (cursor.moveToNext()); } ``` 四、获取...

    Android读取数据库信息

    } while (cursor.moveToNext()); } cursor.close(); db.close(); ``` 在这个例子中,`getReadableDatabase()`方法用于获取只读的数据库实例,如果需要进行写入操作,则应使用`getWritableDatabase()`. `rawQuery...

    安卓编程读取短信结果程序.zip

    = null && cursor.MoveToFirst()) { do { var address = cursor.GetString(cursor.GetColumnIndex(Telephony.Sms.Address)); var body = cursor.GetString(cursor.GetColumnIndex(Telephony.Sms.Body)); var ...

Global site tag (gtag.js) - Google Analytics