2010-06-18 13 views
5

¿Puede alguien explicar cómo funciona exactamente el cursor? O el flujo de la siguiente parte del código? Sé que esto es una actividad secundaria y todo, pero no entendí cómo funciona el Cursor exactamente.¿Puede alguien explicar Cursor en Android?

final Uri data = Uri.parse("content://contacts/people/"); 
final Cursor c = managedQuery(data, null, null, null, null); 
String[] from = new String[] { People.NAME }; 
int[] to = new int[] { R.id.itemTextView }; 
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,R.layout.listitemlayout, c, from, to); 
ListView lv = (ListView) findViewById(R.id.contactListView); 
lv.setAdapter(adapter); 
lv.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView<?> parent, View view, int pos, long id) { 

      c.moveToPosition(pos); 
      int rowId = c.getInt(c.getColumnIndexOrThrow("_id")); 
      Uri outURI = Uri.parse(data.toString() + rowId); 
      Intent outData = new Intent(); 
      outData.setData(outURI); 
      setResult(Activity.RESULT_OK, outData); 
      finish(); 
    } 
}); 

Thanks.

Respuesta

3

Cursor es como una lista/puntero creado a partir de un recurso de base de datos. (En PHP pensar como un $ res de la mysql_query())

Cuando se ejecuta

managedQuery(data, null, null, null, null); 

se consulta contactos, devuelve un cursor que es un puntero a los registros de los resultados

Luego creas un adaptador desde este Cursor. El adaptador es una representación a nivel de objeto de los resultados tomados de la fuente, esta vez es el cursor, también conocido como los registros de la base de datos. (En PHP para el adaptador, piense como una matriz para Smarty Templates, la matriz es el adaptador)

El setOnItemClickListener debe ser fácil de entender si conoce la programación basada en eventos.

Cuestiones relacionadas