SlideShare una empresa de Scribd logo
1 de 15
UNIVERSIDAD TECNOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
Materia
Desarrollo de Aplicaciones lll
Tema
Manual de Programa en Android de Registro de Usuario.
Nombre completo del Alumno: María de Jesús Reyes Betancourt.
Grado: 5 Grupo: A
Nombre del Docente : Eloy Contreras de Lira
Fecha de entrega : 20-03-2014
A continuación explicare a detalle como realice el programa en Android para llevar
a cabo el Registro de Usuario, Eliminación, Actualización, Modificación del
Usuario.
Iniciamos abriendo el Programa Android el cual está Vinculado con Eclipse y SDK
Enseguida de que abre la aplicación se comienza hacer la creación de los botones
para la aplicación que se va llevar a cabo, como se muestra en la siguiente
pantalla, ya insertados los botones.
El cual ya se muestran los botones para insertar el Usuario, Guardar, Actualizar o
eliminar
En el cual nos vamos a ir a la parte de código, ya que en esta pantalla nos
encontramos de manera gráfica.
En este caso nos muestra el código de los botones, el cual es donde se lleva a
cabo el diseño y la manera en que se desea visualizar. El cual se puede ver en
Graphical Layout
En el siguiente código se lleva a cabo la configuración el botón loyout, para así
elegir la aplicación que desea correr
Si hemos activado el emulador (como indicamos aquí) se iniciará el AVD y se
ejecutará automáticamente nuestra aplicación
Volveremos a nuestra aplicación, no recomendamos cerrar el emulador pues tarda
unos segundos en cargarse, si lo dejamos abierto, con la aplicación cerrada,
cuando volvamos a compilarla la carga será muchísimo más rápida.
A continuación en la aplicación comienza el código para cada botón que hemos
hecho de manera gráfica.
En el paquete se selecciona en src, la clase de agenda.java para comenzar a
codificar la aplicación.
 A continuación declararemos los import para usar las clases Android que
necesitaremos para nuestra aplicación:
En este código se lleva a cabo la introducción de las librerías para el
funcionamiento del proyecto.
import android.app.Activity;
import android.os.Bundle;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase; //para conexión a base de
datos SQLite
import android.widget.EditText; //para usar cuadros de texto
import android.widget.Button; //para usar botones
import android.widget.Toast; //para mostrar mensajes "emergentes"
import android.util.Log;
import android.view.View;
import android.content.Intent;
import android.net.Uri; //para llamar a un número de teléfono
import android.app.AlertDialog; //para mostrar mensaje de confirmación
import android.content.DialogInterface;
 Declararemos la clase, el activity, las variables que usaremos y
ejecutaremos el layout con:
 public class agenda extends Activity
 {
 EditText editNombre,editTelefono;
 private Button botonGuardar;
 private Button botonLlamar;
 private Button botonEliminarBD;
 private Button botonCerrar;

 private SQLiteDatabase baseDatos;
 private static final String TAG = "bdagenda";
 private static final String nombreBD = "agenda";
 private static final String tablaContacto = "contacto";

 //guardamos en un String toda la creación de la tabla
 private static final String crearTablaContacto = "create table if not exists "
 + " contacto (codigo integer primary key autoincrement, "
 + " nombre text not null, telefono text not null unique);";

 @Override
 public void onCreate(Bundle savedInstanceState)
 {
 //Asignamos a cada objeto visual creado a su respectivo elemento de
main.xml
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);
 editNombre = (EditText) findViewById(R.id.txtNombre);
 editTelefono = (EditText) findViewById(R.id.txtTelefono);
 botonGuardar = (Button) findViewById(R.id.btGuardar);
 botonLlamar = (Button) findViewById(R.id.btLlamar);
 botonEliminarBD = (Button) findViewById(R.id.btEliminarBD);
botonCerrar = (Button) findViewById(R.id.btCerrar);
 Código asignado al botón Guarda Contacto:
//Guardar el contacto actual en la agenda
botonGuardar.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
//Abrir la base de datos, se creará si no existe
abrirBasedatos();
//Insertar una fila o registro en la tabla "contacto"
//si la inserción es correcta devolverá true
boolean resultado = insertarFila(editNombre.getText().toString(),
editTelefono.getText().toString());
if(resultado)
Toast.makeText(getApplicationContext(),
"Contacto añadido correctamente",
Toast.LENGTH_LONG).show();
else
Toast.makeText(getApplicationContext(),
"No se ha podido guardar el contacto" ,
Toast.LENGTH_LONG).show();
}
});
 Código para llamar al contacto actual por teléfono que se desea
//Llamar al contacto actual por teléfono
botonLlamar.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
//Mostrar un mensaje de confirmación antes de realizar la llamada
AlertDialog.Builder alertDialog = new AlertDialog.Builder(agenda.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("Sí", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
try
{
EditText num=(EditText)findViewById(R.id.txtTelefono);
String number = "tel:" + num.getText().toString().trim();
Toast.makeText(getApplicationContext(),
"Llamando al " + num.getText().toString().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();
}
});
 Código del botón eliminar base de datos:
//Eliminar la base de datos de la agenda
botonEliminarBD.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
//Mostrar un mensaje de confirmación antes de eliminar la base de datos
AlertDialog.Builder alertDialog = new AlertDialog.Builder(agenda.this);
alertDialog.setMessage("¿Desea eliminar la base de datos por
completo?");
alertDialog.setTitle("Eliminar agenda...");
alertDialog.setIcon(android.R.drawable.ic_dialog_alert);
alertDialog.setCancelable(false);
alertDialog.setPositiveButton("Sí", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
try
{
Toast.makeText(getApplicationContext(),
"Eliminando base de datos: " + nombreBD,
Toast.LENGTH_LONG).show();
boolean resultado = deleteDatabase(nombreBD);
if(resultado)
Toast.makeText(getApplicationContext(),
"Base de datos eliminada correctamente",
Toast.LENGTH_LONG).show();
else
Toast.makeText(getApplicationContext(),
"No se ha podido eliminar la base de datos",
Toast.LENGTH_LONG).show();
}
catch (Exception e)
{
Toast.makeText(getApplicationContext(),
"No se ha podido eliminar la base de datos",
Toast.LENGTH_LONG).show();
}
}
});
alertDialog.setNegativeButton("No", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
Toast.makeText(getApplicationContext(),
"Eliminación de base de datos cancelada",
Toast.LENGTH_LONG).show();
}
});
alertDialog.show();
}
});
 Código para botón de cerrar la aplicación:
//Cerrar aplicación Android
botonCerrar.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
finish();
}
});
 Código para abrir la base de datos (crearla si no existe, crear la tabla):
 //Procedimiento para abrir la base de datos
 //si no existe se creará, también se creará la tabla contacto
 private void abrirBasedatos()
 {
 try
 {
 baseDatos = openOrCreateDatabase(nombreBD,
MODE_WORLD_WRITEABLE, null);
 baseDatos.execSQL(crearTablaContacto);
 }
 catch (Exception e)
 {
 Log.i(TAG, "Error al abrir o crear la base de datos" + e);
 }
}
 Código para insertar un registro en la tabla de la base de datos SQLite:
//Método que realiza la inserción de los datos en nuestra tabla contacto
private boolean insertarFila(String nombre, String telefono)
{
ContentValues values = new ContentValues();
values.put("nombre",nombre );
values.put("telefono", telefono);
Toast.makeText(getApplicationContext(), "Nombre: " + nombre + ", " +
"teléfono: " + telefono, Toast.LENGTH_LONG).show();
return (baseDatos.insert(tablaContacto, null, values) > 0);
}
En esta clase es donde se lleva a cabo el proceso del código para la aplicación
A manera detallada es donde se comprueba la aplicación, donde se introducen los
datos para insertar contacto, eliminar, actualizar.
Al momento en que ingresa un dato nos muestra el mensaje, exitosamente.
En este caso si queremos borra algún contacto, nos muestra la opción.
Al presionar que si nos muestra un mensaje donde los datos se han eliminado.
Así de esta manera se realizó correctamente la aplicación en Android con sdk y
eclipse
APK DE LA AGENDA
AjpdSoftAgendaTelefonicaAndroid.apk

