SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
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 Móvil con Acceso a Datos
Integrantes del Equipo: Adriana Berenice Renovato Ceja
Grado: 5 Grupo: “B”
Nombre del Docente : Eloy Contreras de Lira
Fecha de entrega : 24/03/2014
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
Pasos para la creación de una Aplicación Móvil con
Acceso a Datos.
Paso 1. Primero se ejecuta el programa de Eclipse
Paso 2. Después aparece la interfaz de eclipse y selecciona la pestaña de tiene el
nombre de File y en la lista desplegable New y para finalizar presiona Android
Application Project que significa (proyecto de aplicación Android).
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
Paso 3. Después aparece una ventana donde se pondrá el nombre de cómo se
va a llamar la aplicación y del proyecto y pulsamos el botón de Next a todas las
ventanas que vallan apareciendo y al concluir
Paso 4.Como vemos nuestro paquete ya fue creado donde aparecen una serie de
carpetas cada una de estas tienen diferente funcion.
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
Paso 5. Es una de las carpetas principales del proyecto, por no decir la más
importante. En ella residen todos los archivos de código fuente Java que
componen la aplicación, entre ellos, las Actividades (clases que extienden de
Activity).
Paso 6. Carpeta bin Contiene los archivos de la aplicación compilados, también
contiene el .apk que es la aplicación que se pasa al móvil para que pueda
funcionar en este.
Paso 7. Subcarpeta Layout que también podrá contener otras subcarpetas. En su
raíz, contendrá los descriptores xml de las vistas. Las subcarpetas podrán
contener layouts específicos para pantallas.
Estos son los archivos xml que se utilizaran para crear la interfaz grafica de la
aplicación móvil.
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
1. Creación de la Base de Datos
Para crean nuestra aplicación móvil con acceso a datos lo primero es crear
nuestra base de datos para que al momento de ejecutar la dicha aplicación en el
móvil los datos que se ingresen se vallan guardando correctamente, se crea una
clase llamada Clase DataBaseHelper.java.
Se agregan las librerías que se utilizaran para que la base de datos se cree,
también se declaran las variables que se utilizaran en la B.D, las cuales estas
servirán para que se guardan la información correspondiente a cada campo.
package Agenda.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);
}
@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);
}
}
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
2. Creación de la Clase Nuevo.java
Esta clase es creada para dar de alta un nuevo usuario o contacto en Agenda. Una vez
que fue creada nuestra B.D, los datos que son ingresados por el usuario serán
guardados.
Las librerías que se van creando son dependiendo del código que se valla ingresando,
son muy importantes para que nuestra aplicación tenga funcionamiento, en esta también
se hace la declaración de las variables, lo cual se hace la comparación con el nombre de
estas mismas.
Se manda llamar el método agregar, este manda un mensaje de confirmación “De que el
contacto fue guardado correctamente”.
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);
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
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)
{
insert(nombre.getText().toString(),telefono.getText().toString(),email.ge
tText().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 }
}
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
3. Creación de la Clase buscar.java
Esta clase le permite al usuario buscar o consultar en su aplicación aquellos
contactos que ya han sido registrados y guardados en la B.D. En esta clase puede
buscar al contacto para hacerle una llamada, eliminarlo o modificarlo.
El código que se utilizaría seria el siguiente:
package Agenda.com;
import proyectagenda.com.R;
import Agenda.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;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.buscarcontacto);
nombre=(EditText)findViewById(R.id.nombre);
}
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);
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
it.putExtra("nombre", nombre.getText().toString());
startActivity(it);
}
else
{
Toast.makeText(getApplicationContext(),
"El contacto 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(),
"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);
if (c.moveToFirst()) {
AlertDialog.Builder alertDialog = new
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
AlertDialog.Builder(buscar.this);
alertDialog.setMessage ("¿Desea realizar llamada?");
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(),
"Llamada bloqueada",
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 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;
}
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;
}
}
4. Creación de la Clase Llamarcontacto.java
Esta clase lo que hace es que se selecciona un contacto para esto manda llamar
el método buscar, el código que se utilizara es el siguiente:
package Agenda.com;
import android.app.Activity;
public class Llamacontacto extends Activity{
}
5. Creación de la Clase EliminarContacto.java
La creación de esta clase tiene como función borrar contactos que ya no se
utilicen o que no sean tan importantes en nuestra Agenda, o tan simple que ya no
queramos que aparezcan registrados. El código es el siguiente para que esta
función de eliminar se ejecute al momento de utilizar nuestra aplicación móvil.
La funcionalidad del código es que hace la conexión a la B.D, donde se manda
llamar el método eliminar donde se selecciona el nombre de la persona, lo cual
manda un mensaje de confirmación.
package Agenda.com;
import proyectagenda.com.R;
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;
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
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;
}
@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;
}
}
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
6. Creación de la Clase Modificar1.java
Para modificar un registro, para ello se necesitaran crear dos clases una llama
Modificar1 y otra Modificar2.
Modificar tiene como funcion hacer modificaciones a cualquier dato que se quiera
corregir, o bien que este mal escrito.
package Agenda.com;
import proyectagenda.com.R;
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);
}
else
{
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
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. Creación de la Clase Modificar2.java
package Agenda.com;
import proyectagenda.com.R;
import android.app.Activity;
import android.content.ContentValues;
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 Modificar2 extends Activity{
public String nombre;
public EditText name,tel,ema,dir;
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.modficacion02);
name=(EditText)findViewById(R.id.nombre);
tel=(EditText)findViewById(R.id.telefono);
dir=(EditText)findViewById(R.id.direccion);
ema=(EditText)findViewById(R.id.email);
Bundle bundle=getIntent().getExtras();
nombre=bundle.getString("nombre");
DataBaseHelper dbh=new DataBaseHelper(this);
SQLiteDatabase db= dbh.getWritableDatabase();
String[] campos = new String[]
{"nombre","telefono","email","direccion"};
String[] args = new String[] {nombre};
Cursor c = db.query("AgendaContactos", campos, "nombre=?",
args, null, null, null);
//Nos aseguramos de que existe al menos un registro
if (c.moveToFirst()) {
//Recorremos el cursor hasta que no haya más registros
do {
String nombre = c.getString(0);
String telefono = c.getString(1);
String email=c.getString(2);
String direccion=c.getString(3);
name.setText(nombre);
tel.setText(telefono);
ema.setText(email);
dir.setText(direccion);
} while(c.moveToNext());
}
else
{
Toast.makeText(getApplicationContext(),
"Ha ocurrido un error :(",
Toast.LENGTH_LONG).show();
db.close();
}
}
public void modificar(View b)
{
UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS
UNIDAD ACADÉMICA DE PINOS
TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN
DataBaseHelper dbh=new DataBaseHelper(this);
SQLiteDatabase db= dbh.getWritableDatabase();
ContentValues valores = new ContentValues();
valores.put("telefono",tel.getText().toString());
valores.put("email", ema.getText().toString());
valores.put("direccion", dir.getText().toString());
String[] args = new String[]{name.getText().toString()};
db.update("AgendaContactos", valores, "nombre=?", args);
Toast.makeText(getApplicationContext(),
"Contacto se ha modificado exitosamente!!",
Toast.LENGTH_LONG).show();
db.close();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater=getMenuInflater();
inflater.inflate(R.layout.menu2, 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);
}
switch (item.getItemId()) {
case R.id.item3: Intent it = new
Intent(this,Modificar1.class);
startActivity(it);
break;
}
return true;}}

Mais conteúdo relacionado

Semelhante a Aplicacion movil (20)

Preguntas android
Preguntas androidPreguntas android
Preguntas android
 
Aplicacion
Aplicacion Aplicacion
Aplicacion
 
Preguntas de android
Preguntas de androidPreguntas de android
Preguntas de android
 
Materiaeloy
MateriaeloyMateriaeloy
Materiaeloy
 
Cuestionario de android
Cuestionario de androidCuestionario de android
Cuestionario de android
 
Aplicacion movil con_bd
Aplicacion movil con_bdAplicacion movil con_bd
Aplicacion movil con_bd
 
Aplicacion movil con_bd
Aplicacion movil con_bdAplicacion movil con_bd
Aplicacion movil con_bd
 
Preguntas
PreguntasPreguntas
Preguntas
 
Preguntas
PreguntasPreguntas
Preguntas
 
Manual de Aplicación Móvil con Acceso a Datos
Manual de Aplicación Móvil con Acceso a DatosManual de Aplicación Móvil con Acceso a Datos
Manual de Aplicación Móvil con Acceso a Datos
 
Preguntas de android
Preguntas de androidPreguntas de android
Preguntas de android
 
Proyecto para programacion y estructura
Proyecto para programacion y estructuraProyecto para programacion y estructura
Proyecto para programacion y estructura
 
