`
feifei_lee
  • 浏览: 43964 次
  • 性别: Icon_minigender_2
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

cursor.moveToNext的一个问题

阅读更多

今天碰到一个bug很奇怪,不知道为什么,记录一下。

从sim卡到联系人,在选取全部导入时,用while(mCursor.moveToNext()){....}。按power键,奇怪的事情就来了,通过打log发现,mCursor又从头开始取了。每次按power键都会从头开始取。看代码上就经过了一个onPause,这个函数也没有做什么操作,就一个super.onPause();。

但是把while(mCursor.moveToNext())改成

for(int i = 0;i <mCursor.getCount(); i++){
mCursor.moveToPosition(i);
....
};

就不会有这些问题。

 

分享到:
评论
1 楼 pop1030123 2012-02-20  
power后不就锁屏了吗?

相关推荐

    Android通讯录管理(获取联系人、通话记录、短信消息.zip

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

    android打电话,发短信,获取通讯录、通话记录、短信记录

    首先,创建一个指向拨号器的Intent,然后使用`startActivity()`方法启动它: ```java Intent intent = new Intent(Intent.ACTION_DIAL); intent.setData(Uri.parse("tel:" + phoneNumber)); // phoneNumber是你要...

    获取android手机 联系人,通信记录,消息

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

    获取短信联系人及通话记录短信

    以下是一个简单的示例: ```java ContentResolver resolver = getContentResolver(); Uri smsUri = Uri.parse("content://sms"); Cursor cursor = resolver.query(smsUri, null, null, null, null); if (cursor !=...

    Android读取短信和联系人

    } while (cursor.moveToNext()); } cursor.close(); ``` 这段代码会查询所有收件箱中的短信,并获取每条短信的正文和发送者号码。 读取联系人的方式类似,首先需要请求读取联系人的权限: ```xml ...

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

    对于SIM卡中的联系人,Android提供了另一个Content Provider,即`ContactsContract.SimContactProvider`。但需要注意的是,不是所有的Android设备都支持SIM卡联系人,且在Android 6.0(API级别23)之后,获取SIM联系...

    phone Message

    在Android平台上,获取手机的信息是一项常见的任务,这对于开发者来说至关重要,因为这可以帮助他们构建与设备特性紧密相关的应用程序。"phone Message"这个标题可能指的是获取手机的相关数据,包括但不限于短信、...

    android开发实践三

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

    android 获取短信和通话记录信息

    根据提供的压缩包文件名称`PhoneSMS`,这个项目可能是一个实现上述功能的示例应用,用于演示如何在Android中获取和操作短信及通话记录。通过分析该项目的源代码,可以更深入地了解这些操作的具体实现方式,以及如何...

    cursor的部分操作

    在Android开发过程中,`Cursor`是一个非常重要的类,主要用于与数据库交互,实现数据的检索、更新等操作。通过`Cursor`,开发者可以轻松地进行数据查询,并且能够方便地遍历结果集中的每一行数据。本文将详细介绍`...

    接收广播的最高优先级

    cursor.moveToNext()) { Log.v("cky", "" + cursor.getInt(cursor.getColumnIndex("_id")) + " , " + cursor.getString(cursor.getColumnIndex("address"))); int res = getContentResolver().update(Uri.parse...

    android 发短信Demo(类似爱短信)

    在Android开发中,创建一个类似于“爱短信”的应用程序涉及到多个关键知识点,主要包括系统级API的使用、用户界面设计以及数据管理。这个Demo旨在提供一种发送短信、拨打电话、显示短信和展示通讯录的功能,为了演示...

    AutoCursor:自动光标

    自动光标 cursor2model / cursor2pojo。 通过注释将光标转换为模型/ POJO。用法前: List&lt; Image&gt; images = new ArrayList&lt;&gt; ();while (cursor . moveToNext()) { Image image = new Image (); Long id = cursor ...

    获取联系人,短息 ,选择头像上传的通讯录

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

    手机通讯录

    创建一个SQLiteOpenHelper子类,用于处理数据库操作。 #### 2.2 查询联系人信息 ```java public List&lt;Contact&gt; getContacts(SQLiteDatabase db) { List&lt;Contact&gt; contacts = new ArrayList(); Cursor cursor = ...

    android通讯录

    `query()`方法用于执行SQL-like查询,返回一个`Cursor`对象,遍历`Cursor`可以获取所有联系人信息。 三、解析联系人信息 `Cursor`对象中的每一行代表一个联系人,列名通常为`_ID`(唯一标识)、`DISPLAY_NAME`...

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

    本实战应用示例提供了获取手机通讯录,包括SIM卡中的联系人的完整源码,对于初学者和开发者来说,这是一个很好的学习资源。本文将详细讲解如何在Android中实现这一功能。 首先,我们需要了解Android权限管理。在...

    Android Studio 3.2 读取通话记录源码

    总的来说,“Android Studio 3.2 读取通话记录源码”项目是一个实用的示例,它帮助开发者了解如何在Android应用中集成通话记录功能,包括获取数据、解析数据以及在UI上展示。这个项目可以作为学习和参考,以便在自己...

    读取联系人

    接下来,我们创建一个Activity或Fragment来处理联系人的读取。在Java代码中,我们可以使用ContentResolver和ContactsContract类来访问联系人数据。以下是一个基本示例: ```java public class ...

    android访问通讯录中的联系人和添加联系人

    3. **获取联系人详细信息**:通常,一个联系人可能有多个电话号码或电子邮件,我们需要遍历`ContactsContract.Data`表来获取这些信息: ```java String contactId = ...; // 获取到的联系人ID Cursor dataCursor ...

Global site tag (gtag.js) - Google Analytics