Documente Academic
Documente Profesional
Documente Cultură
Antes de comenzar
Este tutorial presenta el desarrollo de aplicaciones Android dentro del entorno Eclipse, incluyendo la
construcción de dos aplicaciones de ejemplo. La primera es una aplicación básica de inicio, que se completa
con todas las fases de construcción y depuración. La segunda aplicación examina las funciones más
complejas de Android, incluyendo la búsqueda de direcciones de Google Maps y la búsqueda de contactos.
Para aprovechar al máximo este tutorial, la experiencia de desarrollo móvil es útil pero no obligatoria. Las
habilidades de programación Java™ son necesarias para las aplicaciones Android, pero no son un requisito
explícito para este tutorial.
Requisitos de sistema
Este tutorial requiere de varias tecnologías que trabajen juntas Necesita a todas ellas para este tutorial.
Plataforma de Eclipse
Eclipse es la plataforma sobre el que se ejecuta el plug-in. Obtenga la última versión de Eclipse Classic
(en este tutorial se utilizó V3.3.1).
Herramientas desarrolladoras de Android
Las herramientas desarrolladoras de Android (el plug-in de Eclipse) se podrían instalar siguiendo las
instrucciones que se encuentran en Instalar el Android SDK.
Código fuente
Los fragmentos de código fuente en este tutorial incluyen:
• Fragmento AndroidManifest.xml — Este archivo es el descriptor del despliegue de aplicaciones
para aplicaciones Android.
• IntentReceiver—Esto demuestra la implementación de un IntentReceiver, que es la clase que procesa
las intenciones según se promociona por la etiqueta IntentFilter en el archivo AndroidManifest.xml.
• SaySomething.java — Esto implementa una actividad Android, el punto de entrada principal para
la misma aplicación de este tutorial.
• Main.xml — Esto contiene los elementos visuales o recursos para el uso de las actividades
Android.
• R.java — Este archivo se genera automáticamente por las Herramientas desarrolladoras de
Android y "conecta" los recursos visuales para el código fuente Java.
• AndroidManifest.xml complete — Esto enumera un archivo AndroidManfest.xml completo, junto
con una descripción de cada uno de los elementos importantes.
• MobileServiceCallContacts.java — Esto contiene el código necesario para mostrar los contactos
así como reaccionar a la entrada de usuario para llevar a cabo después una búsqueda de
direcciones de Google Maps.
Introducción a Android
Antes de ahondar en los detalles prácticos del plug-in Eclipse y desarrollar las aplicaciones Android,
analicemos la arquitectura de Android y algunos términos claves que serán útiles en el tutorial y más allá, a
medida que comienza a construir aplicaciones Android por usted mismo.
Terminología Android
El desarrollo de aplicaciones Android bajo el entorno Eclipse requiere de un conocimiento del entorno
Eclipse y de la plataforma Android. La comprensión de los términos a continuación es útil en el desarrollo
de las aplicaciones Android con el plug-in Eclipse.
La plataforma de Android aparece mejor descrita como una pila porque es una colección de componentes,
que incluye:
Ahora que hemos introducido brevemente la arquitectura de la plataforma de Android, analicemos algunas
características importantes de la plataforma desde una perspectiva del mercado.
Android es un generador de mercado. El espacio de las aplicaciones móviles está abarrotado y resulta difícil
para un principiante obtener un equilibrio. Google tiene los recursos y la notoriedad para causar impresión
en cualquier mercado al que apunte. El ingreso de Google en el espacio móvil ha estado en proceso por
un par de años. Android era una compañía distinta e independiente que Google compró para brindarle un
impulso en una presencia móvil. Cualquier cosa que realice Google llama la atención y la publicidad es
buena para introducir nuevas plataformas. Anote un punto para Android.
La segunda razón por la que resulta importante Android es debido a su modelo de aplicación. Las
aplicaciones Android no son monolíticas ni están llenas de menú que requieren de que haga muchos clics y
presiones para que operen. Sin dudas, hay menús y botones para presionar pero Android tiene un elemento
de diseño innovador para su arquitectura conocido con una intención.
La intención
Una intención es una construcción que permite a una aplicación emitir un pedido, que es en cierto modo
como una señal para pedir ayuda. Podría verse así:
"Buscada: Una aplicación para ayudarme a buscar un contacto" o "Buscada: Una aplicación para ayudarme a
mostrar un contacto" o "Buscada: Una aplicación para realizar esta búsqueda basada en lo geográfico".
De manera similar y complementaria, las aplicaciones se pueden registrar por sí mismas como capaces e
interesadas en desarrollar varias intenciones o solicitudes satisfactorias. Para seguir el paradigma clasificado
de publicidad, estas podrían verse así:
"Disponible: Aplicación lista y dispuesta a presentar los registros de contactos de manera clara y concisa", o
"Disponible: Aplicación lista y dispuesta a realizar una búsqueda basada en lo geográfico".
El IntentFilter
Las aplicaciones anuncian su disponibilidad para realizar este tipo de operaciones a través de una
construcción conocida como un IntentFilter. El IntentFilter puede estar registrado en el tiempo de ejecución o
enumerado en el archivo AndroidManifest.xml. El siguiente fragmento proviene de una aplicación Android
que responde a mensajes de texto SMS entrantes:
Después de esta breve introducción a la intención y el IntentFilter, la siguiente sección introduce los cuatro
tipos principales de aplicaciones Android.
Actividad
La actividad es la forma más visible y prominente de una aplicación Android. Una actividad presenta la UI
a una aplicación, junto con la asistencia de una clase conocida como una vista. La clase vista se implementa
como varios elementos UI, tales como recuadros de texto, etiquetas, botones y otras UI típicas en las
plataformas de informática, móviles o diferentes.
Una aplicación puede contener una o más actividades. Por lo general están en una relación uno a uno con las
pantallas encontradas en una aplicación.
Una aplicación se mueve de una actividad a otra al llamar un método conocido como startActivity() o
startSubActivity(). El método anterior se usa cuando la aplicación desea simplemente "cambiar" a una nueva
actividad. La última se utiliza cuando se desea un paradigma de respuesta/llamada simultánea. En ambos
casos, se pasa una intención como un argumento al método.
Es responsabilidad del sistema operativo determinar la actividad mejor calificada para satisfacer la intención
especificada.
Servicios y receptores
Como otros entornos de computación de procesos de tareas, existen aplicaciones ejecutándose "en el
fondo" que realizan varias tareas. Android llama a estos tipos de aplicaciones "servicios". El servicio es una
aplicación Android que no tiene UI.
El receptor es un componente de la aplicación que recibe solicitudes para procesar las intenciones. Como
el servicio, un receptor en la práctica normal no tiene un elemento UI. Los receptores están típicamente
registrados en el archivo AndroidManifest.xml. El fragmento que se muestra en el Listado 1 es un ejemplo
de una aplicación de receptor. Tenga en cuenta que el atributo clase del receptor es la clase Java responsable
por la implementación del receptor. El listado 2 es un ejemplo del código del receptor.
import android.content.Context;
import android.content.Intent;
import android.content.IntentReceiver;
La siguiente sección introduce las vistas Android, el mecanismo UI para colocar cosas en la pantalla de un
dispositivo Android.
Vistas
La actividad Android emplea las vistas para mostrar los elementos UI. Las vistas siguen uno de los
siguientes diseños:
LinearVertical
Cada elemento subsiguiente sigue su predecesor al fluir debajo de este en una única columna.
LinearHorizontal
Cada elemento subsiguiente sigue su predecesor al fluir hacia la derecha en una única fila.
Relative
Cada elemento subsiguiente se describe en términos de desplazamientos desde el elemento anterior.
Table
Una serie de filas y columnas similar a las tablas de HTML. Cada celda puede contener un elemento de
vista.
Una vez que se ha seleccionado un diseño particular (o una combinación de diseños), las vistas individuales
se usan para presentar la UI.
• Button
• ImageButton
• EditText
• TextView (similar a una etiqueta)
• CheckBox
• Botón de radio
• Galería e ImageSwitcher para mostrar múltiples imágenes
• Lista
• Grilla
• DatePicker
• TimePicker
• Spinner (similar a un cuadro combinado)
• AutoComplete (EditText con la función auto completar el texto)
Las vistas se definen en un archivo XML. El Listada 3 muestra un ejemplo de un diseño simple LinearVertical.
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Activity 1, second text view!"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Switch To Activity 2"
id="@+id/switchto2"
/>
</LinearLayout>
Tenga en cuenta que cada elemento tiene uno o más atributos en el espacio de nombre de Android.
La siguiente sección guía al obtener el Android SDK y configurarlo para usar con Eclipse.
Para iniciar Eclipse, haga doble clic en eclipse.exe que se encuentra en el directorio de instalación
de Eclipse. Esto iniciará el IDE. El software solicita un "espacio de trabajo" y sugiere una ubicación
predeterminada, por ejemplo, c:\documents y settings\username\workspace. Elija esta ubicación o
especifique una ubicación alternativa de espacio de trabajo.
Una vez que se carga Eclipse, haga clic en el ícono Workbench - Go to the workbench en la pantalla
principal.
Existen versiones de instalación SDK disponibles para Windows, Mac OS X (solo Intel®) y Linux (i386).
Seleccione la versión más reciente del SDK para la plataforma deseada. Tenga en cuenta que al momento de
este escrito, la versión Android SDK más reciente se encuentra marcada con m3-rc37a.
El Android SDK se encuentra en una carpeta comprimida. Descargue y extraiga el contenido de esta carpeta
a un lugar conveniente en su computadora. A los fines de este tutorial, el SDK está instalado en c:\software
Se instalan tanto Eclipse como el Android SDK. Es momento de instalar el plug-in Eclipse para aprovechar
el entorno Eclipse.
1. Ejecute la función "Find and Install" en Eclipse, que se encuentra debajo del menú Help > Software
Updates .
2. Seleccione la opción Search for new features to install .
3. Seleccione New Remote Site. Dele un nombre a este sitio, como por ejemplo "Android Developer
Tools". Use la siguiente URL en el diálogo: https://dl-ssl.google.com/android/eclipse. Observe el
HTTPS en la URL. Esta es una descarga segura.
Figura 1. Nuevo sitio de actualización
4. Se agrega una nueva entrada a la lista y se selecciona de manera predeterminada. Haga clic en Finish.
Los resultados de búsqueda muestran las Herramientas desarrolladoras de Android. Seleccione
Developer Tools y haga clic en Next.
5. Después de revisar y aceptar el acuerdo de licencia, haga clic en Next. Tenga en cuenta que el acuerdo
de licencia incluye un requisito especial para usar la Google Maps API.
6. Revise y acepte la ubicación de instalación, luego haga clic en Finish.
Se descarga e instala ahora el plug-in. El plug-in no se firma (al momento del escrito), por lo tanto continúe
en su propio nivel de comodidad al hacer clic en Install All, luego reinicie Eclipse.
Una vez que se especifica la ubicación, existen otras tres secciones que se pueden configurar. Aquí se
mencionan brevemente:
• La sección Build tiene opciones para recursos de reconstrucción automática. Deje esto seleccionado. La
opción Build puede cambiar el nivel de verbosidad. Normal es el valor predeterminado.
• DDMS — El servicio de control de depuración Dalvik se usa para observar una VM que se está
ejecutando. Estas configuraciones especifican la cantidad de puertos TCP/IP que se usan para
conectarse con una VM que se está ejecutando con el depurador y varios niveles de registros y
opciones. La configuración predeterminada debería estar bien.
• LogCat — Este es un archivo de registro que se crea en el kernel fundamental de Linux. La fuente es
seleccionable en este diálogo. Ajústelo según como desee.
¡Felicitaciones! El entorno Eclipse está listo para crear aplicaciones para Android.
• Nombre
• Ubicación
• Nombre del paquete
• Nombre de la actividad — Piense en esto como el "formulario" principal o la pantalla de la aplicación
• Nombre de la aplicación
Esto creará una aplicación predeterminada lista para construir y ejecutar. Los componentes se pueden ver en
el Explorador del paquete, que discutimos a continuación.
Carpeta src
Incluye el paquete para la aplicación de muestra, es decir com.msi.ibmtutorial.
R.java
Las Herramientas desarrolladoras de Android crean este archivo automáticamente y representan las
constantes necesarias para acceder a varios recursos de la aplicación Android. Más sobre la relación
entre la clase R y los recursos que se encuentran a continuación.
SaySomething.java
Implementación de la clase de actividad principal de la aplicación.
Bibliotecas de referencia
Contiene a android.jar, que es el archivo clase jar de tiempo de ejecución de Android, en el Android
SDK.
Carpeta res
Contiene los recursos para la aplicación, incluyendo:
• Íconos
• Archivos de diseño
• Cadenas
AndriodManifest.xml
Descriptor del despliegue de la aplicación de muestra.
A continuación, examinaremos el código fuente en más detalle.
Listado 4. SaySomething.java
package com.msi.ibmtutorial;
import android.app.Activity;
import android.os.Bundle;
• SaySomething es una clase Java normal, con un paquete e importaciones, como se espera.
• SaySomething extiende una clase Android de base llamada Actividad, que se encuentra ubicada en el
paquete android.app.
• El método onCreate() es el punto de entrada para esta actividad, al recibir un tipo de argumento Bundle.
El Bundle es una clase que es esencialmente un derivador entorno a un mapa o un mapa hash. Los
elementos requeridos para la construcción se pasan en este parámetro. Este tutorial no examina este
parámetro.
• El setContentView(..) es responsable de crear la UI primaria con el argumento R.layout.main. Esto es un
identificador que representa el diseño principal que se encuentra en los recursos de la aplicación.
La siguiente sección revisa los recursos para la aplicación de muestra.
Dibujables
Esta carpeta contiene archivos de gráficos, por ejemplo, íconos y mapas de bits.
Diseños
Esta carpeta contiene archivos XML que representan los diseños y las vistas de la aplicación. Estos se
examinarán en detalle a continuación.
Valores
Esta carpeta contiene un archivo llamado strings.xml. Esta es el medio primario para la localización en
cadena para la aplicación.
La siguiente sección disecciona el archivo main.xml para revisar los recursos de la UI primaria de la
aplicación de muestra.
main.xml
La aplicación de muestra contiene una sola actividad y una sola vista. La aplicación contiene un archivo
llamado main.xml que representa los aspectos visuales de la UI primaria de la actividad. Tenga en cuenta
que no existe referencia en el main.xml donde se usa el diseño. Esto significa que se puede usar en más de
una actividad, si se desea. El Listado 5 tiene el contenido del archivo de diseño.
Este es uno de los diseños más simplistas. Existe un solo diseño lineal, que se orienta como un diseño
vertical, lo que significa que todos los elementos que contiene están en una sola columna. Existe un solo
elemento TextView, que se puede comparar con una etiqueta en otros entornos de desarrollo. Una TextView
representa un texto estático que no se puede editar.
Tenga en cuenta que cada elemento (layout y TextView en este ejemplo) tiene atributos en el espacio de
nombre de Android. Algunos atributos son comunes para todas las vistas — los atributos android:layout_width
y android:layout_heigh, por ejemplo. Los valores disponibles para estos atributos son:
Padre de relleno
Esto extiende el elemento de vista para tomar el máximo espacio disponible. Esto se puede pensar
también como "ampliar".
Contenido del envoltorio
Este valor le avisa a Android que pinte los elementos uno después del otro sin ampliar.
Durante el proceso de desarrollo, se compilan todos los recursos. Uno de los productos de ese proceso es el
archivo R.java, que representa los recursos para el recordatorio de la aplicación. El archivo R.java se discute
a continuación.
R.java
El archivo R.java se crea en construir automáticamente, por lo tanto asegúrese de no modificarlo a mano
porque se perderán todos los cambios. El listado 6 contiene el archivo R.java file para la aplicación de
muestra.
package com.msi.ibmtutorial;
La clase R contiene subclases anónimas, y cada una contiene identificadores para los diferentes recursos
previamente descritos. Tenga en cuenta que todas estas clases son estáticas.
Tenga en cuenta el elemento representado por: R.layout.main. Este identificador representa el diseño
definido por main.xml. Recuerde que este valor se usa en el método onCreate de la actividad de la siguiente
manera: setContentView(R.layout.main);. Este el punto en el que una actividad específica (en este caso,
SayAnything) y un diseño específico (principal) están vinculados en el tiempo de ejecución.
Aplicaciones de construcción
Los archivos se compilan cada vez que se guardan por defecto.
Introducimos un error en el código fuente a donde agregamos un espacio adicional entre setContent y View.
Cuando se guarda el archivo, se compila y aparece cualquier error en el panel Problemas en la parte inferior
de la pantalla. Luego de corregir el error en el código fuente, la aplicación construye adecuadamente y los
errores se eliminan de la lista de problemas.
AndroidManifest.xml
El archivo AndroidManifest.xml representa al descriptor del despliegue para una aplicación Android. El
archivo enumera cualquier actividad, servicio, proveedor de contenido o receptor contenido en la aplicación,
junto con los IntentFilters apropiados soportados por la aplicación. Aquí se encuentra el archivo completo
AndroidManifest.xml para la aplicación de muestra.
• El nombre del paquete del archivo fuente se representa aquí. Esto sigue un patrón similar a un archivo
fuente Java y a las importaciones. La etiqueta <manifest> es en esencia de las clases "importación" de
este paquete. Todas las clases que no están completamente calificadas en este archivo se encuentran en
el paquete identificado en el atributo del paquete.
• La etiqueta <application> tiene un atributo que hace referencia a un recurso de los recursos de la
aplicación Tenga en cuenta el símbolo @ que precede al identificador dibujable. Esta es una pista para
que el archivo mire en la carpeta dibujable de los recursos de la aplicación un recurso llamado "icon".
• La etiqueta <activity> contiene los siguientes atributos y valores de la nota:
• la clase representa la clase Java que implementa esta actividad
• android:label es el nombre de la aplicación. Tenga en cuenta que proviene de uno de los recursos en
cadena. El archivo string.xml contiene cadenas localizadas para la aplicación.
• <intent-filter> representa el IntentFilter disponible en la aplicación de muestra. Este es el IntentFilter
más común que se puede ver en las aplicaciones Android. Este filtro esencialmente dice que
implementa la acción "principal" (o punto de entrada) y que se encuentra ubicado en el iniciador
del OS. En español, esto significa que se puede iniciar como una aplicación desde la lista principal
de las aplicaciones en un dispositivo Android.
La siguiente sección describe cómo iniciar la aplicación en el Emulador de Android desde el interior de
Eclipse.
Ejecutar la aplicación
Ahora que la aplicación se ha compilado de manera correcta, es momento de ejecutar la misma aplicación.
Seleccione Open Run Dialog o atajo en la barra de herramientas dentro de Eclipse. Esto abre un diálogo
donde se crean las configuraciones de arranque. Resalte la opción de la Aplicación Android y haga clic en el
ícono para New.
Dele un nombre a la configuración La muestra del tutorial usa el nombre Tutorial Configuration. Seleccione
el proyecto ibmtutorial de la lista de los proyectos disponibles (haga clic en Browse para ver los proyectos
disponibles). Seleccione la actividad de arranque en el menú desplegable. Ahora seleccione la pestaña
Emulator para especificar las configuraciones del Emulador, como desee. El valor predeterminado se puede
dejar solo. Existe un par de elementos para tener en cuenta, según se describe en la Figura 7.
Existen algunas orientaciones y tamaños de pantallas de las que se puede elegir, como así también opciones
de red. Las opciones de red son importantes cuando las aplicaciones de construcción que emplean la
conectividad de Internet como los dispositivos móviles tienen diferentes capacidades de velocidad de red.
Elija velocidades de red completas y sin latencia cuando diseñe un prototipo de una aplicación. Una vez que
se presenta la funcionalidad principal, es buena idea probar con condiciones de red menos ideales para ver
cómo responde la aplicación en situaciones con conectividad de red subóptimas.
Figura 8. Emulator
Ahora que la aplicación se está ejecutando en el Emulator, es momento de ver qué está sucediendo detrás de
escena. El servicio de control de depuración Dalvik (DDMS) lo asistirá con esto.
Depuración de la aplicación
Para ver qué está sucediendo con una aplicación que se está ejecutando, es útil acceder a la Dalvik en
ejecución. Para habilitar esto desde Eclipse, seleccione Window > Open Perspective > Other. Esto muestra
un recuadro de diálogo donde se puede seleccionar el DDMS. Esto abre una nueva perspectiva en Eclipse
con un número de ventanas interesantes. Aquí tenemos una rápida introducción a los recursos disponibles en
la perspectiva DDMS:
El LogCat es un archivo de registro en ejecución de la actividad que tiene lugar en la VM. Las aplicaciones
pueden realizar sus propias entradas a esta lista con una simple línea de códigos de la siguiente manera:
Log.i(tag,message);, en donde tag y message son cadenas Java. La clase Log es parte del paquete android.util.Log.
Otra herramienta práctica en la DDMS es el explorador de archivo, que permite acceso al sistema de
archivo del Emulator. La Figura 10 muestra donde se implementa la aplicación de muestra del tutorial en el
Emulator.
Las aplicaciones de usuario se despliegan en /data/app mientras que las aplicaciones incorporadas Android
se encuentran en el directorio /system/app.
La depuración a gran escala de una aplicación Android va más allá del ámbito tratado en este tutorial. Para
mayor información, consulte los Recursos.
A continuación aparece el primero de los dos fragmentos de código para la segunda aplicación. Tenga en
cuenta que esta clase principal de aplicación Activity extiende la ListActivity. Esto es porque vamos a mostrar
la información en una lista.
}
...
}
Tenga en cuenta el uso de la clase de cursor para solicitar la base de datos de los contactos. Este cursor
"conjunto de resultados" se enlaza a la UI a través de la clase conocida como un ListAdapter. La Figura 13
muestra la aplicación en funcionamiento a medida que presenta los contactos disponibles en el dispositivo.
Tenga en cuenta que no existe orden de clasificación en este monitor.
Cualquiera de los contactos se puede seleccionar con una pulsación (clic del ratón), el botón central en
el emulador o al presionar la tecla Enter en su teclado. Una vez que se selecciona esta entrada, el código
debe realizar una búsqueda para obtener la dirección del contacto seleccionado. Aquí es donde el método
de anulación onListItemClick() entra en juego. Esta implementación del método tiene cuatro argumentos
importantes. El de mayor interés aquí es el método dbidentifier. Debido a que el cursor hacía referencia a la
UI, cuando se invoca este método, en realidad recibe un identificador para el origen de datos fundamentales.
El campo dbidentifier se puede usar para consultar la base de datos de los contactos para la información
deseada. También se puede usar para simplemente iniciar la aplicación de los contactos con una intención
como se muestra en el código que se comenta en el Listado 7.
dbidentifier)
{
super.onListItemClick(list,view,position,dbidentifier);
try
{
// this commented out code below will launch the Contacts application \
// and "view" the contact Intent myIntent = \
new Intent(android.content.
// Intent.VIEW_ACTION,new ContentURI("content://contacts/people/"
// + dbidentifier)); startSubActivity(myIntent,position);
// IMPORTANT
// in order to use this sample application, you need to have at least
// one Contact record on your Android emulator\
// and be sure to have populated the 'Home Address field'
//
// this "where clause" is for HOME address and for the person record
// selected in the GUI (id, dbidentifier)
Cursor c = managedQuery(theContact,null," type = 1 and person = " +
dbidentifier,null);
if (!c.first())
{
showAlert("MSCC","No Contact Methods Available!","",true);
return;
}
address = address.replace("\n","");
address = address.replace(",","");
address = address.replace(" ","+");
Una vez que se ha obtenido la dirección, un par de operaciones simples en cadena son necesarias para
limpiar los datos para prepararlo para una consulta a Google Maps. La geoIntent es una intención nueva
creada para realizar una búsqueda geo que en la imagen predeterminada del Emulador Android se satisface
con una llamada a Google Maps.
Todos los elementos principales de la primera aplicación se mantienen válidos aún para esta aplicación.
Existe una sola actividad lanzada desde la pantalla de la aplicación principal. Existe, por supuesto, el archivo
AndroidManifest.xml que identifica nuestra nueva aplicación. Recuerde, el código fuente completo está
disponible en la sección Descargas.
Existe una información final que es importante para esta segunda aplicación de ejemplo. En el archivo
AndroidManifest.xml, existe una entrada adicional que le da permiso a la aplicación para leer la base de
datos de los contactos: <uses-permission id="android.permission.READ_CONTACTS" />. Sin este permiso explícito,
el kernel de Linux prevendrá que la aplicación acceda a la base de datos de los contactos.
Resumen
Este tutorial introdujo la plataforma Android, las Herramientas desarrolladoras de Android y los elementos
claves del desarrollo Android en Eclipse. Las Herramientas desarrolladoras de Android permiten aprovechar
el vasto entorno de desarrollador de Eclipse para construir y probar las aplicaciones Android. Debería estar
preparado para crear sus propias aplicaciones Android.
Descargas
Descripción Nombre tamaño
Example source code os-eclipse-android.examples.zip 67KB
Sobre el autor
Frank Ableson
Después de que terminara su carrera basquetbolista colegial sin un contrato multianual para
jugar para los Lakers de Los Ángeles, Frank Ableson cambió su enfoque hacia el diseño
de software informático. Disfruta solucionando problemas complejos, particularmente en
las áreas de comunicaciones e interfaces de hardware. Cuando no está trabajando, está
pasando el tiempo con su esposa Nikki y sus hijos. Es posible contactar a Frank escribiendo a
frank@cfgsolutions.com.