Iniciación a Android
Iniciación a AndroidIniciación a Android
Iniciación a Android
 
Pre karla
Pre karlaPre karla
Pre karla
 
Informe Proyecto Interciclo
Informe Proyecto IntercicloInforme Proyecto Interciclo
Informe Proyecto Interciclo
 
DAM-S7.pptx
DAM-S7.pptxDAM-S7.pptx
DAM-S7.pptx
 
No numerica ii
No numerica iiNo numerica ii
No numerica ii
 
Maestrosdelweb guia-android
Maestrosdelweb guia-androidMaestrosdelweb guia-android
Maestrosdelweb guia-android
 
Guía Android
Guía AndroidGuía Android
Guía Android
 
Mdw guia-android-1.3
Mdw guia-android-1.3Mdw guia-android-1.3
Mdw guia-android-1.3
 

Mais de Ruben Robles

Auditoria sistema ti
Auditoria sistema tiAuditoria sistema ti
Auditoria sistema tiRuben Robles
 
Hackear contraseña
Hackear contraseñaHackear contraseña
Hackear contraseñaRuben Robles
 
Plantilla proyecto aler tic_
Plantilla proyecto aler tic_Plantilla proyecto aler tic_
Plantilla proyecto aler tic_Ruben Robles
 
Informe de auditoria
Informe de auditoriaInforme de auditoria
Informe de auditoriaRuben Robles
 
Sistemas de telecomunicaciones
Sistemas de telecomunicacionesSistemas de telecomunicaciones
Sistemas de telecomunicacionesRuben Robles
 
Centro de telecomunicaciones
Centro de telecomunicacionesCentro de telecomunicaciones
Centro de telecomunicacionesRuben Robles
 
Enlace punto a punto pinos la victoria
Enlace punto a punto pinos la victoriaEnlace punto a punto pinos la victoria
Enlace punto a punto pinos la victoriaRuben Robles
 
Trabajo bdoo unidad 4_cp
Trabajo bdoo unidad 4_cpTrabajo bdoo unidad 4_cp
Trabajo bdoo unidad 4_cpRuben Robles
 
Trabajo bdoo unidad 4_cp
Trabajo bdoo unidad 4_cpTrabajo bdoo unidad 4_cp
Trabajo bdoo unidad 4_cpRuben Robles
 
Trabajo final plan de las comunicaciones
Trabajo final plan de las comunicacionesTrabajo final plan de las comunicaciones
Trabajo final plan de las comunicacionesRuben Robles
 
Gestion de recursos humanos
Gestion de recursos humanosGestion de recursos humanos
Gestion de recursos humanosRuben Robles
 
Mapa mental gestionar_el_equipo_del_proyecto
Mapa mental gestionar_el_equipo_del_proyectoMapa mental gestionar_el_equipo_del_proyecto
Mapa mental gestionar_el_equipo_del_proyectoRuben Robles
 

Mais de Ruben Robles (19)

Auditoria sistema ti
Auditoria sistema tiAuditoria sistema ti
Auditoria sistema ti
 
Hackear contraseña
Hackear contraseñaHackear contraseña
Hackear contraseña
 
Plantilla proyecto aler tic_
Plantilla proyecto aler tic_Plantilla proyecto aler tic_
Plantilla proyecto aler tic_
 
Informe de auditoria
Informe de auditoriaInforme de auditoria
Informe de auditoria
 
Sistemas de telecomunicaciones
Sistemas de telecomunicacionesSistemas de telecomunicaciones
Sistemas de telecomunicaciones
 
Centro de telecomunicaciones
Centro de telecomunicacionesCentro de telecomunicaciones
Centro de telecomunicaciones
 
Tarea 3
Tarea 3Tarea 3
Tarea 3
 
Clases abstractas
Clases abstractasClases abstractas
Clases abstractas
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Enlace punto a punto pinos la victoria
Enlace punto a punto pinos la victoriaEnlace punto a punto pinos la victoria
Enlace punto a punto pinos la victoria
 
Trabajo bdoo unidad 4_cp
Trabajo bdoo unidad 4_cpTrabajo bdoo unidad 4_cp
Trabajo bdoo unidad 4_cp
 
