Professional Documents
Culture Documents
developerWorks en espaol
Temas Tcnicos
Desarrollo mvil
http://www.ibm.com/developerworks/ssa/opensou...
Biblioteca tcnica
18-02-2013
Antes de comenzar
Este tutorial presenta el desarrollo de aplicaciones Android dentro del entorno Eclipse, incluyendo la
construccin de dos aplicaciones de ejemplo. La primera es una aplicacin bsica de inicio, que se
completa con todas las fases de construccin y depuracin. La segunda aplicacin examina las funciones
ms complejas de Android, incluyendo la bsqueda de direcciones de Google Maps y la bsqueda de
contactos. Para aprovechar al mximo este tutorial, la experiencia de desarrollo mvil es til pero no
obligatoria. Las habilidades de programacin Java son necesarias para las aplicaciones Android, pero
no son un requisito explcito para este tutorial.
1 of 23
14/07/14 14:09
http://www.ibm.com/developerworks/ssa/opensou...
Requisitos de sistema
Este tutorial requiere de varias tecnologas 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 versin 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 podran instalar siguiendo las
instrucciones que se encuentran en Instalar el Android SDK.
Cdigo fuente
Los fragmentos de cdigo fuente en este tutorial incluyen:
Fragmento AndroidManifest.xml Este archivo es el descriptor del despliegue de aplicaciones para
aplicaciones Android.
IntentReceiverEsto demuestra la implementacin de un IntentReceiver, que es la clase que
Introduccin a Android
Antes de ahondar en los detalles prcticos del plug-in Eclipse y desarrollar las aplicaciones Android,
analicemos la arquitectura de Android y algunos trminos claves que sern tiles en el tutorial y ms all,
a medida que comienza a construir aplicaciones Android por usted mismo.
Terminologa Android
El desarrollo de aplicaciones Android bajo el entorno Eclipse requiere de un conocimiento del entorno
Eclipse y de la plataforma Android. La comprensin de los trminos a continuacin es til en el desarrollo
de las aplicaciones Android con el plug-in Eclipse.
Open Handset Alliance
Esta es la organizacin dirigida por Google Inc., que consiste en numerosas organizaciones pblicas y
privadas.
2 of 23
14/07/14 14:09
http://www.ibm.com/developerworks/ssa/opensou...
Android
El producto principal de la Open Handset Alliance. Este es un entorno operativo de cdigo abierto
dirigido a los dispositivos mviles.
Emulador
Un representante de herramientas de software de otro sistema Este es a menudo un entorno que se
ejecuta en una computadora personal (IBM, Mac, Linux) que emula otro entorno, como por ejemplo
un dispositivo de computacin mvil.
Linux
Un kernel de sistema operativo de cdigo abierto en el corazn de varias plataformas de informtica,
incluyendo servidores, computadoras de escritorio, dispositivos de red y dispositivos de computacin
mvil. Android se ejecuta por encima de un kernel de Linux.
Dalvik Virtual Machine
La Dalvik VM es un entorno operativo que se encuentra en la pila de Android, que interpreta el cdigo
de aplicacin en el tiempo de ejecucin. La Dalvik VM es similar a una Java VM compatible, pero las
dos no son compatibles.
3 of 23
14/07/14 14:09
http://www.ibm.com/developerworks/ssa/opensou...
y presiones para que operen. Sin dudas, hay mens y botones para presionar pero Android tiene un
elemento de diseo innovador para su arquitectura conocido con una intencin.
La intencin
Una intencin es una construccin que permite a una aplicacin emitir un pedido, que es en cierto modo
como una seal para pedir ayuda. Podra verse as:
"Buscada: Una aplicacin para ayudarme a buscar un contacto" o "Buscada: Una aplicacin para
ayudarme a mostrar un contacto" o "Buscada: Una aplicacin para realizar esta bsqueda basada en lo
geogrfico".
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 podran verse as:
"Disponible: Aplicacin lista y dispuesta a presentar los registros de contactos de manera clara y
concisa", o "Disponible: Aplicacin lista y dispuesta a realizar una bsqueda basada en lo geogrfico".
Estos son ejemplos de IntentFilters, que discutiremos ms adelante.
El IntentFilter
Las aplicaciones anuncian su disponibilidad para realizar este tipo de operaciones a travs de una
construccin conocida como un IntentFilter. El IntentFilter puede estar registrado en el tiempo de
ejecucin o enumerado en el archivo AndroidManifest.xml. El siguiente fragmento proviene de una
aplicacin Android que responde a mensajes de texto SMS entrantes:
Listado 1 Aplicacin Android que responde a mensajes de texto SMS entrantes
<receiver class=".MySMSMailBox" >
<intent-filter>
<action android:value="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
Despus de esta breve introduccin a la intencin y el IntentFilter, la siguiente seccin introduce los
cuatro tipos principales de aplicaciones Android.
Actividad
La actividad es la forma ms visible y prominente de una aplicacin Android. Una actividad presenta la UI
a una aplicacin, 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
tpicas en las plataformas de informtica, mviles o diferentes.
Una aplicacin puede contener una o ms actividades. Por lo general estn en una relacin uno a uno
con las pantallas encontradas en una aplicacin.
Una aplicacin se mueve de una actividad a otra al llamar un mtodo conocido como startActivity()
4 of 23
14/07/14 14:09
http://www.ibm.com/developerworks/ssa/opensou...
Servicios y receptores
Como otros entornos de computacin de procesos de tareas, existen aplicaciones ejecutndose "en el
fondo" que realizan varias tareas. Android llama a estos tipos de aplicaciones "servicios". El servicio es
una aplicacin Android que no tiene UI.
El receptor es un componente de la aplicacin que recibe solicitudes para procesar las intenciones. Como
el servicio, un receptor en la prctica normal no tiene un elemento UI. Los receptores estn tpicamente
registrados en el archivo AndroidManifest.xml. El fragmento que se muestra en el Listado 1 es un ejemplo
de una aplicacin de receptor. Tenga en cuenta que el atributo clase del receptor es la clase Java
responsable por la implementacin del receptor. El listado 2 es un ejemplo del cdigo del receptor.
Listado 2. Cdigo del receptor
package com.msi.samplereceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentReceiver;
public class myreceiver extends IntentReceiver
{
public void onReceiveIntent(Context arg0, Intent arg1)
{
// do something when this method is invoked.
}
}
Vistas
La actividad Android emplea las vistas para mostrar los elementos UI. Las vistas siguen uno de los
siguientes diseos:
LinearVertical
Cada elemento subsiguiente sigue su predecesor al fluir debajo de este en una nica columna.
LinearHorizontal
5 of 23
14/07/14 14:09
http://www.ibm.com/developerworks/ssa/opensou...
Cada elemento subsiguiente sigue su predecesor al fluir hacia la derecha en una nica fila.
Relative
Cada elemento subsiguiente se describe en trminos 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 diseo particular (o una combinacin de diseos), las vistas
individuales se usan para presentar la UI.
Los elementos de vista consisten en elementos UI familiarizados, que incluyen:
Button
ImageButton
EditText
TextView (similar a una etiqueta)
CheckBox
Botn de radio
Galera e ImageSwitcher para mostrar mltiples imgenes
Lista
Grilla
DatePicker
TimePicker
Spinner (similar a un cuadro combinado)
AutoComplete (EditText con la funcin auto completar el texto)
Las vistas se definen en un archivo XML. El Listada 3 muestra un ejemplo de un diseo simple
LinearVertical.
6 of 23
14/07/14 14:09
http://www.ibm.com/developerworks/ssa/opensou...
Tenga en cuenta que cada elemento tiene uno o ms atributos en el espacio de nombre de Android.
La siguiente seccin gua al obtener el Android SDK y configurarlo para usar con Eclipse.
7 of 23
14/07/14 14:09
http://www.ibm.com/developerworks/ssa/opensou...
Updates .
2. Seleccione la opcin 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 dilogo: https://dl-ssl.google.com/android/eclipse. Observe el HTTPS
en la URL. Esta es una descarga segura.
Figura 1. Nuevo sitio de actualizacin
4. Se agrega una nueva entrada a la lista y se selecciona de manera predeterminada. Haga clic en
Finish. Los resultados de bsqueda muestran las Herramientas desarrolladoras de Android.
Seleccione Developer Tools y haga clic en Next.
5. Despus 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 ubicacin de instalacin, 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
contine en su propio nivel de comodidad al hacer clic en Install All, luego reinicie Eclipse.
8 of 23
14/07/14 14:09
http://www.ibm.com/developerworks/ssa/opensou...
9 of 23
14/07/14 14:09
http://www.ibm.com/developerworks/ssa/opensou...
Esto crear una aplicacin predeterminada lista para construir y ejecutar. Los componentes se pueden
ver en el Explorador del paquete, que discutimos a continuacin.
10 of 23
14/07/14 14:09
http://www.ibm.com/developerworks/ssa/opensou...
11 of 23
14/07/14 14:09
http://www.ibm.com/developerworks/ssa/opensou...
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 mtodo 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 construccin se pasan en este parmetro. Este tutorial no
examina este parmetro.
El setContentView(..) es responsable de crear la UI primaria con el argumento R.layout.main. Esto
es un identificador que representa el diseo principal que se encuentra en los recursos de la aplicacin.
La siguiente seccin revisa los recursos para la aplicacin de muestra.
main.xml
La aplicacin de muestra contiene una sola actividad y una sola vista. La aplicacin 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 diseo. Esto significa que se puede usar en ms
de una actividad, si se desea. El Listado 5 tiene el contenido del archivo de diseo.
Listado 5 Archivo de diseo
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello World, SaySomething"
/>
</LinearLayout>
Este es uno de los diseos ms simplistas. Existe un solo diseo lineal, que se orienta como un diseo
vertical, lo que significa que todos los elementos que contiene estn 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 esttico que no se puede editar.
12 of 23
14/07/14 14:09
http://www.ibm.com/developerworks/ssa/opensou...
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 mximo espacio disponible. Esto se puede pensar
tambin como "ampliar".
Contenido del envoltorio
Este valor le avisa a Android que pinte los elementos uno despus 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 aplicacin. El archivo R.java
se discute a continuacin.
R.java
El archivo R.java se crea en construir automticamente, por lo tanto asegrese de no modificarlo a mano
porque se perdern todos los cambios. El listado 6 contiene el archivo R.java file para la aplicacin de
muestra.
Listado 6. Archivo R.java
/* AUTO-GENERATED FILE. DO NOT MODIFY.
*
* This class was automatically generated by the
* aapt tool from the resource data it found. It
* should not be modified by hand.
*/
package com.msi.ibmtutorial;
public final class R {
public static final class attr {
}
public static final class drawable {
public static final int icon=0x7f020000;
}
public static final class layout {
public static final int main=0x7f030000;
}
public static final class string {
public static final int app_name=0x7f040000;
}
}
La clase R contiene subclases annimas, y cada una contiene identificadores para los diferentes recursos
previamente descritos. Tenga en cuenta que todas estas clases son estticas.
Tenga en cuenta el elemento representado por: R.layout.main. Este identificador representa el diseo
definido por main.xml. Recuerde que este valor se usa en el mtodo onCreate de la actividad de la
siguiente manera: setContentView(R.layout.main);. Este el punto en el que una actividad especfica
(en este caso, SayAnything) y un diseo especfico (principal) estn vinculados en el tiempo de
ejecucin.
Aplicaciones de construccin
Los archivos se compilan cada vez que se guardan por defecto.
Figura 5. Panel de error
13 of 23
14/07/14 14:09
http://www.ibm.com/developerworks/ssa/opensou...
Introducimos un error en el cdigo 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 cdigo fuente, la aplicacin 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 aplicacin Android. El
archivo enumera cualquier actividad, servicio, proveedor de contenido o receptor contenido en la
aplicacin, junto con los IntentFilters apropiados soportados por la aplicacin. Aqu se encuentra el
archivo completo AndroidManifest.xml para la aplicacin de muestra.
Listado 5. Archivo AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.msi.ibmtutorial">
<application android:icon="@drawable/icon">
<activity class=".SaySomething" android:label="@string/app_name">
<intent-filter>
<action android:value="android.intent.action.MAIN" />
<category android:value="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
14 of 23
14/07/14 14:09
http://www.ibm.com/developerworks/ssa/opensou...
IntentFilter ms comn que se puede ver en las aplicaciones Android. Este filtro esencialmente
dice que implementa la accin "principal" (o punto de entrada) y que se encuentra ubicado en el
iniciador del OS. En espaol, esto significa que se puede iniciar como una aplicacin desde la lista
principal de las aplicaciones en un dispositivo Android.
La siguiente seccin describe cmo iniciar la aplicacin en el Emulador de Android desde el interior de
Eclipse.
Ejecutar la aplicacin
Ahora que la aplicacin se ha compilado de manera correcta, es momento de ejecutar la misma
aplicacin. Seleccione Open Run Dialog o atajo en la barra de herramientas dentro de Eclipse. Esto abre
un dilogo donde se crean las configuraciones de arranque. Resalte la opcin de la Aplicacin Android y
haga clic en el cono para New.
La Figura 6 muestra los valores que se usan para el tutorial de muestra.
Figura 6. Dilogo de ejecucin
Dele un nombre a la configuracin 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 pestaa 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, segn se describe
en la Figura 7.
Figura 7 Dilogo de ejecucin, pestaa Emulator
15 of 23
14/07/14 14:09
http://www.ibm.com/developerworks/ssa/opensou...
Existen algunas orientaciones y tamaos de pantallas de las que se puede elegir, como as tambin
opciones de red. Las opciones de red son importantes cuando las aplicaciones de construccin que
emplean la conectividad de Internet como los dispositivos mviles tienen diferentes capacidades de
velocidad de red. Elija velocidades de red completas y sin latencia cuando disee un prototipo de una
aplicacin. Una vez que se presenta la funcionalidad principal, es buena idea probar con condiciones de
red menos ideales para ver cmo responde la aplicacin en situaciones con conectividad de red
subptimas.
Seleccione Run para ver la aplicacin de muestra en accin.
Figura 8. Emulator
Ahora que la aplicacin se est ejecutando en el Emulator, es momento de ver qu est sucediendo
detrs de escena. El servicio de control de depuracin Dalvik (DDMS) lo asistir con esto.
16 of 23
14/07/14 14:09
http://www.ibm.com/developerworks/ssa/opensou...
Depuracin de la aplicacin
Para ver qu est sucediendo con una aplicacin que se est ejecutando, es til acceder a la Dalvik en
ejecucin. Para habilitar esto desde Eclipse, seleccione Window > Open Perspective > Other. Esto
muestra un recuadro de dilogo donde se puede seleccionar el DDMS. Esto abre una nueva perspectiva
en Eclipse con un nmero de ventanas interesantes. Aqu tenemos una rpida introduccin a los recursos
disponibles en la perspectiva DDMS:
El LogCat es un archivo de registro en ejecucin de la actividad que tiene lugar en la VM. Las
aplicaciones pueden realizar sus propias entradas a esta lista con una simple lnea de cdigos 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.
La Figura 9 muestra el LogCat en funcionamiento.
Figura 9. LogCat in action
Otra herramienta prctica 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 aplicacin de muestra del tutorial en
el Emulator.
Figura 10. Aplicacin de muestra implementada 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.
Tambin se encuentra disponible una lista de proceso en ejecucin en el DDMS.
Figura 11. Lista de proceso en ejecucin
17 of 23
14/07/14 14:09
http://www.ibm.com/developerworks/ssa/opensou...
La depuracin a gran escala de una aplicacin Android va ms all del mbito tratado en este tutorial.
Para mayor informacin, consulte los Recursos.
18 of 23
14/07/14 14:09
http://www.ibm.com/developerworks/ssa/opensou...
A continuacin aparece el primero de los dos fragmentos de cdigo para la segunda aplicacin. Tenga en
cuenta que esta clase principal de aplicacin Activity extiende la ListActivity. Esto es porque
vamos a mostrar la informacin en una lista.
Listado 6 Primer fragmento de la segunda aplicacin
public class MobileServiceCallContacts extends ListActivity
{
final String tag = "MSCC";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
setContentView(R.layout.main);
// Get a cursor with all people
Cursor c = getContentResolver().query(People.CONTENT_URI, null, null,
null, null);
startManagingCursor(c);
ListAdapter adapter = new SimpleCursorAdapter(this,android.R.
layout.simple_list_item_1,c,new String[] {People.NAME} ,new int[]
{android.R.id.text1});
setListAdapter(adapter);
}
...
}
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 travs de la clase conocida como un ListAdapter. La
Figura 13 muestra la aplicacin en funcionamiento a medida que presenta los contactos disponibles en el
dispositivo. Tenga en cuenta que no existe orden de clasificacin en este monitor.
19 of 23
14/07/14 14:09
http://www.ibm.com/developerworks/ssa/opensou...
Cualquiera de los contactos se puede seleccionar con una pulsacin (clic del ratn), el botn central en el
emulador o al presionar la tecla Enter en su teclado. Una vez que se selecciona esta entrada, el cdigo
debe realizar una bsqueda para obtener la direccin del contacto seleccionado. Aqu es donde el
mtodo de anulacin onListItemClick() entra en juego. Esta implementacin del mtodo tiene cuatro
argumentos importantes. El de mayor inters aqu es el mtodo dbidentifier. Debido a que el cursor
haca referencia a la UI, cuando se invoca este mtodo, 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 informacin deseada. Tambin se puede usar para simplemente iniciar la aplicacin de
los contactos con una intencin como se muestra en el cdigo que se comenta en el Listado 7.
Listado 7. El mtodo de anulacin onListItemClick()
@Override
protected void onListItemClick(ListView list,View view,int position,long
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);
// let's lookup specifics on this record
ContentURI theContact = \
new ContentURI(android.provider.Contacts.ContactMethods.CONTENT_URI.toURI());
// 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;
}
20 of 23
14/07/14 14:09
http://www.ibm.com/developerworks/ssa/opensou...
Una vez que se ha obtenido la direccin, 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 intencin
nueva creada para realizar una bsqueda geo que en la imagen predeterminada del Emulador Android se
satisface con una llamada a Google Maps.
Todos los elementos principales de la primera aplicacin se mantienen vlidos an para esta aplicacin.
Existe una sola actividad lanzada desde la pantalla de la aplicacin principal. Existe, por supuesto, el
archivo AndroidManifest.xml que identifica nuestra nueva aplicacin. Recuerde, el cdigo fuente completo
est disponible en la seccin Descargas.
Existe una informacin final que es importante para esta segunda aplicacin de ejemplo. En el archivo
AndroidManifest.xml, existe una entrada adicional que le da permiso a la aplicacin para leer la base de
datos de los contactos: <uses-permission id="android.permission.READ_CONTACTS" />. Sin este
permiso explcito, el kernel de Linux prevendr que la aplicacin 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.
Debera estar preparado para crear sus propias aplicaciones Android.
Descargar
Descripcin
Nombre
tamao
os-eclipse-android.examples.zip
67KB
Recursos
El libro Android del autor se encuentra parcialmente disponible online en
Manning Publications.
La carrera ha comenzado!
Aprender
21 of 23
IBM PureSystems
Descarga gratuita:
Rational Team Concert for Power
Systems Software Standard
14/07/14 14:09
http://www.ibm.com/developerworks/ssa/opensou...
Lea el tutorial "Build a mobile RSS reader" para aprender cmo leer, analizar y
mostrar el RSS u otro dato XML en aplicaciones mviles, que incluyen sus
propias mezclas, usando las Herramientas desarrolladoras de Android.
Edition
22 of 23
14/07/14 14:09
http://www.ibm.com/developerworks/ssa/opensou...
23 of 23
14/07/14 14:09