Más contenido relacionado

La actualidad más candente

Ejercicios desarrollados de visual basic (según libro)
Ejercicios desarrollados de visual basic (según libro)Ejercicios desarrollados de visual basic (según libro)
Ejercicios desarrollados de visual basic (según libro)Ivan Ramirez Iglesias
 
Tutorial Nro. 2 de Desarollo de Aplicaciones Móviles con Android
Tutorial Nro. 2 de Desarollo de Aplicaciones Móviles con AndroidTutorial Nro. 2 de Desarollo de Aplicaciones Móviles con Android
Tutorial Nro. 2 de Desarollo de Aplicaciones Móviles con AndroidLuis Ernesto Castillo Alfaro
 
Manual de shine system
Manual de shine systemManual de shine system
Manual de shine systemRafa
 
Manual de shine system
Manual de shine systemManual de shine system
Manual de shine systemRafa
 
Tutorial Nro 1 de Desarrollo de Aplicaciones Móviles con Android
Tutorial Nro 1 de Desarrollo de Aplicaciones Móviles con AndroidTutorial Nro 1 de Desarrollo de Aplicaciones Móviles con Android
Tutorial Nro 1 de Desarrollo de Aplicaciones Móviles con AndroidLuis Ernesto Castillo Alfaro
 
Proyecto cajero opvy
Proyecto cajero opvyProyecto cajero opvy
Proyecto cajero opvyAlisonPrez4
 
Primera aplicación de Android
Primera aplicación de AndroidPrimera aplicación de Android
Primera aplicación de Androidspartha187
 
Tutorial Nro.3 - Desarrollo de Aplicaciones Móviles con Android
Tutorial Nro.3 - Desarrollo de Aplicaciones Móviles con AndroidTutorial Nro.3 - Desarrollo de Aplicaciones Móviles con Android
Tutorial Nro.3 - Desarrollo de Aplicaciones Móviles con AndroidLuis Ernesto Castillo Alfaro
 
Visual Basic 6.0
Visual Basic 6.0Visual Basic 6.0
Visual Basic 6.0patrimoni
 
Manual de android parte 1
Manual de android parte 1Manual de android parte 1
Manual de android parte 1ftriana5000
 
Crear Calculadora visual Studio 2008
Crear Calculadora visual Studio 2008Crear Calculadora visual Studio 2008
Crear Calculadora visual Studio 2008Johniel Cordero
 
Dce2 introduccion win_forms
Dce2 introduccion win_formsDce2 introduccion win_forms
Dce2 introduccion win_formsguest85b8e5a
 
Ejemplos Borland C++ Builder
Ejemplos Borland C++ BuilderEjemplos Borland C++ Builder
Ejemplos Borland C++ BuilderDarwin Durand
 

La actualidad más candente (17)

Ejercicios desarrollados de visual basic (según libro)
Ejercicios desarrollados de visual basic (según libro)Ejercicios desarrollados de visual basic (según libro)
Ejercicios desarrollados de visual basic (según libro)
 
Tutorial Nro. 2 de Desarollo de Aplicaciones Móviles con Android
Tutorial Nro. 2 de Desarollo de Aplicaciones Móviles con AndroidTutorial Nro. 2 de Desarollo de Aplicaciones Móviles con Android
Tutorial Nro. 2 de Desarollo de Aplicaciones Móviles con Android
 
Manual de shine system
Manual de shine systemManual de shine system
Manual de shine system
 
Manual de shine system
Manual de shine systemManual de shine system
Manual de shine system
 
Informe#19
Informe#19Informe#19
Informe#19
 
Tutorial Nro 1 de Desarrollo de Aplicaciones Móviles con Android
Tutorial Nro 1 de Desarrollo de Aplicaciones Móviles con AndroidTutorial Nro 1 de Desarrollo de Aplicaciones Móviles con Android
Tutorial Nro 1 de Desarrollo de Aplicaciones Móviles con Android
 
Proyecto cajero opvy
Proyecto cajero opvyProyecto cajero opvy
Proyecto cajero opvy
 
Primera aplicación de Android
Primera aplicación de AndroidPrimera aplicación de Android
Primera aplicación de Android
 
Tutorial Nro.3 - Desarrollo de Aplicaciones Móviles con Android
Tutorial Nro.3 - Desarrollo de Aplicaciones Móviles con AndroidTutorial Nro.3 - Desarrollo de Aplicaciones Móviles con Android
Tutorial Nro.3 - Desarrollo de Aplicaciones Móviles con Android
 
Elemento n3
Elemento n3Elemento n3
Elemento n3
 
22
2222
22
 
Intro Power Builder - JUGM 2010
Intro Power Builder - JUGM 2010Intro Power Builder - JUGM 2010
Intro Power Builder - JUGM 2010
 
Visual Basic 6.0
Visual Basic 6.0Visual Basic 6.0
Visual Basic 6.0
 
Manual de android parte 1
Manual de android parte 1Manual de android parte 1
Manual de android parte 1
 
Crear Calculadora visual Studio 2008
Crear Calculadora visual Studio 2008Crear Calculadora visual Studio 2008
Crear Calculadora visual Studio 2008
 
Dce2 introduccion win_forms
Dce2 introduccion win_formsDce2 introduccion win_forms
Dce2 introduccion win_forms
 
Ejemplos Borland C++ Builder
Ejemplos Borland C++ BuilderEjemplos Borland C++ Builder
Ejemplos Borland C++ Builder
 

Destacado

我的第一个
我的第一个我的第一个
我的第一个zhouhuicun
 
Riesgos del internet
Riesgos del internetRiesgos del internet
Riesgos del internetjosepaez77
 
Test de inteligencias parte 3
Test de inteligencias parte 3Test de inteligencias parte 3
Test de inteligencias parte 3yahaira_ruiz
 
Nombramiento de Antiguo Alumno EAE
Nombramiento de Antiguo Alumno EAENombramiento de Antiguo Alumno EAE
Nombramiento de Antiguo Alumno EAEEAE Business School
 
La evaluación preescolar
La evaluación preescolarLa evaluación preescolar
La evaluación preescolarChiquita Poli
 
Archivo taller de computo equipo 5
Archivo taller de computo equipo 5Archivo taller de computo equipo 5
Archivo taller de computo equipo 5LauryInu
 
Unit b at st lucia naples florida.text.marked
Unit b at st lucia naples florida.text.markedUnit b at st lucia naples florida.text.marked
Unit b at st lucia naples florida.text.markedVineyards Naples
 
Revista da turma da m¶nica sobre drogas
Revista da turma da m¶nica sobre drogasRevista da turma da m¶nica sobre drogas
Revista da turma da m¶nica sobre drogasdianaesnero
 
SEDA 2011 Workshop, Supporting the Transition from the Physical to the Virtua...
SEDA 2011 Workshop, Supporting the Transition from the Physical to the Virtua...SEDA 2011 Workshop, Supporting the Transition from the Physical to the Virtua...
SEDA 2011 Workshop, Supporting the Transition from the Physical to the Virtua...Darren Gash
 
Votaciones
VotacionesVotaciones
Votacionesaaliss
 
Michael Jackson
Michael JacksonMichael Jackson
Michael Jacksontuchav
 
Trabalho obrigatório de Matemática -Marco (5ºC)
Trabalho obrigatório de Matemática -Marco (5ºC)Trabalho obrigatório de Matemática -Marco (5ºC)
Trabalho obrigatório de Matemática -Marco (5ºC)tuchav
 
