loadgo
01/09/14, 21:35:52
Buenas tengo el siguiente codigo que recoje datos de el telefono via content providers y me gustaria como meter el resultado en un list view y si me pudierais explicar como lo habeis hecho.
Muchas gracias
import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.CallLog;
import android.widget.TextView;
public class MyActivity extends Activity {
TextView txtResultados;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
txtResultados = (TextView)findViewById(R.id.tvResultado);
//Creamos el array con los datos que queremos extraer
String[] projection = new String[] {
CallLog.Calls.TYPE,
CallLog.Calls.NUMBER,
CallLog.Calls.DURATION };
//Creamos el Uri
Uri llamadasUri = CallLog.Calls.CONTENT_URI;
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(llamadasUri,
projection, //Columnas a devolver
null, //Condición de la query
null, //Argumentos variables de la query
null); //Orden de los resultados
if (cur.moveToFirst())
{
//Variable para controlar el tipo de llamada y el num de telf
int tipo;
String telefono;
String duracion;
//Variable para decir que tipo de llamada es
String tipoLlamada = "";
// Obtenemos los índices de las columnas
int colTipo = cur.getColumnIndex(CallLog.Calls.TYPE);
int colTelefono = cur.getColumnIndex(CallLog.Calls.NUMBER);
int colDuracion = cur.getColumnIndex(CallLog.Calls.DURATION);
txtResultados.setText("");
do
{
//ASignamos el indice de las columnas a las variables
tipo = cur.getInt(colTipo);
telefono = cur.getString(colTelefono);
duracion = cur.getString(colDuracion);
//Dependiendo del tipo de calllog que sae un texto comprensible
if(tipo == CallLog.Calls.INCOMING_TYPE)
tipoLlamada = "ENTRADA";
else if(tipo == CallLog.Calls.OUTGOING_TYPE)
tipoLlamada = "SALIDA";
else if(tipo == CallLog.Calls.MISSED_TYPE)
tipoLlamada = "PERDIDA";
//Mostramos el resultado dentro de txtResultados
txtResultados.append(tipoLlamada + " - " + telefono + duracion + "\n");
//Pasamos al siguiente dato
} while (cur.moveToNext());
}
}
}
Muchas gracias
import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.CallLog;
import android.widget.TextView;
public class MyActivity extends Activity {
TextView txtResultados;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
txtResultados = (TextView)findViewById(R.id.tvResultado);
//Creamos el array con los datos que queremos extraer
String[] projection = new String[] {
CallLog.Calls.TYPE,
CallLog.Calls.NUMBER,
CallLog.Calls.DURATION };
//Creamos el Uri
Uri llamadasUri = CallLog.Calls.CONTENT_URI;
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(llamadasUri,
projection, //Columnas a devolver
null, //Condición de la query
null, //Argumentos variables de la query
null); //Orden de los resultados
if (cur.moveToFirst())
{
//Variable para controlar el tipo de llamada y el num de telf
int tipo;
String telefono;
String duracion;
//Variable para decir que tipo de llamada es
String tipoLlamada = "";
// Obtenemos los índices de las columnas
int colTipo = cur.getColumnIndex(CallLog.Calls.TYPE);
int colTelefono = cur.getColumnIndex(CallLog.Calls.NUMBER);
int colDuracion = cur.getColumnIndex(CallLog.Calls.DURATION);
txtResultados.setText("");
do
{
//ASignamos el indice de las columnas a las variables
tipo = cur.getInt(colTipo);
telefono = cur.getString(colTelefono);
duracion = cur.getString(colDuracion);
//Dependiendo del tipo de calllog que sae un texto comprensible
if(tipo == CallLog.Calls.INCOMING_TYPE)
tipoLlamada = "ENTRADA";
else if(tipo == CallLog.Calls.OUTGOING_TYPE)
tipoLlamada = "SALIDA";
else if(tipo == CallLog.Calls.MISSED_TYPE)
tipoLlamada = "PERDIDA";
//Mostramos el resultado dentro de txtResultados
txtResultados.append(tipoLlamada + " - " + telefono + duracion + "\n");
//Pasamos al siguiente dato
} while (cur.moveToNext());
}
}
}