You are on page 1of 28

UNIVERSIDAD LAICA ELOY ALFARO

DE MANAB
EXTENSIN CHONE

PROYECTO INTEGRADOR PROGRAMACION MOVIL


TEMA:
REGISTROS DE DATOS
UNIVERSITARIOS
DOCENTE:
ING. LEONARDO ARTEAGA PAZ

INTEGRANTES:
-BRAVO ZAMBRANO JAIME RUBEN
- MERA SANTOS NERY JAVIER
-ZAMBRANO BRAVO GENESIS FERNANDA

CARRERA DE INGENIERA EN SISTEMAS


CUARTO SEMESTRE B
AO EDUCATIVO:
2015 - 2016

TEMA
REGISTROS DE DATOS UNIVERSITARIOS
El desarrollo de aplicaciones Android en la actualidad est cada vez ms creciendo en el campo
profesional y en nuestro caso en el campo como estudiantes.
Como tema para la sustentacin del Proyecto Integrador de Programacin Mvil hemos escogido el
tema REGISTROS DE DATOS UNIVERSITARIOS, est basado en la creacin de una aplicacin

android para mvil que nos ayude a ingresar datos de estudiantes para facilitarnos un poco ms en el
momento de tener datos ingresados de los estudiantes de una universidad.

DESCRIPCIN DEL PROYECTO INTEGRADOR


Cuando abrimos la aplicacin android nos encontramos con diferentes EditText entre ellos tenemos, el
ingreso del nmero de cedula del Estudiante, Nombre completo del estudiante, fecha de nacimiento
del estudiante, Ciudad donde vive el estudiante, Sexo si es hombre o mujer y si trabaja.
En la parte inferior tenemos un botn llamado Registrar hacemos clic hay y registramos el estudiante
ingresado, a los lados de este botn tenemos otro botn llamado Guardados hay encontramos todos
los registros universitarios que ya hemos guardado, aqu podremos tener guardados los registros
ingresados, as para cuando deseemos buscar ya tener archivados nuestros estudiantes, estos
registros sern guardarlos en una base de datos llamada

SQLiteDatabase, al abrir un registro que

deseemos ver, nos aparece la opcin Nuevo que este nos lleva a ingresar un nuevo registro, tambin
encontramos una opcin Eliminar que nos permite eliminar el registro si ya no lo deseamos y la
opcin Ver registros universitarios que nos permite regresar al registro de los estudiantes ingresados,
contamos con un botn llamado Limpiar nos permite limpiar por si estemos ingresando mal los datos

y finalmente tiene una t opcin de Salir, para salir rpidamente de la aplicacin cuando ya no
deseemos estar en ella.

PREPARACIN DEL AMBIENTE DE DESARROLLO ANDROID


Para la realizacin de una aplicacin Android tenemos que tener en el ambiente de desarrollo
instalado en nuestra computadora los siguientes programas:

Java.

Eclipse (Eclipse IDE for Java Developers).

Android SDK.

Android JDK

Eclipse Plug-in (Android Development Tools - ADT)

Eclipse resulta el entorno de desarrollo ms recomendable para Android, es libre y adems es


soportado por Google (ha sido utilizado por los desarrolladores de Google para crear Android). Puedes
utilizar cualquier versin de Eclipse a partir de la 3.3.1.
Para instalar Eclipse hay que seguir los siguientes pasos:
1. Accede a la pgina http://www.eclipse.org/downloads/ y descarga la ltima versin de Eclipse IDE
for Java Developers. Vers que se encuentra disponible para los sistemas operativos ms utilizados,
como Windows, Linux y Mac OS.
2. Este software no requiere una instalacin especfica, simplemente descomprimir los ficheros en la
carpeta que prefieras. Si as lo deseas puedes crear un acceso directo en el escritorio o en el men
inicio del ficheroeclipse.exe.

NOTA: Si al ejecutar Eclipse te aparece el siguiente mensaje:

Nos indica que no tenemos instalada la mquina virtual Java (o la versin no es la adecuada). Para
solucionarlo regresa al punto anterior.
3. Al arrancar Eclipse comenzar preguntndonos que carpeta queremos utilizar como workspace. En
esta carpeta sern almacenados los proyectos que crees en Eclipse. Es importante que conozcas su
ubicacin para poder hacer copias de seguridad de tus proyectos.

