Aplicación móvil

147
-1

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
147
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Aplicación móvil

  1. 1. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN Materia DESARROLLO DE APLICACIONES III Tema APLICACIÓN ANDROID CON ACCESO A BASE DE DATOS Nombre: Rocío Marbelín Zapata Palomo Grado: 5 Grupo: “B” Nombre del Docente : Eloy Contreras de Lira Fecha de entrega : 24/03/2014
  2. 2. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN AGENDA ANDROID 1-. Creando la base de datos. Para comenzar la creación de la aplicación android para dispositivos móviles es necesario crear la base de datos, donde esta es la encargada de hacer la conexión, para que haya comunicación entre las diferentes clases que se van a realizar. Mostrando enseguida el código para crear la base de datos. package proyectagenda.com; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class DataBaseHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME="Agenda01"; public static final String NOMBRE="nombre"; public static final String TELEFONO="telefono"; public static final String EMAIL="email"; public static final String DIRECCION="direccion"; public DataBaseHelper(Context context) { super(context,DATABASE_NAME,null,1); } /** Called when the activity is first created. */ @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE AgendaContactos(_id INTEGER PRIMARY KEY AUTOINCREMENT, nombre TEXT, telefono TEXT, email TEXT,direccion TEXT);"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { android.util.Log.v("Constante", "Actualiza la base de datos y destruye la base de datos antigua con el mismo nombre"); db.execSQL("DROP table if exists AgendaContactos"); onCreate(db); } } Librerías utilizadas para crear y abrir la base de datos Nombre del paquete Declaración de variables, las cuales debes llenar Con este código se crea la base de datos llamada AgendaContactos
  3. 3. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN 2.- Crear la clase Nuevo A continuación se crea la primera clase llamada Nuevo, esta clase nos permitirá acceder e ingresar nuevos contactos. Una vez que hayas ingresado algún dato este se guardara en la base de datos ya creada. Código de la clase Nuevo. package proyectagenda.com; import android.app.Activity; import android.content.ContentValues; import android.content.Intent; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.EditText; import android.widget.Toast; public class Nuevo extends Activity{ public EditText nombre,telefono,email,direccion; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.agregarususario); nombre=(EditText)findViewById(R.id.nombre); telefono=(EditText)findViewById(R.id.telefono); direccion=(EditText)findViewById(R.id.direccion); email=(EditText)findViewById(R.id.email); } private void insert(String nombre, String telefono, String email, String direccion){ DataBaseHelper dbh=new DataBaseHelper(this); SQLiteDatabase db= dbh.getWritableDatabase(); ContentValues cv=new ContentValues(); cv.put(DataBaseHelper.NOMBRE, nombre); cv.put(DataBaseHelper.TELEFONO, telefono); cv.put(DataBaseHelper.EMAIL, email); cv.put(DataBaseHelper.DIRECCION, direccion); db.insert("AgendaContactos",DataBaseHelper.NOMBRE,cv); db.close(); } public void agregar(View b) { Nombre del paquete Librerías aplicadas a la clase nuevo, que son indispensables para que la aplicación tenga funcionamiento Nombre de nuestra actividad principal Nombres de las variables Estas líneas de código hacen la comparación de la declaración de variables con el nombre de las mismas
  4. 4. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN insert(nombre.getText().toString(),telefono.getText().toString(),email.getText().toString(),direccion .getText().toString()); Toast.makeText(getApplicationContext(), "Contacto agregado correctamente", Toast.LENGTH_LONG).show(); nombre.setText(""); email.setText(""); direccion.setText(""); telefono.setText(""); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater=getMenuInflater(); inflater.inflate(R.layout.menu1, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { Intent i; switch (item.getItemId()) { case R.id.item2: Intent intent = new Intent(this,AgendaAndroidActivity.class); startActivity(intent); break; } return true } }
  5. 5. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN 3-. Crear la clase Modificar. La segunda clase por crear es la de modificar que tiene como función corregir los datos que no se ocupen, o si hay algún dato que se haya cambiado, para eso utilizamos el método modificar(). A continuación el código de la clase modificar. package proyectagenda.com; import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.EditText; import android.widget.Toast; public class Modificar1 extends Activity{ public EditText nombre; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.modificarcontacto); nombre=(EditText)findViewById(R.id.nombre); } public void modificar(View b) { DataBaseHelper dbh=new DataBaseHelper(this); SQLiteDatabase db= dbh.getWritableDatabase(); String[] campos = new String[] {"nombre"}; String[] args = new String[] {nombre.getText().toString()}; Cursor c = db.query("AgendaContactos", campos, "nombre=?", args, null, null, null); //Nos aseguramos de que existe al menos un registro if (c.moveToFirst()) { Intent it=new Intent(this,Modificar2.class); it.putExtra("nombre", nombre.getText().toString()); startActivity(it); }
  6. 6. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN else { Toast.makeText(getApplicationContext(), "El contacto especificado no existe.!", Toast.LENGTH_LONG).show(); db.close(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater=getMenuInflater(); inflater.inflate(R.layout.menu1, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { Intent i; switch (item.getItemId()) { case R.id.item2: Intent intent = new Intent(this,AgendaAndroidActivity.class); startActivity(intent); break; } return true; } }
  7. 7. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN 4-.Crear la clase Eliminar La tercera clase por crear es la de eliminar y para que se cumpla esta función es necesario crear y utilizar el método Delete(); Donde su misión es borrar los datos o contactos que no se ocupen. Mostrando enseguida el código de dicha clase. package proyectagenda.com; import android.app.Activity; import android.content.Intent; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.EditText; import android.widget.Toast; public class EliminarContacto extends Activity{ EditText nombre; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.eliminarcontacto); nombre=(EditText)findViewById(R.id.nombre); } public void eliminar(View b) { DataBaseHelper dbh=new DataBaseHelper(this); SQLiteDatabase db= dbh.getWritableDatabase(); String[] args = new String[]{nombre.getText().toString()}; db.execSQL("DELETE FROM AgendaContactos WHERE nombre=?", args); Toast.makeText(getApplicationContext(), "Contacto eliminado con exito.!", Toast.LENGTH_LONG).show(); db.close(); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater=getMenuInflater(); inflater.inflate(R.layout.menu1, menu); return true; }
  8. 8. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN @Override public boolean onOptionsItemSelected(MenuItem item) { Intent i; switch (item.getItemId()) { case R.id.item2: Intent intent = new Intent(this,AgendaAndroidActivity.class); startActivity(intent); break; } return true; } } 5-.Crear la clase Consultar. En la siguiente clase llamada consultar es la encargada de buscar algún contacto, ya sea para llamarle, borrarlo o hacerle una modificación. Enseguida el código package proyectagenda.com; import proyectagenda.com.R; import proyectagenda.com.buscar; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.net.Uri; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.EditText; import android.widget.Toast; public class buscar extends Activity{ public EditText nombre; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.buscarcontacto); nombre=(EditText)findViewById(R.id.nombre); }
  9. 9. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN public void buscar(View b) { DataBaseHelper dbh=new DataBaseHelper(this); SQLiteDatabase db= dbh.getWritableDatabase(); String[] campos = new String[] {"nombre"}; String[] args = new String[] {nombre.getText().toString()}; Cursor c = db.query("AgendaContactos", campos, "nombre=?", args, null, null, null); if (c.moveToFirst()) { Intent it=new Intent(this,Detalle.class); it.putExtra("nombre", nombre.getText().toString()); startActivity(it); } else { Toast.makeText(getApplicationContext(), "El contacto especificado no existe.!", Toast.LENGTH_LONG).show(); db.close(); } public String recuperanum() { String numero=""; DataBaseHelper dbh=new DataBaseHelper(this); SQLiteDatabase db= dbh.getWritableDatabase(); String[] campos = new String[] {"telefono"}; String[] args = new String[] {nombre.getText().toString()}; Cursor c = db.query("AgendaContactos", campos, "nombre=?", args, null, null, null); if (c.moveToFirst()) { do { String telefono = c.getString(0); numero=telefono; } while(c.moveToNext()); } else { Toast.makeText(getApplicationContext(), "Ha ocurrido un error :(", Toast.LENGTH_LONG).show(); db.close(); } return numero; } public void llamar(View b) { DataBaseHelper dbh=new DataBaseHelper(this); SQLiteDatabase db= dbh.getWritableDatabase(); String[] campos = new String[] {"nombre"}; String[] args = new String[] {nombre.getText().toString()}; Cursor c = db.query("AgendaContactos", campos, "nombre=?", args, null, null, null);
  10. 10. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN if (c.moveToFirst()) { AlertDialog.Builder alertDialog = new AlertDialog.Builder(buscar.this); alertDialog.setMessage("¿Desea realizar la llamada al contacto?"); alertDialog.setTitle("Llamar a contacto..."); alertDialog.setIcon(android.R.drawable.ic_dialog_alert); alertDialog.setCancelable(false); alertDialog.setPositiveButton("SI", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { try { String numero=recuperanum(); String number = "tel:" + numero.trim(); Toast.makeText(getApplicationContext(), "Llamando al " + numero.trim(), Toast.LENGTH_LONG).show(); Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(number)); startActivity(callIntent); } catch (Exception e) { Toast.makeText(getApplicationContext(), "No se ha podido realizar la llamada", Toast.LENGTH_LONG).show(); } } }); alertDialog.setNegativeButton("No", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { Toast.makeText(getApplicationContext(), "Llamada cancelada", Toast.LENGTH_LONG).show(); } }); alertDialog.show(); } else { Toast.makeText(getApplicationContext(), "El contacto especificado no existe.!", Toast.LENGTH_LONG).show(); db.close(); }}

×