Trabajo bdoo unidad 4_cp
Trabajo bdoo unidad 4_cpTrabajo bdoo unidad 4_cp
Trabajo bdoo unidad 4_cp
 
Mr mer ddd
Mr mer dddMr mer ddd
Mr mer ddd
 
Trabajo final plan de las comunicaciones
Trabajo final plan de las comunicacionesTrabajo final plan de las comunicaciones
Trabajo final plan de las comunicaciones
 
Transaccionb
TransaccionbTransaccionb
Transaccionb
 
Gestion de recursos humanos
Gestion de recursos humanosGestion de recursos humanos
Gestion de recursos humanos
 
Mapa mental gestionar_el_equipo_del_proyecto
Mapa mental gestionar_el_equipo_del_proyectoMapa mental gestionar_el_equipo_del_proyecto
Mapa mental gestionar_el_equipo_del_proyecto
 
Estandares de ti
Estandares de tiEstandares de ti
Estandares de ti
 
A1 ap los usb
A1 ap los usbA1 ap los usb
A1 ap los usb
 

Aplicacion movil

  • 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 Móvil con Acceso a Datos Integrantes del Equipo: Adriana Berenice Renovato Ceja Grado: 5 Grupo: “B” Nombre del Docente : Eloy Contreras de Lira Fecha de entrega : 24/03/2014
  • 2. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN Pasos para la creación de una Aplicación Móvil con Acceso a Datos. Paso 1. Primero se ejecuta el programa de Eclipse Paso 2. Después aparece la interfaz de eclipse y selecciona la pestaña de tiene el nombre de File y en la lista desplegable New y para finalizar presiona Android Application Project que significa (proyecto de aplicación Android).
  • 3. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN Paso 3. Después aparece una ventana donde se pondrá el nombre de cómo se va a llamar la aplicación y del proyecto y pulsamos el botón de Next a todas las ventanas que vallan apareciendo y al concluir Paso 4.Como vemos nuestro paquete ya fue creado donde aparecen una serie de carpetas cada una de estas tienen diferente funcion.
  • 4. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN Paso 5. Es una de las carpetas principales del proyecto, por no decir la más importante. En ella residen todos los archivos de código fuente Java que componen la aplicación, entre ellos, las Actividades (clases que extienden de Activity). Paso 6. Carpeta bin Contiene los archivos de la aplicación compilados, también contiene el .apk que es la aplicación que se pasa al móvil para que pueda funcionar en este. Paso 7. Subcarpeta Layout que también podrá contener otras subcarpetas. En su raíz, contendrá los descriptores xml de las vistas. Las subcarpetas podrán contener layouts específicos para pantallas. Estos son los archivos xml que se utilizaran para crear la interfaz grafica de la aplicación móvil.
  • 5. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN 1. Creación de la Base de Datos Para crean nuestra aplicación móvil con acceso a datos lo primero es crear nuestra base de datos para que al momento de ejecutar la dicha aplicación en el móvil los datos que se ingresen se vallan guardando correctamente, se crea una clase llamada Clase DataBaseHelper.java. Se agregan las librerías que se utilizaran para que la base de datos se cree, también se declaran las variables que se utilizaran en la B.D, las cuales estas servirán para que se guardan la información correspondiente a cada campo. package Agenda.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); } @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); } }
  • 6. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN 2. Creación de la Clase Nuevo.java Esta clase es creada para dar de alta un nuevo usuario o contacto en Agenda. Una vez que fue creada nuestra B.D, los datos que son ingresados por el usuario serán guardados. Las librerías que se van creando son dependiendo del código que se valla ingresando, son muy importantes para que nuestra aplicación tenga funcionamiento, en esta también se hace la declaración de las variables, lo cual se hace la comparación con el nombre de estas mismas. Se manda llamar el método agregar, este manda un mensaje de confirmación “De que el contacto fue guardado correctamente”. 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);
  • 7. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN 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) { insert(nombre.getText().toString(),telefono.getText().toString(),email.ge tText().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 } }
  • 8. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN 3. Creación de la Clase buscar.java Esta clase le permite al usuario buscar o consultar en su aplicación aquellos contactos que ya han sido registrados y guardados en la B.D. En esta clase puede buscar al contacto para hacerle una llamada, eliminarlo o modificarlo. El código que se utilizaría seria el siguiente: package Agenda.com; import proyectagenda.com.R; import Agenda.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; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.buscarcontacto); nombre=(EditText)findViewById(R.id.nombre); } 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);
  • 9. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN it.putExtra("nombre", nombre.getText().toString()); startActivity(it); } else { Toast.makeText(getApplicationContext(), "El contacto 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(), "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); if (c.moveToFirst()) { AlertDialog.Builder alertDialog = new
  • 10. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN AlertDialog.Builder(buscar.this); alertDialog.setMessage ("¿Desea realizar llamada?"); 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(), "Llamada bloqueada", 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 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; }
  • 11. 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; } } 4. Creación de la Clase Llamarcontacto.java Esta clase lo que hace es que se selecciona un contacto para esto manda llamar el método buscar, el código que se utilizara es el siguiente: package Agenda.com; import android.app.Activity; public class Llamacontacto extends Activity{ } 5. Creación de la Clase EliminarContacto.java La creación de esta clase tiene como función borrar contactos que ya no se utilicen o que no sean tan importantes en nuestra Agenda, o tan simple que ya no queramos que aparezcan registrados. El código es el siguiente para que esta función de eliminar se ejecute al momento de utilizar nuestra aplicación móvil. La funcionalidad del código es que hace la conexión a la B.D, donde se manda llamar el método eliminar donde se selecciona el nombre de la persona, lo cual manda un mensaje de confirmación. package Agenda.com; import proyectagenda.com.R; 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;
  • 12. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN 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; } @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; } }
  • 13. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN 6. Creación de la Clase Modificar1.java Para modificar un registro, para ello se necesitaran crear dos clases una llama Modificar1 y otra Modificar2. Modificar tiene como funcion hacer modificaciones a cualquier dato que se quiera corregir, o bien que este mal escrito. package Agenda.com; import proyectagenda.com.R; 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); } else {
  • 14. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN 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. Creación de la Clase Modificar2.java package Agenda.com; import proyectagenda.com.R; import android.app.Activity; import android.content.ContentValues; 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 Modificar2 extends Activity{ public String nombre; public EditText name,tel,ema,dir;
  • 15. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.modficacion02); name=(EditText)findViewById(R.id.nombre); tel=(EditText)findViewById(R.id.telefono); dir=(EditText)findViewById(R.id.direccion); ema=(EditText)findViewById(R.id.email); Bundle bundle=getIntent().getExtras(); nombre=bundle.getString("nombre"); DataBaseHelper dbh=new DataBaseHelper(this); SQLiteDatabase db= dbh.getWritableDatabase(); String[] campos = new String[] {"nombre","telefono","email","direccion"}; String[] args = new String[] {nombre}; Cursor c = db.query("AgendaContactos", campos, "nombre=?", args, null, null, null); //Nos aseguramos de que existe al menos un registro if (c.moveToFirst()) { //Recorremos el cursor hasta que no haya más registros do { String nombre = c.getString(0); String telefono = c.getString(1); String email=c.getString(2); String direccion=c.getString(3); name.setText(nombre); tel.setText(telefono); ema.setText(email); dir.setText(direccion); } while(c.moveToNext()); } else { Toast.makeText(getApplicationContext(), "Ha ocurrido un error :(", Toast.LENGTH_LONG).show(); db.close(); } } public void modificar(View b) {
  • 16. UNIVERSIDAD TECNONOLÓGICA DEL ESTADO DE ZACATECAS UNIDAD ACADÉMICA DE PINOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN DataBaseHelper dbh=new DataBaseHelper(this); SQLiteDatabase db= dbh.getWritableDatabase(); ContentValues valores = new ContentValues(); valores.put("telefono",tel.getText().toString()); valores.put("email", ema.getText().toString()); valores.put("direccion", dir.getText().toString()); String[] args = new String[]{name.getText().toString()}; db.update("AgendaContactos", valores, "nombre=?", args); Toast.makeText(getApplicationContext(), "Contacto se ha modificado exitosamente!!", Toast.LENGTH_LONG).show(); db.close(); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater=getMenuInflater(); inflater.inflate(R.layout.menu2, 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); } switch (item.getItemId()) { case R.id.item3: Intent it = new Intent(this,Modificar1.class); startActivity(it); break; } return true;}}