You are on page 1of 9

INFORME ACERCA DEL PROYECTO DE TOPICOS DE SISTEMAS OPERATIVOS 2001-1

CAPITULO I: GENERALIDADES
Nombre del Proyecto: Desarrollo de una App AGENDROID para Android OS Descripcin General del Proyecto: En el presente proyecto se pretende dar a conocer los pasos para el desarrollo de una APP en Android OS, llamada Agendroid. Esta aplicacin utiliza el framework de SQLite que nos ofrece herramientas para manipular una base de datos que almacenar la informacin de los contactos. Con estas herramientas podremos implementar las diferentes funciones inherentes de una agenda como agregar, modificar y eliminar contactos. Seguiremos el diseo del ciclo de vida del presente software que ser detallado mas adelntate en la cual seguiremos las etapas de iniciacin, elaboracin, construccin, y transicin la cual ser definida como la etapa final. Objetivo General del Proyecto: Desarrollar una APP para Android OS usando el framework de SQL. Objetivos Especficos del Proyecto: Definir los requerimientos y el tipo de pruebas para la APP para Android Agenda. Disear la arquitectura de la APP para Android Agenda Ejecutar las Pruebas definidas Anteriormente. Instalar la APP Agenda en un dispositivo mvil.

CAPITULO II: MARCO TERICO REFERENCIAL


SQLite: Es una Base de Datos Relacional para sistemas embebidos que ocupa nicamente unos 225KB. No se trata de un proceso, sino de una librera que se aade dinmicamente a las aplicaciones que quieren utilizar SQLite. Implementa la mayor parte del estndar SQL-92 pero con restricciones, con soporte ALTER_TABLE limitado y las columnas no tienen tipos. Lo utilizan la mayora de plataformas mviles como iOS, Android o Backberry [URL01].

En Android SQLite es parte de las libreras Nativas, como se muestra en la figura:

Figura 2-1 Pila detallada de Android OS [Hashimi, 2010] Componentes Fundamentales de una Aplicacin hecha en Android: A continuacin una breve definicin de los componentes utilizados para crear una App en Android OS [Hashimi, 2010]: View: Las views son interfaces de usuario (IU) que forman los bloques bsicos de construccin de una interfaz de usuario. Las views podran ser un botn o una etiqueta o un campo de texto o un montn de elementos de una interfaz de usuario. Ativity: Una activity es un concepto de interfaz de usuario. Por lo general, contiene uno o ms views. Intent: Un intent generalmente define una intencin de hacer algo. Los intents encapsulan varios conceptos. Se puede utilizar los intent para: o Enviar un mensaje. o Comenzar un servicio. o Llamar a un activity. o Mostrar una pagina web o una lista de contactos. o Llamar a un nmero telefnico o responder a una llamada. Los intent no siempre son iniciados por una aplicacin, tambin son utilizados por el sistema para notificar a la aplicacin de los acontecimientos especficos (por ejemplo, la llegada de un mensaje de texto). AndroidManifest.xml: Define los contenidos y comportamiento de la aplicacin. Android Virtual Devices: Un Android Virtual Device (AVD) permite a los desarrolladores hacer pruebas de su aplicacin antes de ponerla en un telfono

Android. AVDs pueden ser creados con diferentes configuraciones para emular diferentes tipos de telfonos reales.

CAPITULO III: DESARROLLO


Ciclo de Vida de la App:

Figura 3-1 Ciclo de vida de la App Iniciacin: La idea de desarrollar una Aplicacin para la plataforma Android usando el framework de SQLite nace con la intencin de mostrar las caractersticas bsicas de este Manejador de Base de Datos, en una arquitectura de bajos recursos como lo es un dispositivo mvil. Elaboracin: o Requisitos: - La agenda debe poder mostrar, agregar, actualizar y eliminar contactos. - Se debe poder realizar llamadas a dichos contactos. Pruebas: - Se realizarn pruebas de validacin de teclado. - Los campos de texto para los nmeros telefnicos solo deben aceptar dgitos. - Los campos de texto para el nombre solo deben aceptar caracteres alfabticos. - Los campos de texto de correo electrnico deben aceptar caracteres alfanumricos.

Arquitectura: A partir de los requisitos hemos diseado la siguiente arquitectura para la aplicacin:

Agregar Contacto
TextNombre: EditText TextTelefono: EditText TextCorreo: EditText butGuardar: Button baseDatos: SQLiteDatabase TAG: String nombreBD: String tablaContacto: String crearTablaContacto: String onCreate(Bundle savedInstanceState): void abrirBasedatos():void insertarFila(String nombre, String telefono, String correo): boolean

Principal
bd: SQLiteDatabase botagregar: Button botCerrar: Button lstMostrar: ListView posicin: int lista: ArrayList<String> usuario: String telfono: String mostrarContactos: String crearTablaContacto: String c: Cursor a: Cursor onCreate(Bundle savedInstanceState): void onCreateOptionsMenu(Menu menu): boolean onOptionsItemSelected(MenuItem item): boolean

Actualizar
Bd: SQLiteDatabase TextNombreA: EditText TextTelefonoA: EditText TextCorreoA: EditText botActualizar: Button crearTablaContacto: String c: Cursor onCreate(Bundle savedInstanceState): void

Construccin: Diseo de Interfaces: Main.xml

Figura 3-2: Interfaz main.xml Agregar.xml

Figura 3-3: Interfaz agregar.xml

Actualizar.xml

Figura 3-4: Interfaz actualizar.xml Luego de realizar el diseo de interfaces hemos de implementar las clases propuestas: Principal: En esta clase lo que se hace es mostrar la interfaz main.xml (Figura 3-2) con la lista de contactos (si los hubiera, en otro caso vaca con los botones Agregar y Cerrar). El botn Agregar de dicha interfaz lo que hace es mostrar la interfaz de la activity AgregarContacto, la cual veremos ms adelante. La interfaz tambin contiene un listview a travs del cual se muestran los contactos almacenados en la Base de Datos llamada agenda, uno sobre el otro, como se ve en la Figura 3-2.

Figura 3-5: Muestra de la Base de Datos agenda en el emulador de Android Este llenado del listview se hace a travs de un llamado a una sentencia SQL, de la siguiente manera:
bd.rawQuery(mostrarContactos, null);

mostrarContactos contacto".

Donde

es

igual

"SELECT

nombre

FROM

El botn Cerrar que es el que finaliza la aplicacin. Tambin en main.xml, al presionar la tecla men del dispositivo mvil se muestra un men (menutel.xml)

Figura 3-6: Men Este men tiene 3 funciones: llamar, actualizar y eliminar. o Llamar: Lo que hace esta opcin es activar la intencin de llamada a travs de un Intent, al seleccionar un contacto a travs de teclado:
Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(number))

Donde number es el telfono del contacto puesto de la siguiente manera:


number = "tel:" + telefono.toString().trim();

Abriendo luego la activity del Intent:


startActivity(callIntent);

Figura 3-7: callintent activity

Actualizar: Llama a la activity Actualizar pasndole como parmetro el nombre del contacto seleccionado:
actualizar.putExtra("nombre", lista.get(posicion).toString());

Eliminar: Esta opcin lo que hace es eliminar un contacto de la Base de Datos con la siguiente sentencia SQL:
bd.execSQL("DELETE FROM contacto WHERE nombre='"+nombre+"'");

AgregarContacto: Lo que hace esta activity es llamar a la interfaz agregar.xml (Figura 3-3), la cual nos permite ingresar los datos del contacto: Nombre, Telfono y Correo Electrnico. Al presionar la tecla guardar de esta activity se ejecuta la siguiente sentencia SQL para almacenar los datos en la Base de Datos:
baseDatos.insert(tablaContacto, null, values)

Donde values es un tipo Content que contiene las variables de nombre, telfono y correo:
values.put("nombre",nombre ); values.put("telefono", telefono); values.put("correo", correo);

Actualizar: Esta activity permite actualizar los datos del contacto seleccionado. Como ya se dijo anteriormente recibe como parmetro el nombre de contacto con el cual busca los datos de este en la Base de Datos:
bd.rawQuery("SELECT * FROM contacto WHERE nombre='"+TextNombreA.getText().toString()+"'", null);

Estos datos son almacenados en una variable tipo Cursor, que se asemeja al Resultset de Java, y son mostrados en los EditText de la interfaz. Luego podemos modificar estos datos (a excepcin del nombre) a nuestro antojo, y al presionar el botn Actualizar Contacto quedarn estos cambios guardados en la Base de Datos a travs de la sentencia SQL:
bd.execSQL("UPDATE contacto SET telefono='"+TextTelefonoA.getText().toString()+"',correo='" +TextCorreoA.getText().toString()+"' WHERE nombre='"+TextNombreA.getText().toString()+"'");

CAPITULO IV: REFERENCIAS BIBLIOGRAFICAS


[Hashimi, 2010] Sayed Y. Hashimi, Satya Komatineni, and Dave MacLean, Pro Android 2 . Nueva York, Estados Unidos. [URL01] cursopudeandroid.googlecode.com/files/DayFive.pdf

CAPITULO IV: CONCLUSIONES y RECOMENDACIONES Se ha logrado hacer buen uso de las herramientas SQLite contenidas en el framework de Android, logrando implementar con xito la aplicacin propuesta como proyecto de este curso, demostrando as la facilidad de desarrollar aplicaciones para la plataforma Android. Una recomendacin para trabajos futuros es la implementacin de una herramienta de bsqueda de contactos ya que ese punto no ha sido tomado en el desarrollo de esta app.

You might also like