4. Aparecer una ventana de bienvenida. Cirrala y pega un vistazo al entorno de desarrollo.

Instalar Android SDK de Google

El siguiente paso va a consistir en instalar Android SDK de Google.


Instalacin de Android SDK
1. Accede a la siguiente pgina http://developer.android.com/sdk y descarga el fichero correspondiente
a tu sistema operativo.
2. Este software no requiere una instalacin especfica, simplemente descomprimir los ficheros en la
carpeta que prefieras.
NOTA: En algunos sistemas tendremos problemas cuando la ruta donde se descomprime los ficheros
contiene un espacio en blanco.
3. Ejecuta el programa SDK Manager.
4. Seleccionar los paquetes a instalar. Aparecer una ventana donde podremos seleccionar los
paquetes a instalar. Si lo deseas puedes instalar todos los paquetes (Accept All), en este caso el
proceso de instalacin puede tardar ms de una hora. Si no dispones de tanto tiempo puedes

seleccionar solo algunos paquetes. Siempre resulta interesante instalar la ltima versin de Android
(incluyendo documentacin, ejemplos y por supuesto la plataforma). Ms adelante podrs instalar ms
paquetes si necesitas otras plataformas de desarrollo u otras mquinas virtuales.
Instalacin del plug-in Android para Eclipse (ADT)
El ltimo paso consiste en instalar el plug-in Android para Eclipse, tambin conocido como ADT. Este
software desarrollado por Google, instala una serie de complementos en Eclipse, de forma que el
entorno de desarrollo se adapte al desarrollo de aplicaciones para Android. Se crearn nuevos
botones, tipos de aplicacin, vistas,... para integrar Eclipse con el Android SDK que acabamos de
instalar.
Instalacin del plug-in Android para Eclipse (ADT)
Para instalar el plug-in Android sigue los siguientes pasos:
1. Arranca Eclipse y selecciona Help>Install New Software...
2. En el dilogo Available Software que aparece, haz clic en Add En el cuadro de dilogo Add
Site que sale introduce un nombre para el sitio remoto (por ejemplo, Plug-in Android) en el
campo Name. En el campoLocation, introduce la siguiente URL:
http://dl-ssl.google.com/android/eclipse/
NOTA: Si tienes algn problema en adquirir el plug-in, puedes intentar utilizar https en el URL en vez
de http. Finalmente pulsa OK.
Ahora en el cuadro Available Software debe aparecer Developer Tools:

3. Selecciona

los paquetes a

instalar y pulsa

Next.

aparecen

listadas

caractersticas

de

DDMS

Android

Development

Tools.

4. Pulsa

Next

para

aceptar

la

Ahora
las

Android

leer

licencia

y
e

instalar cualquier dependencia y pulsa Finish.


5. Reinicia Eclipse.
6. Configura Eclipse para que sepa donde se ha instalado Android SDK. Para ello entra en las
preferencias en Windows>Preferences y selecciona Android del panel de la izquierda. Ahora
pulsa Browse para selecciona el SDK Location y elige la ruta donde hayas descomprimido Android
SDK. Aplica los cambios y pulsa OK.

Creacin de un dispositivo virtual Android (AVD)


1.

Abre Eclipse y pulsa en el botn Android Virtual Device Manager Te aparecer la lista con los

AVD que hayas creado. La primera vez estar vaca.


2.

Pulsa a continuacin el botn New... para crear un nuevo AVD. Aparecer la siguiente ventana:

Donde tendremos que introducir los siguientes datos:


AVD Name: Nombre que quieras dar al nuevo dispositivo virtual.
Device: Dispositivo a emular. Puede ser uno real, como Nexus 7 o bien uno genrico, donde se indica
el tamao de la pantalla en pulgadas y la resolucin del dispositivo. Podrs seleccionar el dispositivo
de una lista desplegable. NOTA: Si quieres crear nuevos tipos de dispositivo utiliza la pestaa Device
Definition que encontrars en la lista de dispositivos.
Target: versin SDK que soportar el dispositivo. Solo aparecern las versiones que hayas instalado
desde el Android SDK Manager.
CPU/ABI: Tipo de CPU y arquitectura que se va a emular. A tener en cuenta si se va a trabajar en
cdigo nativo. La opcin ms habitual es ARM.
Keyboard: Si se selecciona se supondr que el dispositivo tiene teclado fsico, que ser emulado por
el teclado del ordenador. En caso contrario se utilizar el teclado en pantalla.
Skin: Si se selecciona se mostrarn a la derecha del dispositivo una serie de botones, entre los que se
incluyen: volumen, on/off, teclas de navegacin, retorno, casa, men, etc.
Front/Back Camera: Para activar la emulacin de la cmara delantera y trasera.
Memory Options: Memoria que se dedicar al emulador. RAM: memoria total en MB. VM Heap:
Memoria dinmica asignada a la mquina virtual en MB.
Internal Storage: Memoria interna del dispositivo. Determinar el nmero de aplicaciones y datos que
podrs instalar. Cuidado, esta memoria se reservar en tu disco duro, por lo que no es conveniente
indicar un valor demasiado grande.

SD Card: Memoria externa del dispositivo. Size: tamao de la memoria. Esta crear un nuevo
fichero. File: se utilizar un fichero previamente creado.
Snapshot: Si lo seleccionas podrs congelar la ejecucin del dispositivo en un determinado instante.
Ms tarde, podrs retomar la ejecucin en este instante, sin tener que esperar a que se inicialice el
dispositivo. Conviene marcarlo para conseguir una carga ms rpida.
Use Host GPU: Se habilita la emulacin hardware para grficos OpenGLES. Su navegacin entre
ventanas ser ms fluida.

Aparecer la ventana Launch Options:


Puedes ejecutarlo en una ventana de 480x800 pixels, o por el contrario, reescalarlo para que tenga un
tamao de 5,1 pulgadas en tu pantalla (Scale display to real size). Tambin puede limpiar los datos de
usuario (Wipe user data). Finalmente, puedes arracar desde un punto de ejecucin grabado e indicarle
que cuando se cierre congele la ejecucin para poder recargar en este mismo punto.
Pulsa el botn Launch para arrancarlo.

NOTA: El emulador mostrado no est previsto para duplicar un dispositivo en particular, sino para
tratar algunas de las caractersticas principales. Algunas caractersticas de hardware no estn
disponibles en el emulador, por ejemplo, el multi-touch o los sensores.

FASE DE ANLISIS
Existen una serie de elementos clave que resultan imprescindibles para desarrollar aplicaciones en
Android. En este apartado vamos a realizar una descripcin inicial de algunos de los ms importantes
que necesitamos para la realizacin de nuestra aplicacin.
Vista (View)
Las vistas son los elementos que componen la interfaz de usuario de una aplicacin. Son por ejemplo,
un botn, una entrada de texto, Todas las vistas van a ser objetos descendientes de la clase View, y
por tanto, pueden ser definidos utilizando cdigo Java. Sin embargo, lo habitual va a ser definir las
vistas utilizando un fichero XML y dejar que el sistema cree los objetos por nosotros a partir de este
fichero. Esta forma de trabajar es muy similar a la definicin de una pgina web utilizando cdigo
HTML.

Layout
Un Layout es un conjunto de vistas agrupadas de una determinada forma. Vamos a disponer de
diferentes tipos de Layouts para organizar las vistas de forma lineal, en cuadrcula o indicando la
posicin absoluta de cada vista. Los Layouts tambin son objetos descendientes de la clase View.
Igual que las vistas los Layouts pueden ser definidos en cdigo, aunque la forma habitual de definirlos
en utilizando cdigo XML.
Actividad (Activity)
Una aplicacin en Android va a estar formada por un conjunto de elementos bsicos de visualizacin,
coloquialmente conocidos como pantallas de la aplicacin. En Android cada uno de estos elementos, o
pantallas, se conoce como actividad. Su funcin principal es la creacin del interfaz de usuario. Una
aplicacin suelen necesitar varias actividades para crear el interfaz de usuario. Las diferentes
actividades creadas sern independientes entre s, aunque todas trabajarn para un objetivo comn.
Toda actividad ha de pertenecer a una clase descendiente de Activity.
Servicio (Service)
Un servicio es un proceso que se ejecuta detrs, sin la necesidad de una interaccin con el usuario.
Es algo parecido a un demonio en Unix o a un servicio en Windows. En Android disponemos de dos
tipos de servicios: servicios locales, que pueden ser utilizados por aplicaciones del mismo terminal y
servicios remotos, que pueden ser utilizados desde otros terminales. Los servicios son estudiados en
el CAPTULO 8.
Intencin (Intent)
Una intencin representa la voluntad de realizar alguna accin; como realizar una llamada de telfono,
visualizar una pgina web. Se utiliza cada vez que queramos:

