domingo, 7 de junio de 2015

Cómo crear una etiqueta en Email de Android


como crear una etiqueta en Email de Android
Añade etiquetas a tu cuenta de Gmail y estas serán automáticamente añadidas a tu Email de Android.
Sean Gallup/Getty Images News/Getty Images
Cualquier celular que ejecute el sistema operativo móvil Android requiere que su usuario se registre a una cuenta de Google y utilice Gmail como su gestor predeterminado de correo electrónico. En lugar de carpetas, Gmail deja que sus usuarios ordenen sus correos electrónicos con etiquetas. Ya que tu cuenta de Gmail se sincroniza con tu dispositivo Android, cualquier etiqueta que crees mediante Gmail será añadida a la aplicación Email en tu dispositivo Android. Esto significa que puedes crear etiquetas para Email de Android desde tu navegador web.
Instrucciones
1
Abre tu navegador y explora hasta Gmail.com. Ingresa tus datos de inició de tu cuenta de Google en los campos correspondientes y haz clic en el botón "Iniciar sesión" para acceder a tu cuenta.
2
Haz clic en el icono de "engranaje" en la esquina superior derecha de tu página inicial de Gmail y selecciona la opción "Configuraciones de correo" desde el menú desplegable.
3
Haz clic en la pestaña "Etiquetas" y luego en el botón "Crear nueva etiqueta".
4
Ingresa el nombre de la nueva etiqueta en el espacio ofrecido. Si quieres convertir la etiqueta en una etiqueta secundaria, haz clic en la flecha bajo el encabezado "Agrupar etiqueta bajo:" y selecciona la etiqueta contenedora desde el menú desplegable.
5

Haz clic en el botón "Crear" para crear una etiqueta. Esta será añadida a la aplicación Email de tu dispositivo Android.


Junto con los botones y las etiquetas, las cajas de texto son el tercer tipo de elemento más común con el que trabajarás. En Android, la clase que utilizamos para implementar las cajas de texto se llama EditText, que es una subclase de TextView que utilizamos para crear etiquetas (labels).
Aparte de las propiedades que esta clase hereda de TextView, posee otras muy interesantes que podemos utilizar:
android:autoText para definir si la caja de texto proveerá corrección ortográfica de manera automática.
android:capitalize si queremos que la caja de texto cambie la primera letra del texto introducido a mayúscula.
android:singleLine para controlar si el texto que se introduzca en la caja de texto ocupará una línea o varias; esta propiedad también define el comportamiento de la tecla Enter (si nos posicionará en el siguiente widget en caso de que su valor sea true o si nos agregará una línea nueva para escribir en caso de que se defina como false).
android:numeric cuando queramos que el texto introducido sean únicamente números.
android:password cuando requerimos que el usuario ingrese datos de tipo contraseña y muestre la información en formato de puntos.
Esta clase posee muchos atributos interesantes que puedes consultar en la tabla XML Attributes de la documentación oficial de Android Developers.

El código…
Para ver el resultado de utilizar algunos de los atributos mencionados arriba vamos a hacer un ejemplo en el que definiremos varios EditText definidos con combinaciones diferentes de atributos para ver su comportamiento en tiempo de ejecución.
1. Creamos un proyecto llamado AndroideityEditText con la versión Android 2.1 update 1.
2. Modificamos el archivo main.xml del directorio res/layout definiendo tres TextView para identificar el atributo que implementa el EditText que colocaremos junto. Así deberá quedarte el código: 



3. Lo ejecutamos y vemos el resultado:



En el primer EditText cada vez que demos Enter nos agregará una línea nueva para seguir escribiendo lo que queramos. En el segundo, utilizamos la propiedad de entrada de texto restringida a números, por lo que aunque tecleemos letras, el resultado en pantalla serán dígitos numéricos. Y por último, utilizamos el atributo de contraseña que como puedes ver hace el texto ilegible para el ojo humano.

Crear ListView Básico en Android
En esta pantalla elegimos el nombre de la Actividad, lo que nos creará también el nombre del layout de la actividad nueva.
Con esto ya tendremos nuestra Activity creada. Ahora nos iremos al XML y añadiremos elListView de esta manera, quedando el xml así:
1
2
3
4
5
6
7
8
9
10
11
12
<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"
    tools:context=".EjemploListView" >
    <ListView
        android:id="@+id/listview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</RelativeLayout>
Con esto, si vamos a la parte gráfica del xml podremos ver ya algo así:


A continuación nos dirigimos a nuestro archivo java, ubicado en src/nombre_paquete/EjemploListView.java (en mi caso). Vamos a comenzar declarando elListView y un array de String con unos elementos ya predefinidos, que serán los que usaremos para rellenar el ListView.
1
2
3
4
5
6
public class EjemploListView extends Activity {

    private ListView list;
    private String[] sistemas = {"Ubuntu", "Android", "iOS", "Windows", "Mac OSX",
                                "Google Chrome OS", "Debian", "Mandriva", "Solaris", "Unix"};
Ahora nos meteremos dentro del método onCreate, para poder inicializar la lista, crear unAdapter, que es una clase la cual usaremos para rellenar el ListView y agregaremos alguna funcionalidad más al ListView.
Para “enlazar” el ListView del xml con la variable de instancia que hemos creado, haremos lo siguiente:
1
2
list = (ListView)findViewById(R.id.listview);
Como vemos, usamos el método findViewById para buscar el id que le dimos al ListView en el xml.
A continuación, vamos a declarar el Adapter. Esta clase será la encargada de adaptar el Array que tenemos a un ListView. En este caso, el adapter será solo de ya que nuestro array solo contiene elementos de tipo String.
1
2
ArrayAdapter<String> adaptador = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, sistemas);
Vamos a analizar bien el ArrayAdapter. Como bien indica el nombre de la clase, es un adaptador de arrays, y en este caso de tipo String.
En su constructor, pasamos como argumentos los siguientes elementos:
Context: Pasamos el Context de la aplicación, mediante el uso de this.
android.R.layout.simple_list_item_1: Esto es el tipo de ListView, en nuestro caso, solo muestra un elemento, por lo tanto usaremos para cada dato un contenedor con un solo elemento.
sistemas: Le pasamos el array con los SO que hemos declarado como variable de instancia que está ubicado debajo del nombre de la clase.
Por último estableceremos el objeto adapter de la clase ArrayAdapter al ListView que hemos declarado, lo que hará que cargue los datos en el y ya podamos verlo en funcionamiento.
1
2
list.setAdapter(adaptador);
Como vemos es un proceso simple, en una sola línea.
Por último, vamos a agregar un listener a la lista, en este caso un onItemClickListener, que producirá un aviso mediante un objeto Toast con el número del elemento pulsado cuando pulsemos sobre la ListView. Esto podemos hacerlo de la siguiente manera.
1
2
3
4
5
6
7
8
9
10
11
list.setOnItemClickListener(new OnItemClickListener(){

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int position, long id) {
        // TODO Auto-generated method stub
        Toast.makeText(getApplicationContext(), "Ha pulsado el item " + position, Toast.LENGTH_SHORT).show();

    }

});
En el método generado, se pasan una serie de parámetros (esto se origina solo si usamos Eclipse). En este caso el que mas nos importa es el parámetro cuyo tipo de dato es int, al cual le he cambiado el nombre para que veamos bien a que se refiere.
A continuación, creamos un Toast, el cual mostrará un aviso que nos devolverá el elemento que hemos pulsado.
Una vez hecho todo esto, podemos lanzar nuestra aplicación, y ver como ha quedado todo, a continuación pongo unas imágenes de como me ha quedado a mí y un pequeño video para verlo en acción:
         

sábado, 6 de junio de 2015

código XML para añadir un botón en Eclipse para aplicaciones Android:




código XML para añadir un botón en Eclipse para aplicaciones Android:
<Button
android:id="@+id/btURL"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/btAjpdSoft"
android:layout_centerHorizontal="true"
android:layout_marginTop="22dp"
android:text="@string/text_url" />

Asignar código a evento onClick de un botón en Eclipse para aplicaciones Android
Abriremos el fichero xxx.java de nuestra aplicación que estará en el "Project Explorer", en la carpeta "src", en nuestro caso "AjpdSoftLinterna.java". Para trabajar con un Button deberemos tener un import al principio del programa:
import android.widget.Button;
En la clase de la aplicación añadiremos la siguiente línea:
private Button btURL;