Estructura de los hogares españoles
Estructura de los hogares españolesEstructura de los hogares españoles
Estructura de los hogares españolesmartacazallas
 
Spellbinder at moon lake naples florida
Spellbinder at moon lake naples floridaSpellbinder at moon lake naples florida
Spellbinder at moon lake naples floridaVineyards Naples
 
Nov2011 mat62
Nov2011 mat62Nov2011 mat62
Nov2011 mat62tuchav
 

Destacado (20)

我的第一个
我的第一个我的第一个
我的第一个
 
Riesgos del internet
Riesgos del internetRiesgos del internet
Riesgos del internet
 
Test de inteligencias parte 3
Test de inteligencias parte 3Test de inteligencias parte 3
Test de inteligencias parte 3
 
B 11 3
B 11  3B 11  3
B 11 3
 
Nombramiento de Antiguo Alumno EAE
Nombramiento de Antiguo Alumno EAENombramiento de Antiguo Alumno EAE
Nombramiento de Antiguo Alumno EAE
 
Sciopero FS AN
Sciopero FS ANSciopero FS AN
Sciopero FS AN
 
La evaluación preescolar
La evaluación preescolarLa evaluación preescolar
La evaluación preescolar
 
Archivo taller de computo equipo 5
Archivo taller de computo equipo 5Archivo taller de computo equipo 5
Archivo taller de computo equipo 5
 
Icecrypt
IcecryptIcecrypt
Icecrypt
 
Unit b at st lucia naples florida.text.marked
Unit b at st lucia naples florida.text.markedUnit b at st lucia naples florida.text.marked
Unit b at st lucia naples florida.text.marked
 
Revista da turma da m¶nica sobre drogas
Revista da turma da m¶nica sobre drogasRevista da turma da m¶nica sobre drogas
Revista da turma da m¶nica sobre drogas
 
SEDA 2011 Workshop, Supporting the Transition from the Physical to the Virtua...
SEDA 2011 Workshop, Supporting the Transition from the Physical to the Virtua...SEDA 2011 Workshop, Supporting the Transition from the Physical to the Virtua...
SEDA 2011 Workshop, Supporting the Transition from the Physical to the Virtua...
 
Votaciones
VotacionesVotaciones
Votaciones
 
E 1 5 a
E 1 5 aE 1 5 a
E 1 5 a
 
Mariade jesus lizbeth
Mariade jesus lizbethMariade jesus lizbeth
Mariade jesus lizbeth
 
Michael Jackson
Michael JacksonMichael Jackson
Michael Jackson
 
Trabalho obrigatório de Matemática -Marco (5ºC)
Trabalho obrigatório de Matemática -Marco (5ºC)Trabalho obrigatório de Matemática -Marco (5ºC)
Trabalho obrigatório de Matemática -Marco (5ºC)
 
Estructura de los hogares españoles
Estructura de los hogares españolesEstructura de los hogares españoles
Estructura de los hogares españoles
 
Spellbinder at moon lake naples florida
Spellbinder at moon lake naples floridaSpellbinder at moon lake naples florida
Spellbinder at moon lake naples florida
 
Nov2011 mat62
Nov2011 mat62Nov2011 mat62
Nov2011 mat62
 

Similar a Manual marichuy (20)

Manual marichuy
Manual marichuyManual marichuy
Manual marichuy
 
Manual marichuy
Manual marichuyManual marichuy
Manual marichuy
 
Aplicación móvil con acceso a datos
Aplicación móvil con acceso a datosAplicación móvil con acceso a datos
Aplicación móvil con acceso a datos
 
Android
AndroidAndroid
Android
 
Agenda con SQLite
Agenda con SQLiteAgenda con SQLite
Agenda con SQLite
 
Aplicación zirconia
Aplicación zirconiaAplicación zirconia
Aplicación zirconia
 
Manual de aplicaciones moviles
Manual de aplicaciones moviles Manual de aplicaciones moviles
Manual de aplicaciones moviles
 
Manual de aplicaciones moviles
Manual de aplicaciones moviles Manual de aplicaciones moviles
Manual de aplicaciones moviles
 
Manual de aplicaciones moviles
Manual de aplicaciones moviles Manual de aplicaciones moviles
Manual de aplicaciones moviles
 
bases de datos desde visual basic
bases de datos desde visual basicbases de datos desde visual basic
bases de datos desde visual basic
 
Appcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en AndroidAppcircus Academy: Integración de Social Media en Android
Appcircus Academy: Integración de Social Media en Android
 
Conectar con bases de datos
Conectar con bases de datosConectar con bases de datos
Conectar con bases de datos
 
Manual de aplicaciones moviles
Manual de aplicaciones movilesManual de aplicaciones moviles
Manual de aplicaciones moviles
 
Mingo santiago
Mingo santiagoMingo santiago
Mingo santiago
 
Practica multiplicacion de_dos_numeros
Practica multiplicacion de_dos_numerosPractica multiplicacion de_dos_numeros
Practica multiplicacion de_dos_numeros
 
Clases de Programación Android
Clases de Programación AndroidClases de Programación Android
Clases de Programación Android
 
Proyeto aplicación
Proyeto aplicaciónProyeto aplicación
Proyeto aplicación
 
Practica division de_dos_numeros
Practica division de_dos_numerosPractica division de_dos_numeros
Practica division de_dos_numeros
 
Tutorial 1 android
Tutorial 1 androidTutorial 1 android
Tutorial 1 android
 
Aplicacion movil
Aplicacion movilAplicacion movil
Aplicacion movil
 

Más de Maria de Jesus Reyes Betancourt (20)

Auditoria
AuditoriaAuditoria
Auditoria
 
Interfaces
InterfacesInterfaces
Interfaces
 
Interfaces
InterfacesInterfaces
Interfaces
 
Manual puesta a tierra
Manual puesta a tierraManual puesta a tierra
Manual puesta a tierra
 
Manual de instalacion electrica
Manual de instalacion electricaManual de instalacion electrica
Manual de instalacion electrica
 
Abstracción.docs
Abstracción.docsAbstracción.docs
Abstracción.docs
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Telecomunicaciones mariade jesus
Telecomunicaciones mariade jesusTelecomunicaciones mariade jesus
Telecomunicaciones mariade jesus
 
Antenas maria de_jesus
Antenas maria de_jesusAntenas maria de_jesus
Antenas maria de_jesus
 
Manual seguridad informatica
Manual seguridad informaticaManual seguridad informatica
Manual seguridad informatica
 
Manual
Manual Manual
Manual
 
Trabajo final plan de comunicacion
Trabajo final plan de comunicacionTrabajo final plan de comunicacion
Trabajo final plan de comunicacion
 
Trabajo maria _liz
Trabajo maria _lizTrabajo maria _liz
Trabajo maria _liz
 
Trabajo maria _liz
Trabajo maria _lizTrabajo maria _liz
Trabajo maria _liz
 
Trabajo Final
Trabajo FinalTrabajo Final
Trabajo Final
 
Reglas
ReglasReglas
Reglas
 
Manual marichuy
Manual marichuyManual marichuy
Manual marichuy
 
Mapa mental lizbeth
Mapa mental lizbethMapa mental lizbeth
Mapa mental lizbeth
 
Mapa mental mariadejesus
Mapa mental mariadejesusMapa mental mariadejesus
Mapa mental mariadejesus
 
Mariade jesus
Mariade jesusMariade jesus
Mariade jesus
 

