martes, 28 de julio de 2015


Desarrollo de App Android(001) para dispositivos móviles  

Practica 001 (julio 2015)
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)
                                - Seleccionar continue  en las siguientes ventanas
                                                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/



3.- Crear un activity InsertaAlumno
       - 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).

4.- En el activity_main.xml 
               - Poner El nombre de tu Proyecto y Bienvenida (En modo diseño)             
               - Inserta un LinearLayout(Vertical) y verifica si se adapta a tus necesidades



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




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;

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);
    }

}

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)
                 ó 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"

                *******************************************************

                c) personalizar en propiedades(barra derecha) el color del fondo, color de las letras y tipo 
                 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:)

(Revisa antes el punto 8 para que identifiques los ID que tendrán, asi como los textos que tendran)





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"

<?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>

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

  @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.

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