lanzar una actividad

lanzar un servicio

lanzar un anuncio de tipo broadcast

Comunicarnos con un servicio

Los componentes lanzados pueden ser internos o externos a nuestra aplicacin. Tambin
utilizaremos las intenciones para el intercambio de informacin entre estos componentes.
Receptor de anuncios (Broadcast receiver)

Un receptor de anuncios recibe y reacciona ante anuncios de tipo broadcast. Existen muchos
originados por el sistema; como por ejemplo Batera baja, llamada entrante,... Aunque, las

aplicaciones tambin puede lanzar un anuncio broadcast. No tienen interfaz de usuario, aunque
pueden iniciar una actividad para atender a un anuncio.
Proveedores de Contenido (Content Provider)
La comparticin de informacin entre telfonos mviles resulta un tema vital. Android define un
mecanismo estndar para que las aplicaciones puedan compartir datos sin necesidad de comprometer
la seguridad del sistema de ficheros. Con este mecanismo podremos acceder a datos de otras
aplicaciones, como la lista de contactos, o proporcionar datos a otras aplicaciones. Los Content
Provider son estudiados en el 0.

FASE DE DISEO
El diseo de base de datos que realizamos es el siguiente:

FASE DE CONSTRUCCIN
Para el desarrollo de nuestra aplicacin android nos vamos en el iono res de ah a Layout y
activity_main.xml

Tenemos dos ventanas de desarrollo Graphical Layout y activity_main.xml


En Graphical Layout est el diseo de nuestra aplicacin desde aqu podemos cambiar el color a
nuestros botones, insertar imgenes, etc., todo lo que deseemos disearle a nuestra aplicacin.

En activity_main.xml tenemos la codificacin de nuestra aplicacin aqu creamos los botones, los
TextView y los EditText.
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/ic_logou"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/lbCedula"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/strCedula" />
<EditText
android:id="@+id/txtCedula"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"

android:inputType="textPersonName"
android:ems="10"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/lbTitle"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/strName" />
<EditText
android:id="@+id/txtName"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="textPersonName" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/lbFechaNac"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/strFechaNac" />
<TextView
android:id="@+id/txtFechaNac"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/strfecha"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/lbPais"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Ciudad" />
<Spinner
android:id="@+id/sPaises"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
<LinearLayout

android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/lbPai"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/strSexo" />
<RadioGroup
android:id="@+id/gpSexo"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1" >
<RadioButton
android:id="@+id/rMan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:checked="true"
android:text="@string/strMan" />
<RadioButton
android:id="@+id/rWoman"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/strWoman" />
</RadioGroup>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/lbSpeak"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Trabaja" />
<CheckBox
android:id="@+id/chIdioma"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/strSi" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/btnRegistrar"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#D9D2D2"
android:drawableRight="@drawable/registrar1"

android:text="@string/strReg" />
<Button
android:id="@+id/btnRegistros"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#D9D2D2"
android:drawableRight="@drawable/lupa1"
android:text="Guardados" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<Button
android:id="@+id/btnCancelar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#2BC5D3"
android:drawableRight="@drawable/salir1"
android:text="Salir" />
<Button
android:id="@+id/btnLimpiar"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_gravity="start"
android:background="#877087"
android:drawableRight="@drawable/limpiar2"
android:text="Limpiar" />
</LinearLayout>
</LinearLayout>

MainActivity.java
package com.chone.uleam;
//
import java.util.Calendar;
import com.chone.uleam.db.SQLite;
//
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.app.DatePickerDialog;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;

import android.widget.CheckBox;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener{
//Variables para fecha
private int mYear;
private int mMonth;
private int mDay;
//
private TextView txtFechaNac;
private EditText txtName;
private Spinner sPaises;
private Button btnRegistrar;
private Button btnLimpiar;
private Button btnCancelar;
private Button btnRegistros;
private CheckBox chIdioma;
private RadioGroup radioGroup;
//
private SQLite sqlite;
//DatePickerDialog
private DatePickerDialog.OnDateSetListener mDateSetListener =
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int
dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDay = dayOfMonth;
txtFechaNac.setText( ((mDay<10)?"0"+mDay:mDay) + "/" +
((mMonth<10)?"0"+mMonth:mMonth) + "/" + mYear );
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//
chIdioma = (CheckBox) findViewById( R.id.chIdioma );
txtName = (EditText) findViewById( R.id.txtName );
btnRegistrar = (Button) findViewById(R.id.btnRegistrar );
btnRegistrar.setOnClickListener( this );
btnCancelar = (Button) findViewById(R.id.btnCancelar );
btnCancelar.setOnClickListener( this );

btnRegistros = (Button) findViewById(R.id.btnRegistros );


btnRegistros.setOnClickListener( this );
btnLimpiar = (Button) findViewById(R.id.btnLimpiar);
btnLimpiar.setOnClickListener( this );
radioGroup = (RadioGroup) findViewById( R.id.gpSexo );
txtFechaNac = (TextView) findViewById(R.id.txtFechaNac );
txtFechaNac.setOnClickListener( this );
//Se llena el Spinner con los nombres de ciudades
String[] ciudades = getResources().getStringArray(R.array.paises);
sPaises = (Spinner) findViewById(R.id.sPaises );
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_dropdown_item, ciudades );
sPaises.setAdapter(adapter);
//Obtiene fecha actual y coloca en el textview
Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
//muestra la fecha de la forma 00/00/0000
txtFechaNac.setText( ((mDay<10)?"0"+mDay:mDay) + "/" + ((mMonth<10)?"0"+mMonth:mMonth)
+ "/" + mYear );
//base de datos
sqlite = new SQLite( this );
sqlite.abrir();
//
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View v) {
switch ( v.getId() )
{
case R.id.btnRegistrar:
int radioButtonID = radioGroup.getCheckedRadioButtonId();
View radioButton = radioGroup.findViewById( radioButtonID );
int index = radioGroup.indexOfChild( radioButton );
//Registra en la base de datos
if ( sqlite.addRegistro (
txtName.getText().toString(),
txtFechaNac.getText().toString(),
sPaises.getSelectedItem().toString(),
( index == 0)?"Hombre":"Mujer",
( chIdioma.isChecked() )?"Si":"No" ) )
{
//recupera ID de ultimo registro y pasa como parametro
int id = sqlite.getUltimoID();
Bundle bundle = new Bundle();
bundle.putInt("id", id);

Intent intent = new Intent( MainActivity.this, RegistroActivity.class );


intent.putExtras( bundle );
startActivity( intent );
}
else
{
Toast.makeText(getBaseContext(), "Error: Campo Vacio"
,Toast.LENGTH_SHORT).show();
}
break;
case R.id.btnCancelar: sqlite.cerrar(); finish(); break;
case R.id.btnRegistros:
Intent iRegs = new Intent( MainActivity.this, RegistrosActivity.class );
startActivity( iRegs );
break;
case R.id.txtFechaNac: verDatePicker(); break;
case R.id.btnLimpiar:
txtName.setText("");
break;
}
}
/**
* Metodo para mostrar un DatePickerDialog
* */
public void verDatePicker()
{
DatePickerDialog d = new DatePickerDialog( this , mDateSetListener, mYear, mMonth,
mDay );
d.show();
}
}

RegistroActivity.java
package com.chone.uleam;
import java.util.ArrayList;
import com.chone.uleam.db.SQLite;
//
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.view.Menu;

import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class RegistroActivity extends Activity implements OnClickListener {
//
private TextView textView;
private Button btnNuevo;
private Button btnDelete;
private Button btnLista;
private SQLite sqlite;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_registro);
//
textView = (TextView) findViewById( R.id.txtResultado );
btnNuevo = (Button) findViewById( R.id.btnNuevo );
btnDelete = (Button) findViewById( R.id.btnDelete );
btnLista = (Button) findViewById( R.id.btnLista );
btnNuevo.setOnClickListener( this );
btnLista.setOnClickListener( this );
btnDelete.setOnClickListener( this );
textView.setTextSize(28);
//Recupera parametro ID de registro
textView.setText( "" );
Intent i = getIntent();
Bundle bundle = i.getExtras();
if ( bundle != null ) {
int id = bundle.getInt("id");
//base de datos
sqlite = new SQLite( this );
sqlite.abrir();
Cursor cursor = sqlite.getRegistro(id);
ArrayList<String> reg = sqlite.getFormatListUniv(cursor);
textView.setText( reg.get(0) );
}
//
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.registro, menu);
return true;
}
@Override
public void onClick(View v ) {
switch ( v.getId() )
{
case R.id.btnNuevo:

Intent iMain = new Intent( RegistroActivity.this, MainActivity.class );


startActivity( iMain );
break;
case R.id.btnDelete:
//Muestra una ventana de dialo para confirmar eliminacion de registro
new AlertDialog.Builder(this)
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle("Eliminar")
.setMessage("Seguro desea eliminar este registro?")
.setPositiveButton("Si", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//Se extrae el ID = [X]
int posicionInicial = textView.getText().toString().indexOf("[") +
1;
int posicionFinal =
textView.getText().toString().indexOf("]",posicionInicial);
String resultado =
textView.getText().toString().substring(posicionInicial, posicionFinal);
//Elimina registro y abre activity RegistrosActivity.class
if(sqlite.borrar_registro( Integer.valueOf(resultado) ))
{
goRegistrosActivity();
}
}
})
.setNegativeButton("No", null)
.show();
break;
case R.id.btnLista:
goRegistrosActivity();
break;
}
}
/**
* Abre nueva Acivity = RegistrosActivity
* */
public void goRegistrosActivity()
{
Intent iRegs = new Intent( RegistroActivity.this, RegistrosActivity.class );
startActivity( iRegs );
}
}

RegistrosActivity.java
package com.chone.uleam;

import java.util.ArrayList;
import com.chone.uleam.db.SQLite;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class RegistrosActivity extends Activity implements OnItemClickListener{
//
private ListView listView;
private ArrayAdapter<String> adaptador ;
private SQLite sqlite;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_registros);
//
listView = (ListView) findViewById( R.id.lstRegistros );
//Abre conexion a sqlite
sqlite = new SQLite( this );
sqlite.abrir();
//obtiene registros e imprimir en el listview
Cursor cursor = sqlite.getRegistros();
ArrayList<String> listData = sqlite.getFormatListUniv( cursor );
adaptador = new ArrayAdapter<String>( this ,android.R.layout.simple_list_item_1 ,
listData );
listView.setAdapter( adaptador );
listView.setOnItemClickListener( this );
if( listData.size()== 0 )
{
Toast.makeText(getBaseContext(), "No existen registros"
,Toast.LENGTH_SHORT).show();
}
//
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.registros, menu);
return true;
}

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//
Object object = listView.getItemAtPosition( position );
//Se extrae el ID = [X]
int posicionInicial = object.toString().indexOf("[") + 1;
int posicionFinal = object.toString().indexOf("]",posicionInicial);
String resultado = object.toString().substring(posicionInicial, posicionFinal);
//ejecuta nueva actividad
Bundle b = new Bundle();
b.putInt("id", Integer.valueOf(resultado) );
Intent iRegs = new Intent( RegistrosActivity.this, RegistroActivity.class );
iRegs.putExtras(b);
startActivity( iRegs );
}
}

CONCLUSION
Una vez terminada la aplicacin y despus de analizar los resultados obtenidos, se obtienen las
siguientes conclusiones.
En primer lugar, cabe destacar que se han alcanzado todos los objetivos propuestos. Se han
conseguido desarrollar una aplicaciones que haciendo uso del Android SDK Y JDK ha resultado muy
satisfactoria, creo que nos ha ayudado aprender en la creacin de una aplicacin que nos permita
guardar Datos en de aplicaciones para dispositivos mviles, as poco a poco vamos a ir aprendiendo
ms conocimientos eh ir realizando ms aplicaciones ya que si y se pueden obtener unos jugosos
beneficios colocndola en el mercado de aplicaciones de Android.
A partir de este proyecto se abren varias lneas de investigacin o desarrollo, podra servir para
aprender cmo realizar aplicaciones y empezar el desarrollo de una gran aplicacin con unas bases
establecidas muy extensas o bien se podra continuar alguna de las aplicaciones propuestas, el
reproductor multimedia es muy funcional, pero dentro de esa funcionalidad se podran aadir nuevos
apartados sin que la simplicidad desaparezca.

ANEXOS
INTEGRANTES DEL GRUPO REALIZANDO LA
APLICACIN.

DESARROLLANDO LA APLICACIN

You might also like