Manual marichuy

  • 1. UNIVERSIDAD TECNOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN Materia Desarrollo de Aplicaciones lll Tema Manual de Programa en Android de Registro de Usuario. Nombre completo del Alumno: María de Jesús Reyes Betancourt. Grado: 5 Grupo: A Nombre del Docente : Eloy Contreras de Lira Fecha de entrega : 20-03-2014
  • 2. A continuación explicare a detalle como realice el programa en Android para llevar a cabo el Registro de Usuario, Eliminación, Actualización, Modificación del Usuario. Iniciamos abriendo el Programa Android el cual está Vinculado con Eclipse y SDK Enseguida de que abre la aplicación se comienza hacer la creación de los botones para la aplicación que se va llevar a cabo, como se muestra en la siguiente pantalla, ya insertados los botones. El cual ya se muestran los botones para insertar el Usuario, Guardar, Actualizar o eliminar
  • 3. En el cual nos vamos a ir a la parte de código, ya que en esta pantalla nos encontramos de manera gráfica. En este caso nos muestra el código de los botones, el cual es donde se lleva a cabo el diseño y la manera en que se desea visualizar. El cual se puede ver en Graphical Layout En el siguiente código se lleva a cabo la configuración el botón loyout, para así elegir la aplicación que desea correr
  • 4. Si hemos activado el emulador (como indicamos aquí) se iniciará el AVD y se ejecutará automáticamente nuestra aplicación
  • 5. Volveremos a nuestra aplicación, no recomendamos cerrar el emulador pues tarda unos segundos en cargarse, si lo dejamos abierto, con la aplicación cerrada, cuando volvamos a compilarla la carga será muchísimo más rápida. A continuación en la aplicación comienza el código para cada botón que hemos hecho de manera gráfica.
  • 6. En el paquete se selecciona en src, la clase de agenda.java para comenzar a codificar la aplicación.  A continuación declararemos los import para usar las clases Android que necesitaremos para nuestra aplicación: En este código se lleva a cabo la introducción de las librerías para el funcionamiento del proyecto. import android.app.Activity; import android.os.Bundle; import android.content.ContentValues; import android.database.sqlite.SQLiteDatabase; //para conexión a base de datos SQLite import android.widget.EditText; //para usar cuadros de texto import android.widget.Button; //para usar botones import android.widget.Toast; //para mostrar mensajes "emergentes" import android.util.Log; import android.view.View; import android.content.Intent;
  • 7. import android.net.Uri; //para llamar a un número de teléfono import android.app.AlertDialog; //para mostrar mensaje de confirmación import android.content.DialogInterface;  Declararemos la clase, el activity, las variables que usaremos y ejecutaremos el layout con:  public class agenda extends Activity  {  EditText editNombre,editTelefono;  private Button botonGuardar;  private Button botonLlamar;  private Button botonEliminarBD;  private Button botonCerrar;   private SQLiteDatabase baseDatos;  private static final String TAG = "bdagenda";  private static final String nombreBD = "agenda";  private static final String tablaContacto = "contacto";   //guardamos en un String toda la creación de la tabla  private static final String crearTablaContacto = "create table if not exists "  + " contacto (codigo integer primary key autoincrement, "  + " nombre text not null, telefono text not null unique);";   @Override  public void onCreate(Bundle savedInstanceState)  {  //Asignamos a cada objeto visual creado a su respectivo elemento de main.xml  super.onCreate(savedInstanceState);  setContentView(R.layout.main);  editNombre = (EditText) findViewById(R.id.txtNombre);
  • 8.  editTelefono = (EditText) findViewById(R.id.txtTelefono);  botonGuardar = (Button) findViewById(R.id.btGuardar);  botonLlamar = (Button) findViewById(R.id.btLlamar);  botonEliminarBD = (Button) findViewById(R.id.btEliminarBD); botonCerrar = (Button) findViewById(R.id.btCerrar);  Código asignado al botón Guarda Contacto: //Guardar el contacto actual en la agenda botonGuardar.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { //Abrir la base de datos, se creará si no existe abrirBasedatos(); //Insertar una fila o registro en la tabla "contacto" //si la inserción es correcta devolverá true boolean resultado = insertarFila(editNombre.getText().toString(), editTelefono.getText().toString()); if(resultado) Toast.makeText(getApplicationContext(), "Contacto añadido correctamente", Toast.LENGTH_LONG).show(); else Toast.makeText(getApplicationContext(), "No se ha podido guardar el contacto" , Toast.LENGTH_LONG).show(); } });  Código para llamar al contacto actual por teléfono que se desea
  • 9. //Llamar al contacto actual por teléfono botonLlamar.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { //Mostrar un mensaje de confirmación antes de realizar la llamada AlertDialog.Builder alertDialog = new AlertDialog.Builder(agenda.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("Sí", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { try { EditText num=(EditText)findViewById(R.id.txtTelefono); String number = "tel:" + num.getText().toString().trim(); Toast.makeText(getApplicationContext(), "Llamando al " + num.getText().toString().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(); }
  • 10. } }); alertDialog.setNegativeButton("No", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { Toast.makeText(getApplicationContext(), "Llamada cancelada", Toast.LENGTH_LONG).show(); } }); alertDialog.show(); } });  Código del botón eliminar base de datos: //Eliminar la base de datos de la agenda botonEliminarBD.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { //Mostrar un mensaje de confirmación antes de eliminar la base de datos AlertDialog.Builder alertDialog = new AlertDialog.Builder(agenda.this); alertDialog.setMessage("¿Desea eliminar la base de datos por completo?"); alertDialog.setTitle("Eliminar agenda..."); alertDialog.setIcon(android.R.drawable.ic_dialog_alert); alertDialog.setCancelable(false); alertDialog.setPositiveButton("Sí", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) {
  • 11. try { Toast.makeText(getApplicationContext(), "Eliminando base de datos: " + nombreBD, Toast.LENGTH_LONG).show(); boolean resultado = deleteDatabase(nombreBD); if(resultado) Toast.makeText(getApplicationContext(), "Base de datos eliminada correctamente", Toast.LENGTH_LONG).show(); else Toast.makeText(getApplicationContext(), "No se ha podido eliminar la base de datos", Toast.LENGTH_LONG).show(); } catch (Exception e) { Toast.makeText(getApplicationContext(), "No se ha podido eliminar la base de datos", Toast.LENGTH_LONG).show(); } } }); alertDialog.setNegativeButton("No", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { Toast.makeText(getApplicationContext(), "Eliminación de base de datos cancelada", Toast.LENGTH_LONG).show(); }
  • 12. }); alertDialog.show(); } });  Código para botón de cerrar la aplicación: //Cerrar aplicación Android botonCerrar.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { finish(); } });  Código para abrir la base de datos (crearla si no existe, crear la tabla):  //Procedimiento para abrir la base de datos  //si no existe se creará, también se creará la tabla contacto  private void abrirBasedatos()  {  try  {  baseDatos = openOrCreateDatabase(nombreBD, MODE_WORLD_WRITEABLE, null);  baseDatos.execSQL(crearTablaContacto);  }  catch (Exception e)  {  Log.i(TAG, "Error al abrir o crear la base de datos" + e);  }
  • 13. }  Código para insertar un registro en la tabla de la base de datos SQLite: //Método que realiza la inserción de los datos en nuestra tabla contacto private boolean insertarFila(String nombre, String telefono) { ContentValues values = new ContentValues(); values.put("nombre",nombre ); values.put("telefono", telefono); Toast.makeText(getApplicationContext(), "Nombre: " + nombre + ", " + "teléfono: " + telefono, Toast.LENGTH_LONG).show(); return (baseDatos.insert(tablaContacto, null, values) > 0); } En esta clase es donde se lleva a cabo el proceso del código para la aplicación
  • 14. A manera detallada es donde se comprueba la aplicación, donde se introducen los datos para insertar contacto, eliminar, actualizar. Al momento en que ingresa un dato nos muestra el mensaje, exitosamente.
  • 15. En este caso si queremos borra algún contacto, nos muestra la opción. Al presionar que si nos muestra un mensaje donde los datos se han eliminado. Así de esta manera se realizó correctamente la aplicación en Android con sdk y eclipse APK DE LA AGENDA AjpdSoftAgendaTelefonicaAndroid.apk