Tecnologias de la Informacion y Cominucacion
Unidad Academica de Pinos
Temas:
Manual de una Aplicación en un Movil
Materia:
Desarrollo de Aplicaciones III
Alumnos:
Lorena Díaz Moreno
Maestro:
Eloy Contreras de Lira
Grado:5 Grupo:A
1.Busque mi aplicacion
2.La implemente en mi celular
Abriremos el IDE de desarrollo Eclipse, accederemos al menú "File" - "New" - "Project":
Seleccionaremos "Android" - "Android Project" y pulsaremos "Next":
Introduciremos los datos del nuevo proyecto Android:
Project name: AjpdSoftAgendaTelefonicaAndroid.
Contents: marcaremos "Create new project in workspace" y marcaremos "Use default location".
En Build Target marcaremos "Android 2.3.3".
Application name: "AjpdSoft Agenda Telefonica Android".
Package name: "agendatelefonica.agenda".
Marcaremos "Create Activity" e introduciremos "agenda".
Pulsaremos "Finish":
En primer lugar crearemos el entorno visual de la aplicación, añadiremos dos cuadros de texto para
introducir el teléfono y el nombre del contacto y añadiremos tres botones: añadir contacto, llamar al
contacto y eliminar base de datos. Para ello accederemos en el Package Explorer a "res" luego a
"layout" y haremos doble click en "main.xml":
En la parte inferior de la ventana anterior, pulsando en "Graphical Layout" podremos ir viendo cómo
queda visualmente la aplicación, es una aproximación, para ver cómo quedaría en un dispositivo móvil
Android deberemos compilar la aplicación y usar el emulador. Para volver al modo edición pulsaremos
(en la parte inferior) en "main.xml". En nuestro caso hemos añadido los siguientes componentes
visuales:
•TextView: etiqueta de texto para mostrar "Introducción de datos".
•EditText: cuadro de texto para que el usuario introduzca el nombre del contacto.
•EditText: cuadro de texto para que el usuario introduzca el número de teléfono del contacto.
•Button: botón para insertar un contacto a la base de datos agenda.
•Button: botón para llamar al contacto actual, realizará una llamada telefónica al número de
teléfono actual.
•Button: botón para eliminar la base de datos completa.
•Button: botón para cerrar la aplicación.
Antes de añadir código a cada botón podremos probar cómo quedarían los componentes visuales en el
emulador (un dispositivo Android virtual, casi como si de un móvil Android físico se tratara). Sin duda
este emulador se convertirá en una herramienta fundamental para poder probar el resultado de nuestras
aplicaciones sin necesidad de estar instalándolas contínuamente en un dispositivo Android físico. Para
compilar la aplicación pulsaremos en el menú "Run" - "Run" (ó pulsando las teclas Control + F11):
En la ventana de "Run As" seleccionaremos "Android Application" y pulsaremos "OK":
Si hemos activado el emulador (como indicamos aquí) se iniciará el AVD y se ejecutará
automáticamente nuestra aplicación. En esta primera compilación los botones de "Insertar contacto",
"Llamar al contacto", "Eliminar BD" y "Cerrar aplicación" no tendrán efecto aún, pues no los hemos
programado, aunque ya podremos ver cómo va quedando nuestra aplicación en un dispositivo Android:
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.
Desde nuestra aplicación Android, añadiremos ahora el código fuente Java para cada botón que hemos
añadido en el layout, para ello abriremos el Package Explorer, pulsaremos en "sr", luego en
"agendatelefonica.agenda" (package de la aplicación) y haremos doble clic en "agenda.java":
Añadiremos el siguiente código en el fichero agenda.java:
•Definiremos el package con:
package agendatelefonica.agenda;
•A continuación declararemos los import para usar las clases Android que
necesitaremos para nuestra aplicación:
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:
//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);
}
A continuación mostramos cómo funciona nuestra aplicación de ejemplo de acceso a SQLite en
dispositivos Android. Tras abrir la aplicación, introduciremos el nombre del contacto y el teléfono y
pulsaremos en el botón "Insertar contacto":
Para realizar una llamada telefónica desde nuestro dispositovo Android pulsaremos en el botón "Llamar
al contacto", dicho botón pedirá confirmación con el mensaje "¿Desea realizar la llamada al contacto?"
si pulsaremos "Sí":
Realizará una llamada telefónica al número de teléfono del contacto:

Manual de android

  • 1.
    Tecnologias de laInformacion y Cominucacion Unidad Academica de Pinos Temas: Manual de una Aplicación en un Movil Materia: Desarrollo de Aplicaciones III Alumnos: Lorena Díaz Moreno Maestro: Eloy Contreras de Lira Grado:5 Grupo:A
  • 2.
    1.Busque mi aplicacion 2.Laimplemente en mi celular Abriremos el IDE de desarrollo Eclipse, accederemos al menú "File" - "New" - "Project": Seleccionaremos "Android" - "Android Project" y pulsaremos "Next": Introduciremos los datos del nuevo proyecto Android: Project name: AjpdSoftAgendaTelefonicaAndroid. Contents: marcaremos "Create new project in workspace" y marcaremos "Use default location". En Build Target marcaremos "Android 2.3.3".
  • 3.
    Application name: "AjpdSoftAgenda Telefonica Android". Package name: "agendatelefonica.agenda". Marcaremos "Create Activity" e introduciremos "agenda". Pulsaremos "Finish": En primer lugar crearemos el entorno visual de la aplicación, añadiremos dos cuadros de texto para introducir el teléfono y el nombre del contacto y añadiremos tres botones: añadir contacto, llamar al contacto y eliminar base de datos. Para ello accederemos en el Package Explorer a "res" luego a "layout" y haremos doble click en "main.xml": En la parte inferior de la ventana anterior, pulsando en "Graphical Layout" podremos ir viendo cómo queda visualmente la aplicación, es una aproximación, para ver cómo quedaría en un dispositivo móvil Android deberemos compilar la aplicación y usar el emulador. Para volver al modo edición pulsaremos (en la parte inferior) en "main.xml". En nuestro caso hemos añadido los siguientes componentes visuales: •TextView: etiqueta de texto para mostrar "Introducción de datos". •EditText: cuadro de texto para que el usuario introduzca el nombre del contacto. •EditText: cuadro de texto para que el usuario introduzca el número de teléfono del contacto. •Button: botón para insertar un contacto a la base de datos agenda. •Button: botón para llamar al contacto actual, realizará una llamada telefónica al número de teléfono actual. •Button: botón para eliminar la base de datos completa. •Button: botón para cerrar la aplicación.
  • 4.
    Antes de añadircódigo a cada botón podremos probar cómo quedarían los componentes visuales en el emulador (un dispositivo Android virtual, casi como si de un móvil Android físico se tratara). Sin duda este emulador se convertirá en una herramienta fundamental para poder probar el resultado de nuestras aplicaciones sin necesidad de estar instalándolas contínuamente en un dispositivo Android físico. Para compilar la aplicación pulsaremos en el menú "Run" - "Run" (ó pulsando las teclas Control + F11): En la ventana de "Run As" seleccionaremos "Android Application" y pulsaremos "OK": Si hemos activado el emulador (como indicamos aquí) se iniciará el AVD y se ejecutará automáticamente nuestra aplicación. En esta primera compilación los botones de "Insertar contacto", "Llamar al contacto", "Eliminar BD" y "Cerrar aplicación" no tendrán efecto aún, pues no los hemos programado, aunque ya podremos ver cómo va quedando nuestra aplicación en un dispositivo Android:
  • 5.
    Volveremos a nuestraaplicació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. Desde nuestra aplicación Android, añadiremos ahora el código fuente Java para cada botón que hemos añadido en el layout, para ello abriremos el Package Explorer, pulsaremos en "sr", luego en "agendatelefonica.agenda" (package de la aplicación) y haremos doble clic en "agenda.java": Añadiremos el siguiente código en el fichero agenda.java: •Definiremos el package con: package agendatelefonica.agenda; •A continuación declararemos los import para usar las clases Android que necesitaremos para nuestra aplicación: 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;
  • 6.
    import android.net.Uri; //parallamar 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"
  • 7.
    //si la inserciónes 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: //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()
  • 8.
    { public void onClick(DialogInterfacedialog, 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(); } }
  • 9.
    }); alertDialog.setNegativeButton("No", new DialogInterface.OnClickListener() { publicvoid 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 );
  • 10.
    values.put("telefono", telefono); Toast.makeText(getApplicationContext(), "Nombre:" + nombre + ", " + "teléfono: " + telefono, Toast.LENGTH_LONG).show(); return (baseDatos.insert(tablaContacto, null, values) > 0); } A continuación mostramos cómo funciona nuestra aplicación de ejemplo de acceso a SQLite en dispositivos Android. Tras abrir la aplicación, introduciremos el nombre del contacto y el teléfono y pulsaremos en el botón "Insertar contacto": Para realizar una llamada telefónica desde nuestro dispositovo Android pulsaremos en el botón "Llamar al contacto", dicho botón pedirá confirmación con el mensaje "¿Desea realizar la llamada al contacto?" si pulsaremos "Sí":
  • 11.
    Realizará una llamadatelefónica al número de teléfono del contacto: