studio query programacion móviles libro getcontentresolver desarrollo curso content aplicaciones android database contacts

android - programacion - número limitado de filas en una función ContentResolver.query()



manual de programacion android pdf (1)

Para limitar el número de resultados en su cursor intente:

cursor = cr.query(ContactsContract.Contacts.CONTENT_URI,null, null, null, ContactName + " LIMIT 100"); while(cursor.moveToNext()) { // something clever }

¿Hay una manera de limitar el número de filas devueltas a un cursor? Tengo un teléfono con aproximadamente 4000 contactos, solo necesito algunos de ellos.

este es el código que estoy usando

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

el registro que estoy recibiendo es

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