(donde "btURL" será el nombre que le hayamos asignado al botón al crearlo en el layout, la propiedad "Id")
Por último añadiremos dentro de "public void onCreate..." las siguientes líneas de código Java para crear el evento OnClick, que será el código que se ejecute cuando el usuario pulse en el botón:
        btURL = (Button) findViewById(R.id.btURL);
        btURL.setOnClickListener(new OnClickListener()
        {

            @Override
            public void onClick(View v)
            {
                Intent browserIntent =
                               new Intent(Intent.ACTION_VIEW,
                                                               Uri.parse("http://www.ajpdsoft.com"));
                startActivity(browserIntent);
            }
        });
El código anterior permitirá que cuando el usuario pulse en el botón se abrirá el navegador por defecto y se navegará a la URL indicada. Para que funcione el código anterior hay que añadir dos imports al principio:
import android.net.Uri;
import android.content.Intent;
Ahora probaremos la aplicación en el emulador, para ello pulsaremos en "Run" - "Run":

Instalando una imagen de fábrica para un Nexus
Instalar una imagen de fábrica es relativamente fácil si tenemos instalado correctamente el SDK de Android y los drivers de nuestro Nexus. Si conseguimos desbloquear el bootloader es porque todo está correcto y podemos ya pasar al siguiente paso.
Lo primero de todo es descargar desde la web de desarrolladores de Google la imagen de fábrica de la versión de Android que queremos para nuestro dispositivo Nexus. Aquí tenemos que estar seguro cuál de todos es el modelo de nuestro Nexus.

Una vez descargada la imagen de fábrica tan solo tenemos que descomprimirla donde queramos y después añadir a esa carpeta, junto al resto de archivos el Fastboot y resto de archivos para que todo funcione correctamente. Estos archivos están en la carpeta platform-tools del Android SDK. Por seguridad recomiendo copiar todos los archivos.
Carpeta descomprimida:
Carpeta descomprimida con los archivos Fastboot y ADB del SDK:
Una vez realizado estos pasos ya tan solo tenemos que entrar en el bootloader (apagar el dispositivo y encenderlo pulsando a la vez Volumen bajo + Volumen arriba + Power), conectarlo alUSB del ordenador y ejecutar el archivo flash-all.bat si estamos en Windows o el archivo flash-all.sh si estamos usando alguna distribución de Linux. Una vez ejecutado ya tan solo tenemos que esperar a que el proceso termine, sin desconectar el Nexus del ordenador y tengamos ya el móvil como salido de fábrica con la versión de Android escogida. Os vuelvo a recordar que este proceso borra nuestros datos, y que demás, una vez terminado el proceso podemos volver a bloquear el bootloader de nuestro Nexus.

viernes, 5 de junio de 2015

Layout

Layout

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 cuadrícula o indicando la posición absoluta de cada vista. Los layouts también son objetos descendientes de la clase view. Igual que las vistas, los layouts pueden ser definidos en código, aunque la forma habitual de definirlos es utilizando código xml.


LinearLayout es uno de los Layout más utilizado en la práctica. Distribuye los elementos uno detrás de otro, bien de forma horizontal o vertical. 
<LinearLayout  xmlns:android="http://...
       android:layout_height="match_parent"   
       android:layout_width="match_parent"
       android:orientation ="vertical">
  <AnalogClock
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"/>
  <CheckBox
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="Un checkBox"/>
  <Button
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="Un botón"/>
  <TextView    
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"         
        android:text="Un texto cualquiera"/>
</LinearLayout>


Imágenes


Agregar Linear Layout e Image View Para que la aplicación desarrolladase vea de la siguiente manera:
Botones
Explicaremos a continuación cómo añadir un botón (Button) a una apliación Android en Eclipse, en primer lugar ya tendremos creado el Layout de nuestra aplicación (ventana principal). En este layout que podemos abrir desde "res" - "layout", haremos doble click sobre "activity_ajpdsoft_linterna.xml" (puede tener cualquier otro nombre). Eclipse nos mostrará la edición gráfica del layout con los posibles componentes a agregar, en el grupo "Form Widgets" de la ventana "Palette" seleccionaremos "Button":



