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

Respuesta
 
Herramientas
  #1  
Viejo 01/09/14, 21:35:52
Array

[xs_avatar]
loadgo loadgo no está en línea
Miembro del foro
 
Fecha de registro: oct 2012
Mensajes: 37
Tu operador: Movistar

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   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 09:00:04 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /