android query函数,android – 限制ContentResolver.query()函数中的行数

有没有办法将返回的行数限制为游标?

我有一个有大约4000个联系人的电话,我只需要一些。

这是我使用的代码

db = new dBHelper(this);

ContentResolver cr = getContentResolver();

Cursor cursor;

cursor = cr.query(ContactsContract.Contacts.CONTENT_URI,null, null, null, ContactName + " ASC");

Log.i(TAG, CLASSNAME + " got contacts entries");

for (int it = 0; it <100 ; it++){//cursor.getCount()

Log.i(TAG, CLASSNAME + " getting string");

String mytimes_contacted = cursor.getString(cursor.getColumnIndex(dBHelper.times_contacted));

Log.i(TAG, CLASSNAME + " done from the string");

}

我得到的日志是

I/Check(11506): [ContactsPicker] got contacts entries

I/Check(11506): [ContactsPicker] getting first string

D/AndroidRuntime(11506): Shutting down VM

W/dalvikvm(11506): threadid=1: thread exiting with uncaught exception (group=0x2aac8578)

D/dalvikvm(11541): GC_CONCURRENT freed 923K, 46% free 4000K/7303K, external 1685K/2133K, paused 1ms+8ms

E/AndroidRuntime(11506): FATAL EXCEPTION: main

E/AndroidRuntime(11506): java.lang.RuntimeException: Unable to start activity ComponentInfo{~~my package name~~}: android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 3537

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值