Y lo arrastraremos al lugar del layout donde queramos que aparezca:

Seleccionando el nuevo botón, Eclipse nos mostrará en la parte derecha la ventana "Properties" donde indicaremos las dos propiedades más importantes:


Id: nombre que identificará el Button para referenciarlo en el código Java, por ejemplo "@+id/btURL" (siempre indicaremos "@+id/nombre_identificativo":
La otra propiedad importante para el Button será el texto que se mostrará al usuario, tendremos dos posibilidades:
Lo podemos escribir directamente en la propiedad "Text" (no es recomendable).


Antes de asignarle un texto al Button crearemos un "Value" en "Resources". Para ello seguiremos los siguientes pasos, abriremos las siguientes carpetas en "Project Explorer": "res" - "values", haremos doble click en "strings.xml". En la parte derecha Eclipse nos mostrará los values actuales, pulsaremos "Add":
Seleccionaremos "String" y pulsaremos "OK"

Introduciremos un nombre identificativo para el nuevo String en "Name", por ejemplo "text_url" y un valor en "Value", por ejemplo "Visitar web". Cerraremos el fichero "strings.xml" y guardaremos los cambios:

En realidad lo único que hemos hecho es añadir la siguiente línea al fichero "strings.xml":
<string name="text_url">Visitar web</string>
Una vez añadido el string volveremos al layout, seleccionaremos el Button y en la propiedad "Text" pulsaremos el botón "...":
En la ventana de selección de recurso (Resource Chooser) seleccionaremos el string añadido anteriormente "text_url":
De esta forma desde "Graphical layout" ya tendremos el botón añadido a la ventana principal de la aplicación Android:


Como casi todo en Eclipse, podremos ver y modificar e incluso añadir cualquier componente editando directamente el fichero correspondiente al layout, pulsando en la parte inferior del layout abierto en el fichero xxx.xml, veremos el código XML necesario para añadir cualquier componente de nuestra aplicación, enmarcamos en rojo el código XML que ha añadido el diseñador gráfico de forma automática para nuestro botón:

Estructura de un proyecto Android

Estructura de un proyecto Android



Estructura de un proyecto Android
En el último artículo de desarrollo creamos nuestro primer proyecto para Android, y vimos que fácilmente podemos lanzar nuestra primera app en el emulador, ya que el asistente de creación de proyectos hizo todo el trabajo por nosotros.
Vamos a ver de forma un poco más detallada cual es la estructura de un proyecto. Como podéis ver en la imagen, dentro de la carpeta HolaAndroidZone tenemos un conjunto de carpetas y archivos, esto es lo básico en un proyecto nuevo. Enumeremos aquellos puntos clave que nos interesa empezar a conocer:
La carpeta src
Esta es por defecto la carpeta donde se depositará el código fuente Java, y como en los proyectos para escritorio puede llamarse de otro modo si nos interesa o podemos disponer de distintas carpetas fuente, a veces puede ser un modo de enlazar con librerías.

Todo el código que pongamos en las carpetas fuente será compilado cuando se requiera. Y también como en los proyectos tradicionales de java el código se organizará en carpetas que resultaran en paquetes. Recordad que durante el proceso de creación del proyecto definimos el paquete que lo identificará. Por norma general la estructura de nuestro proyecto partirá de esta raíz tal como se ve en la imagen.

La carpeta res

Esa es una carpeta más compleja ya que se subdivide en múltiples subdirectorios, pero para resumir, diremos que va a contener lo que en el mundo de Android llamaremos recursos. Ya veremos que existen distintos tipos de recursos como imágenes, textos, layouts, y que podemos administrar aquí como se van gestionar los recursos para dispositivos con características y configuraciones distintas (densidad de píxel, localización, ect…)

Hay que tener en cuenta que los archivos que vayamos a crear como recursos deben seguir una nomenclatura determinada ya que no se va a permitir que  el nombre del archivo empiece por un valor numérico por poner un ejemplo, o que contenga mayúsculas.


La carpeta assets
En esta carpeta depositaremos todos los archivos que vayamos a querer que acompañen a la aplicación, pueden estar organizados en carpetas y serán empaquetados en el apk final. Podemos considerarlos como recursos al igual que el contenido de la carpeta res, pero no estarán indenxados ni compilados de modo que el acceso a estos es menos eficiente y algo más laborioso. Por otro lado no tendremos que aplicar las reglas de los recursos en lo que respecta a nomenclaturas y organización.
Carpeta que puede contener una serie arbitraria de ficheros o carpetas que podrán ser utilizados por la aplicación (ficheros de datos, fuentes,…). A diferencia de la carpeta res, nunca se modifica el contenido de los ficheros de esta carpeta ni se les asociará un identificador.
La carpeta gen
Esta es una carpeta de código fuente que va a contener archivos de Java como la carpeta src, pero no deberemos agregar o modificar los archivos contenidos ya que son generados automáticamente por el plugin de Android a partir del contenido de la carpeta res. Aquí encontramos el archivo R que es el archivo de java que servirá para indexar e identificar a todos y cada uno de los recursos de la carpeta res.
Contiene una serie de elementos de código generados automáticamente al compilar el proyecto. Cada vez que generamos nuestro proyecto, la maquinaria de compilación de Android genera por nosotros una serie de ficheros fuente java dirigidos al control de los recursos de la aplicación. Importante: dado que estos ficheros se generan automáticamente tras cada compilación del proyecto es importante que no se modifiquen manualmente bajo ninguna circunstancia.

Esta clase R contendrá en todo momento una serie de constantes con los ID de todos los recursos de la aplicación incluidos en la carpeta /res/, de forma que podamos acceder fácilmente a estos recursos desde nuestro código a través de este dato. Así, por ejemplo, la constante R.drawable.ic_launcher contendrá el ID de la imagen “ic_launcher.png” contenida en la carpeta /res/drawable/.

El archivo AndroidManifest.xml
Podemos decir que este es el archivo principal y que todas las aplicaciones o librerías deben contener en laraíz del proyecto. En este, se definen las características del proyecto como el nombre, paquete o los permisos que va a requerir la aplicación. También es en este archivo donde se describe los componentes de la aplicación.
Como su nombre indica podéis imaginar que es un archivo XMO, pero al tener instaladas el plugin de Android podemos visualizarlo y editarlo a partir de un editor visual además de sobre un editor de archivos XML. Si lo abrimos haciendo doble click sobre el se mostrará probablemente en forma XML, pero podremos navegar por distintas pestañas que nos mostraran el editor disgregado en secciones tal como se puede ver en la imagen.


Este fichero describe la aplicación Android. En él se indican las actividades, intenciones, servicios y proveedores de contenido de la aplicación. También se declaran los permisos que requerirá la aplicación. Se indica la versión mínima de Android para poder ejecutarla, el paquete Java, la versión de la aplicación, etc.



Componentes de una aplicación Android
Existe una serie de elementos clave que resultan imprescindibles para desarrollar aplicaciones en Android. En este apartado vamos a realizar una descripción inicial de algunos de los más importantes. A lo largo del libro se describirán con más detalle las clases Java que implementan cada uno de estos componentes.
Estructura de un proyecto Android

Estructura de un proyecto Android
En el último artículo de desarrollo creamos nuestro primer proyecto para Android, y vimos que fácilmente podemos lanzar nuestra primera app en el emulador, ya que el asistente de creación de proyectos hizo todo el trabajo por nosotros.
Vamos a ver de forma un poco más detallada cual es la estructura de un proyecto. Como podéis ver en la imagen, dentro de la carpeta HolaAndroidZone tenemos un conjunto de carpetas y archivos, esto es lo básico en un proyecto nuevo. Enumeremos aquellos puntos clave que nos interesa empezar a conocer:
La carpeta src
Esta es por defecto la carpeta donde se depositará el código fuente Java, y como en los proyectos para escritorio puede llamarse de otro modo si nos interesa o podemos disponer de distintas carpetas fuente, a veces puede ser un modo de enlazar con librerías.

Todo el código que pongamos en las carpetas fuente será compilado cuando se requiera. Y también como en los proyectos tradicionales de java el código se organizará en carpetas que resultaran en paquetes. Recordad que durante el proceso de creación del proyecto definimos el paquete que lo identificará. Por norma general la estructura de nuestro proyecto partirá de esta raíz tal como se ve en la imagen.

La carpeta res

Esa es una carpeta más compleja ya que se subdivide en múltiples subdirectorios, pero para resumir, diremos que va a contener lo que en el mundo de Android llamaremos recursos. Ya veremos que existen distintos tipos de recursos como imágenes, textos, layouts, y que podemos administrar aquí como se van gestionar los recursos para dispositivos con características y configuraciones distintas (densidad de píxel, localización, ect…)

Hay que tener en cuenta que los archivos que vayamos a crear como recursos deben seguir una nomenclatura determinada ya que no se va a permitir que  el nombre del archivo empiece por un valor numérico por poner un ejemplo, o que contenga mayúsculas.


La carpeta assets
En esta carpeta depositaremos todos los archivos que vayamos a querer que acompañen a la aplicación, pueden estar organizados en carpetas y serán empaquetados en el apk final. Podemos considerarlos como recursos al igual que el contenido de la carpeta res, pero no estarán indenxados ni compilados de modo que el acceso a estos es menos eficiente y algo más laborioso. Por otro lado no tendremos que aplicar las reglas de los recursos en lo que respecta a nomenclaturas y organización.
Carpeta que puede contener una serie arbitraria de ficheros o carpetas que podrán ser utilizados por la aplicación (ficheros de datos, fuentes,…). A diferencia de la carpeta res, nunca se modifica el contenido de los ficheros de esta carpeta ni se les asociará un identificador.
La carpeta gen
Esta es una carpeta de código fuente que va a contener archivos de Java como la carpeta src, pero no deberemos agregar o modificar los archivos contenidos ya que son generados automáticamente por el plugin de Android a partir del contenido de la carpeta res. Aquí encontramos el archivo R que es el archivo de java que servirá para indexar e identificar a todos y cada uno de los recursos de la carpeta res.
Contiene una serie de elementos de código generados automáticamente al compilar el proyecto. Cada vez que generamos nuestro proyecto, la maquinaria de compilación de Android genera por nosotros una serie de ficheros fuente java dirigidos al control de los recursos de la aplicación. Importante: dado que estos ficheros se generan automáticamente tras cada compilación del proyecto es importante que no se modifiquen manualmente bajo ninguna circunstancia.

Esta clase R contendrá en todo momento una serie de constantes con los ID de todos los recursos de la aplicación incluidos en la carpeta /res/, de forma que podamos acceder fácilmente a estos recursos desde nuestro código a través de este dato. Así, por ejemplo, la constante R.drawable.ic_launcher contendrá el ID de la imagen “ic_launcher.png” contenida en la carpeta /res/drawable/.

El archivo AndroidManifest.xml
Podemos decir que este es el archivo principal y que todas las aplicaciones o librerías deben contener en laraíz del proyecto. En este, se definen las características del proyecto como el nombre, paquete o los permisos que va a requerir la aplicación. También es en este archivo donde se describe los componentes de la aplicación.
Como su nombre indica podéis imaginar que es un archivo XMO, pero al tener instaladas el plugin de Android podemos visualizarlo y editarlo a partir de un editor visual además de sobre un editor de archivos XML. Si lo abrimos haciendo doble click sobre el se mostrará probablemente en forma XML, pero podremos navegar por distintas pestañas que nos mostraran el editor disgregado en secciones tal como se puede ver en la imagen.


Este fichero describe la aplicación Android. En él se indican las actividades, intenciones, servicios y proveedores de contenido de la aplicación. También se declaran los permisos que requerirá la aplicación. Se indica la versión mínima de Android para poder ejecutarla, el paquete Java, la versión de la aplicación, etc.



Componentes de una aplicación Android
Existe una serie de elementos clave que resultan imprescindibles para desarrollar aplicaciones en Android. En este apartado vamos a realizar una descripción inicial de algunos de los más importantes. A lo largo del libro se describirán con más detalle las clases Java que implementan cada uno de estos componentes.