Home Menu

Menu



Avisos

Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 01/09/14, 21:35:52
Avatar de loadgo
loadgo loadgo no está en línea
Miembro del foro
Mensajes: 37
 
Fecha de registro: oct 2012
Mensajes: 37
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
listview

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

Código:
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());
        }
    }

}
Responder Con Cita


Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android

Herramientas

Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 19:17:19 (GMT +1)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007