Desarrollo de App Android(001) para dispositivos móviles
Practica 001 (julio 2015)
Ing. Honoria Reyes Macedo
Ing. Honoria Reyes Macedo
Herramientas:
IDE: Android Studio
Lenguaje de
Programación: Java
Sistema Operativo:Android
------------------------------------- ---------------------------------------- ------------------------------------
INTRODUCCION
Programar
en Android involucra utilizar components como:
Activity(Interfaz
de la aplicación),
Intents(Invocar actividades y servicios, paso de mensajes para realizar acciones),
Services(Ejecutados
en segundo plano, operaciones de larga duración o procesos remotos),
Content
Providers(Gestionar datos para compartir ),
Broadcast receivers(Para responder
a anuncios broadcast de sistema),
Notifications(eventos de o para el usuario).
Nota: Crear un Activity es crear una Interfaz(.xml)
Al crear una interfaz (.xml) se genera su
archivo clase(.class):
- Crear
un Activity, debe ser en la carpeta del proyecto res/layout/
-a) Se genera un archivo .class en la carpeta java/
Esta clase deberá heredar de Activity ( extends Activity)
Confirmar el uso de las clases en el archivo AndroidManifest.xml
a)
Duplicar el bloque de <Activity>
b)
Cambiar el nombre de la clase por la nueva clase generada
c)
En category en lugar de LAUNCHER (indica clase principal), poner Default
- Nota: no siempre los .class tendrán su
archivo .xml
El
Paquete Instalador al final del desarrollo, contendrá la compilación generada +
datos + recursos: los guarda en un APK
SECCION DE INSTALACION DE ANDROID STUDIO
1.-
Instalar JDK de java
- Ejecutar el instalador
- Dar de alta la variable de ambiente JAVA_HOME
y poner en el valor: la ruta donde se instaló la carpeta bin “C:\Program
Files\Java\jdk1.7.0_79\bin”
2.-
Instalar el IDE(Integrated Developer Environment) de Android
- Instalar Android Studio
- Dar de alta la variable de ambiente JDK_HOME
y poner en el valor: la ruta donde se instaló la carpeta bin “C:\Program
Files\Java\jdk1.7.0_79\bin”
SECCION DE INTERFAZ (XML) y SU CLASE (CLASS)
1.-
Crear un nuevo proyecto “AppCatalogos”
a) File + New Project
- Poner el
nombre ”AppCatalogos” (Observar los
datos que pone en las líneas siguientes)
Observar
que por default va a crear:
1) Una clase à MainActivity.java
2) Una interfaz à activity_main.xml
3) Le pone un titulo à “MainActivity”
4) Y crea un menú à menu_main.xml
Para terminar seleccionar
finish
Los archivo los dejara organizados de la siguiente manera:
Nota: Observa en la
siguiente imagen que el archivo actvity_main.xml hace referencia al contexto
del archivo MainActivity.java
Nota: Observa en la
siguiente imagen que el archivo
MainActivity en su método onCreate()
enlaza a la interfaz activity_main.xml
b) Verificar las siguientes
configuraciones en el proyecto creado
Nota: Esta es la pantalla que aparece cuando seleccionas SDK Manager, en el que podras descargar las diferentes versiones de android para desarrollo, y acelerar el hardware.
-
Para estar verificando si el projecto tiene errores
a) Se visualiza con el
compilador Gradle
c) En caso de utilizar un celular
conectado a la computadora en lugar de un emulador
- En el menú Tools+ Android + Enable ADB Integration (Android Debug Bridge), nos permite comunicar el dispositivo móvil android con la computadora
- En
el celular seleccionar en Ajustes àAcerca
de + Informacion del Software + Número
de compilación à Al dar click aparece “Ya eres un Desarrollador”
- Activar
en Ajustes + Opciones del desarrollador + Depuración de USB
- Listo,
ya puedes conectar el celular a la computadora,
2.- Crear
el siguiente archivo strings.xml
- en la carpeta app/res/values/
- en la carpeta app/res/values/
3.-
Crear un activity InsertaAlumno
- En la carpeta app/res/layout/
- En la carpeta app/res/layout/
- Verifica el archivo
InsertaAlumno.class que se genera en app/java/
- (se genera activity_inserta_alumno.xml es la interfaz y se genera un archivo
InsertaAlumno.class).
- (se genera activity_inserta_alumno.xml es la interfaz y se genera un archivo
InsertaAlumno.class).
4.- En el activity_main.xml
- Poner El nombre de tu Proyecto y Bienvenida (En modo diseño)
- Poner El nombre de tu Proyecto y Bienvenida (En modo diseño)
5.-
Crear un menú
- En la carpeta res/menú/menú_main.xml
- en android:title --- Escoger un titulo de los que se capturaron en el archivo strings.xml
- En la carpeta res/menú/menú_main.xml
- en android:title --- Escoger un titulo de los que se capturaron en el archivo strings.xml
6.- Darle funcionalidad al menú en java/MainActivity.class
a) Verifica las librerías
import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ImageView;
import android.widget.Toast;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ImageView;
import android.widget.Toast;
b) Modificar el procedimiento:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
switch (id) {
case R.id.action_settings:
return true;
case R.id.action_alumno:
Toast.makeText(this, "Espere...", Toast.LENGTH_LONG).show();
Intent ir = new Intent(this, InsertaAlumno.class);
startActivity(ir);
return true;
//noinspection SimplifiableIfStatement
case R.id.action_carrera:
return true;
//noinspection SimplifiableIfStatement
case R.id.action_materia:
return true;
default:
return super.onOptionsItemSelected(item);
}
}
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
switch (id) {
case R.id.action_settings:
return true;
case R.id.action_alumno:
Toast.makeText(this, "Espere...", Toast.LENGTH_LONG).show();
Intent ir = new Intent(this, InsertaAlumno.class);
startActivity(ir);
return true;
//noinspection SimplifiableIfStatement
case R.id.action_carrera:
return true;
//noinspection SimplifiableIfStatement
case R.id.action_materia:
return true;
default:
return super.onOptionsItemSelected(item);
}
}
7.- En activity_inserta_alumno.xml (Modo de Diseño)
a) Agregar un LinearLayout(Vertical)
b) Agregar widgets(Plain TextView) y Text
Fields(Plain Text)
**********************************************
* Si requieres que un campo capture solo números escoge TextFields(number)
ó agrega en el archivo .xml
android:inputType="number"
* Si quieres el campo para la contraseña escoge TextFields(password)
c) personalizar en propiedades(barra derecha) el color del fondo, color de las letras y tipo
de letra.
**********************************************
* Si requieres que un campo capture solo números escoge TextFields(number)
ó agrega en el archivo .xml
android:inputType="number"
* Si quieres el campo para la contraseña escoge TextFields(password)
ó agrega en el archivo .xml
android:inputType="textPassword"
*
Si quieres que el campo para nombres escoge TextFields(Person Name)
ó agrega en el archivo
.xml
android:inputType="textPersonName"
*******************************************************
de letra.
d) Con doble click sobre cada campo: Poner el nombre del ID y seleccionar una
etiqueta
creada en strings.xml(Escoger en el recuadro derecho del campo text:)
creada en strings.xml(Escoger en el recuadro derecho del campo text:)
8.- En
activity_inserta_alumno.xml (Modo Text). Verificar que se parezca al código que sigue:
Nota: cambiar la propiedad --> android:text por android:hint en los EditText
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context="com.uvm.sistemas.appinsertar.InsertaAlumno"> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/c_lblnombre" android:textColor="#ffc26e18" android:textSize="25sp" android:id="@+id/textVnombre" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/c_txtnombre" android:textColor="#ffc26e18" android:textSize="20sp" android:id="@+id/editTnombre" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/c_lblappaterno" android:textColor="#ffc26e18" android:textSize="25sp" android:id="@+id/textVappaterno" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/c_txtappaterno" android:textColor="#ffc26e18" android:textSize="20sp" android:id="@+id/editTappaterno" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/c_lblapmaterno" android:textColor="#ffc26e18" android:textSize="25sp" android:id="@+id/textVapmaterno" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/c_txtapmaterno" android:textColor="#ffc26e18" android:textSize="20sp" android:id="@+id/editTapmaterno" /> </LinearLayout> </RelativeLayout>
9.- Revisar
el archivo AndroidManifest.xml
El archivo MainActivity tiene la categoria "LAUNCHER"--> Indica que sera el primero en ser ejecutado, los demas tendran categoria "DEFAULT"
El archivo MainActivity tiene la categoria "LAUNCHER"--> Indica que sera el primero en ser ejecutado, los demas tendran categoria "DEFAULT"
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.uvm.sistemas.appinsertar" >
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".InsertaAlumno"
android:label="@string/title_activity_inserta_alumno" >
</activity>
</application>
</manifest>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.uvm.sistemas.appinsertar" >
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".InsertaAlumno"
android:label="@string/title_activity_inserta_alumno" >
</activity>
</application>
</manifest>
10.-
Agregar imagenes a la portada y al icono de la app
a) Pegar una imagen en res/drawable y una
miniatuta en res/mipmap(para el icono)
b) Para poner imagen en el icono de la
aplicación
-
En el manifiesto AndroidManifest.xml (Revisar el punto 9) Poner el nombre del icono a utilizar
c) Para poner imagen en la pantalla
- utilizar el widget ImageView con
las propiedades width y height =”fill_parent”
- Agrregar el siguiente codigo en MainActivity.class
- Agrregar el siguiente codigo en MainActivity.class
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); portada(); } private void portada(){ ImageView img = (ImageView)findViewById(R.id.portadaIm); //el id de ImagView es portadaIm img.setImageResource(R.drawable.mylogo); //Mi imagen es mylogo.png }
SECCION DE DATOS (BASE DE DATOS SQLite)
Esta sección sirve como apoyo para hacer pruebas antes de meter los movimientos de la base de datos al proyecto.
Esta sección sirve como apoyo para hacer pruebas antes de meter los movimientos de la base de datos al proyecto.
1.-Ejecutar SQLite (Buscar la ruta en donde se instaló el SDK)
C:\Users\hoono\AppData\Local\Android\sdk\platform-tools\sqlite3.exe
2.- Crear B.D.
Sqlite>
.save uvmhoras.db
Sqlite>
CREATE TABLE alumno(id Integer primary key, nombre Text, appaterno Text,
apmaterno Text, pasword Text, estatus Integer, fechaactualiza datetime);













No hay comentarios.:
Publicar un comentario