package net.sgoliver.android.contentproviders;
import net.sgoliver.android.contentproviders.ClientesProvider.Clientes;
import android.net.Uri;
import android.os.Bundle;
import android.provider.CallLog.Calls;
import android.app.Activity;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.database.Cursor;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
private Button btnInsertar;
private Button btnConsultar;
private Button btnEliminar;
private Button btnLlamadas;
private TextView txtResultados;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Referencias a los controles
txtResultados = (TextView)findViewById(R.id.TxtResultados);
btnConsultar = (Button)findViewById(R.id.BtnConsultar);
btnInsertar = (Button)findViewById(R.id.BtnInsertar);
btnEliminar = (Button)findViewById(R.id.BtnEliminar);
btnLlamadas = (Button)findViewById(R.id.BtnLlamadas);
btnConsultar.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
//Columnas de la tabla a recuperar
String[] projection = new String[] {
Clientes._ID,
Clientes.COL_NOMBRE,
Clientes.COL_TELEFONO,
Clientes.COL_EMAIL };
Uri clientesUri = ClientesProvider.CONTENT_URI;
ContentResolver cr = getContentResolver();
//Hacemos la consulta
Cursor cur = cr.query(clientesUri,
projection, //Columnas a devolver
null, //Condici�n de la query
null, //Argumentos variables de la query
null); //Orden de los resultados
if (cur.moveToFirst())
{
String nombre;
String telefono;
String email;
int colNombre = cur.getColumnIndex(Clientes.COL_NOMBRE);
int colTelefono = cur.getColumnIndex(Clientes.COL_TELEFONO);
int colEmail = cur.getColumnIndex(Clientes.COL_EMAIL);
txtResultados.setText("");
do
{
nombre = cur.getString(colNombre);
telefono = cur.getString(colTelefono);
email = cur.getString(colEmail);
txtResultados.append(nombre + " - " + telefono + " - " + email + "\n");
} while (cur.moveToNext());
}
}
});
btnInsertar.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
ContentValues values = new ContentValues();
values.put(Clientes.COL_NOMBRE, "ClienteN");
values.put(Clientes.COL_TELEFONO, "999111222");
values.put(Clientes.COL_EMAIL, "nuevo@email.com");
ContentResolver cr = getContentResolver();
cr.insert(ClientesProvider.CONTENT_URI, values);
}
});
btnEliminar.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
ContentResolver cr = getContentResolver();
cr.delete(ClientesProvider.CONTENT_URI, Clientes.COL_NOMBRE + " = 'ClienteN'", null);
}
});
btnLlamadas.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
String[] projection = new String[] {
Calls.TYPE,
Calls.NUMBER };
Uri llamadasUri = 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())
{
int tipo;
String tipoLlamada = "";
String telefono;
int colTipo = cur.getColumnIndex(Calls.TYPE);
int colTelefono = cur.getColumnIndex(Calls.NUMBER);
txtResultados.setText("");
do
{
tipo = cur.getInt(colTipo);
telefono = cur.getString(colTelefono);
if(tipo == Calls.INCOMING_TYPE)
tipoLlamada = "ENTRADA";
else if(tipo == Calls.OUTGOING_TYPE)
tipoLlamada = "SALIDA";
else if(tipo == Calls.MISSED_TYPE)
tipoLlamada = "PERDIDA";
txtResultados.append(tipoLlamada + " - " + telefono + "\n");
} while (cur.moveToNext());
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}