f?:@'.$&2& %g&1'210*%a'*5% h&$02'$$%!5&102$%!,ij · fecha...

9
Avenida de Castilla,1 - Edificio Best Point - Oficina 21B 28830 San Fernando de Henares (Madrid) tel./fax: +34 91 675 33 06 [email protected] - www.autentia.com Somos su empresa de Soporte a Desarrollo Informático. Ese apoyo que siempre quiso tener... 1. Desarrollo de componentes y proyectos a medida Tecnología Desarrollo Sistemas Gran Empresa Producción autentia Certificación o Pruebas Verificación previa RFP Concurso Consultora 1 Consultora 2 Consultora 3 Equipo propio desarrollo Piloto 3a 3b 1. Definición de frameworks corporativos. 2. Transferencia de conocimiento de nuevas arquitecturas. 3. Soporte al arranque de proyectos. 4. Auditoría preventiva periódica de calidad. 5. Revisión previa a la certificación de proyectos. 6. Extensión de capacidad de equipos de calidad. 7. Identificación de problemas en producción. 3. Arranque de proyectos basados en nuevas tecnologías ¿Qué ofrece Autentia Real Business Solutions S.L? Para más información visítenos en: www.autentia.com Compartimos nuestro conociemiento en: www.adictosaltrabajo.com Gestor portales (Liferay) Gestor de contenidos (Alfresco) Aplicaciones híbridas Tareas programadas (Quartz) Gestor documental (Alfresco) Inversión de control (Spring) BPM (jBPM o Bonita) Generación de informes (JasperReport) ESB (Open ESB) Control de autenticación y acceso (Spring Security) UDDI Web Services Rest Services Social SSO SSO (Cas) Spring MVC, JSF-PrimeFaces /RichFaces, HTML5, CSS3, JavaScript-jQuery JPA-Hibernate, MyBatis Motor de búsqueda empresarial (Solr) ETL (Talend) Dirección de Proyectos Informáticos. Metodologías ágiles Patrones de diseño TDD 2. Auditoría de código y recomendaciones de mejora 4. Cursos de formación (impartidos por desarrolladores en activo)

Upload: buitruc

Post on 05-Apr-2018

215 views

Category:

Documents


1 download

TRANSCRIPT

Avenida de Castilla,1 - Edificio Best Point - Oficina 21B28830 San Fernando de Henares (Madrid)

tel./fax: +34 91 675 33 [email protected] - www.autentia.com

Somos su empresa de Soporte a Desarrollo Informático.Ese apoyo que siempre quiso tener...

1. Desarrollo de componentes y proyectos a medida

TecnologíaDesarrolloSistemas

Gran Empresa

Producción

autentia

Certificacióno Pruebas

Verificación previa

RFP Concurso

Consultora 1

Consultora 2

Consultora 3

Equipo propio desarrolloPiloto

3a

3b

1. Definición de frameworks corporativos.2. Transferencia de conocimiento de nuevas arquitecturas.3. Soporte al arranque de proyectos.4. Auditoría preventiva periódica de calidad.5. Revisión previa a la certificación de proyectos.6. Extensión de capacidad de equipos de calidad.7. Identificación de problemas en producción.

3. Arranque de proyectos basados en nuevas tecnologías

¿Qué ofrece Autentia Real Business Solutions S.L?

Para más información visítenos en: www.autentia.com

Compartimos nuestro conociemiento en: www.adictosaltrabajo.com

Gestor portales (Liferay)Gestor de contenidos (Alfresco)Aplicaciones híbridas

Tareas programadas (Quartz)Gestor documental (Alfresco)Inversión de control (Spring)

BPM (jBPM o Bonita)Generación de informes (JasperReport)ESB (Open ESB)

Control de autenticación y acceso (Spring Security)UDDIWeb ServicesRest ServicesSocial SSOSSO (Cas)

Spring MVC, JSF-PrimeFaces /RichFaces, HTML5, CSS3, JavaScript-jQuery

JPA-Hibernate, MyBatisMotor de búsqueda empresarial (Solr)ETL (Talend)

Dirección de Proyectos Informáticos.Metodologías ágilesPatrones de diseñoTDD

2. Auditoría de código y recomendaciones de mejora

4. Cursos de formación (impartidos por desarrolladores en activo)

Entra en Adictos a través de

Entrar Deseo registrarmeOlvidé mi contraseña

Inicio Quiénes somos Formación Comparador de salarios Nuestros libros Más

» Estás en: Inicio Tutoriales Introducción Android

Síguenos a travésde:

Catálogo de serviciosAutentia

Últimas Noticias

» IX Autentia Cycling Day(ACTUALIZADO)

» Conferencias Big Data Spain

» Charla de Roberto Canales:Patrones en la toma derequisitos en proyectos ágiles.

» QUEDADA INAGURAL DELCLUB KITESURF CENTRO,pantano de Alarcón.

» Buscamos programador iOS(20 Sep 2013)

Histórico de noticias

Últimos Tutoriales

» Ejecutando MyBatis contradistintas bases de datos

» Minimizar código conanotaciones en Spring.

» Gestionando relaciones enMyBatis

» Integración de la gestión deproyecto de Redmine enEclipse con el soporte deMylyn.

Ver todos los tutoriales del autor

Roberto Rodríguez

Ingeniero Informático.

Colaborador con Autentia.

Puedes contactarme a través de: [email protected]

Fecha de publicación del tutorial: 2013-11-15 Tutorial visitado 273 veces Descargar en PDF

Introducción Android.

0. Índice de contenidos.

1. Entorno.2. Introducción.3. Preparando el entorno.4. Entendiendo Android.5. Creando una aplicación HolaMundo.6. Conclusiones.

1. Entorno.

Este tutorial está escrito usando el siguiente entorno:

Hardware: Portátil HP 17" (2,7 Ghz AMD A4, 4 GB, 64-bit)Sistema Operativo: Windows 8IDE: Eclipse (Version: Kepler Service Release 1)jdk: 1.7.0_40Android 4.3 (API 18)

2. Introducción

En este tutorial veremos cómo preparar el entorno para desarrollar aplicaciones Android, y daremos una introducción a loselementos básicos que debes conocer para iniciarte en el mundo Android, los cuales veremos en la práctica a través de unaaplicación de ejemplo que explicaremos paso a paso.

3. Preparando el entorno.

Primero comenzaremos por preparar el entorno de trabajo para desarrollar sobre la plataforma Android. En este tutorialusaremos como IDE de desarrollo Eclipse (el cuál asumiremos que está instalado ya). Luego debemos instalar y configurarAndroid SDK y agregar a Eclipse el plugin necesario para desarrollar aplicaciones Android.

3.1. Obteniendo e instalando Android SDK.

Primero partiremos de que el Android SDK es el API de librerías y herramientas de desarrollo que nos permite construir yprobar aplicaciones Android. Ésta puede ser descargada libremente en esta dirección, una vez descargado y descomprimido,ejecutar el fichero SDK Setup.exe, con lo que se podrá tener acceso al SDK Manager y AVD Manager.

3.2. Configurando y administrando el SDK Manager.

MoreShareShareShareShareShareShare

Introducción Android http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pag...

1 of 8 16/11/13 07:56

PUSH THIS Page Pushers Community Help?

----no clicks + + + + + + + +

0 people brought clicks to this page

powered by karmacracy » Aplicación "To-Do" conYeoman, Bower, Grunt yAngular.js

Últimas ofertas deempleo

2011-09-08Comercial - Ventas -MADRID.

2011-09-03Comercial - Ventas -VALENCIA.

2011-08-19Comercial - Compras -ALICANTE.

2011-07-12Otras Sin catalogar -MADRID.

2011-07-06Otras Sin catalogar -LUGO.

Para comenzar a trabajar con Android tienes que descargar al menos una de las plataformas Android disponibles, a través delSDK Manager puedes descargar las que necesites, así como los paquetes disponibles.

3.3. Trabajando con AVD Manager.

Para probar nuestra aplicación Android podemos hacerlo usando un teléfono Android o usando AVD Manager, con el que sepuede crear distintas instancias de emuladores y simular teléfonos de distintas características para probar las aplicaciones enla computadora.

Usando el teléfono solo necesitamos tenerlo conectado al PC y seleccionar la opción: Settings --> Applications -->Development --> USB Debugging, y cuando corramos nuestra aplicación se mostrará en el teléfono.

Usando el AVD Manager solo tenemos que crear una nueva instancia de simulador, especificarle las propiedades y a la horade correr la aplicación indicarle qué instancia queremos usar.

3.4. Descargando e instalando ADT plugin en Eclipse.

Dentro del Eclipse selecciona la opción Help --> Install New Software para descargar ADT plugin.

A continuación pulsamos Add y en Location ponemos la siguiente dirección: https://dl-ssl.google.com/android/eclipse/

Seleccionamos la opción Developer Tools, y damos click en Next.

Introducción Android http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pag...

2 of 8 16/11/13 07:56

Aquí vemos la lista de herramientas que serán descargadas, damos click en Next, aceptamos los requerimientos de licencia,click en Finish para instalar y luego reiniciamos Eclipse.

Una vez que reiniciamos Eclipse, debemos especificar la dirección del SDK, para eso vamos a Window --> Preferences, y enel panel izquierdo señalamos Android y le especificamos la dirección de nuestro SDK.

Y ya estamos listos para crear nuestra primera aplicación. Pero primero necesitamos conocer un poco la filosofía y losprincipios básicos de Android.

4. Entendiendo Android.

Ahora veremos los elementos son fundamentales para entender Android. Existen cuatro tipos de componentes fundamentalesque pueden conformar una aplicación Android: Activity, Service, BroadcastReceiver y ContentProvider, cada uno seencarga de realizar unos determinados tipos de tareas.

También existen los Intent, que se encargan de la navegación entre los distintos componentes.

4.1. Activity

Una Activity generalmente cumple la misma función que un Controlador en el paradigma MVC, es decir que está asociado auna vista (UI) y responde a los eventos ejecutados por el usuario.

view plain print ?

public class MyActivity extends Activity{ 01. 02. @Override 03. protected void onCreate(Boundle boundle){ 04. super.onCreate(boundle); 05. setContentView(R.layout.main); 06. } 07.} 08.

En Android, generalmente, cada vista tiene definida su estructura y sus componentes en un fichero XML, que como veremosmás adelante en la aplicación de ejemplo, por convención se ubican dentro de la carpeta layout. Y cada uno de esos ficheroses registrado de forma automática y dinámica en un fichero llamado R, así que para hacer referencia a dicho fichero lohacemos de la forma R.layout.nombre.

4.2. Service.

Un service es el empleado generalmente para ejecutar tareas en el background de la aplicación, es decir, que no estáasociado a ninguna interfaz de usuario.

Ejemplo:

view plain print ?

public class MyService extends Service implements Runnable{ 01. 02. private int cont = 0; 03. 04. @Override 05. protected void onCreate(Boundle boundle){ 06. super.onCreate(boundle); 07. Thread myThread = new Thread(this); 08. myThread.start(); 09. } 10. 11. public void run(){ 12. while(true){ 13. try{ 14. Log.e("Mi Servicio", "ejecucion # " + cont++); 15. Thread.sleep(10000); 16. } catch(Exception e){ 17. Log.e("Error", e.getMessage()); 18. } 19. } 20. } 21.} 22.

Este ejemplo ejecuta un Log cada 10 segundos en el background de la aplicación.

Introducción Android http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pag...

3 of 8 16/11/13 07:56

4.3. BroadcastReceiver.

Un BroadcastReceiver responde a eventos globales, como una llamada entrante o un mensaje SMS que se reciba, pormencionar algunos.

Ejemplo:

view plain print ?

public class MySMSBox extends BroadcastReceiver { 01. 02. @Override 03. protected void onReceive(Context context, Intent intent){ 04. if(intent.getAction.equals("android.provider.Telephony.SMS_RECIVED")){ 05. Log.i("msg", "Mensaje recibido!"); 06. } 07. } 08.} 09.

Este es un BroadcastReceiver que ejecuta un Log cuando se recibe un mensaje SMS.

4.4. Content Provider.

Un Content Provider es empleado generalmente cuando queremos exponer datos de nuestra aplicación a otras aplicacionesdentro del entorno Android, o de igual forma, si algún Activity, Service o BroadcastReceiver de nuestra aplicación quiereacceder a los datos de otra aplicación, lo hará a través de su ContentProvider.

4.5. Intents.

A través de los Intents vamos a lograr la navegación en nuestra aplicación, este elemento nos permite describir lo quequeremos hacer y a dónde queremos ir.

Ejemplo:

view plain print ?

... 01. 02. Intent intent = new Intent(this, ProximaActividad.class); 03. startActivity(intent); 04. 05.... 06.

Aquí creamos un Intent que nos permitirá navegar hasta la actividad ProximaActividad. Ésta es la manera más simple ytambién la más común de emplear los Intent, también existen otras más amplias y explicativas, que veremos en tutorialesposteriores.

Conociendo esto ya estamos listos para crear nuestra primera aplicación HolaMundo con Android.

5. Creando una aplicación HolaMundo.

Para ver cómo funciona Android en la práctica, la mejor manera es crear una aplicación básica, en nuestro caso crearemosuna aplicación que nos permitirá calcular los impuestos sobre una determinada compra en los Estados Unidos, conociendoque los impuestos son el 7 por ciento del monto total de la compra. Por lo que crearemos una aplicación sencilla que tepermita entrar el monto de la compra, calcular el impuesto y mostrar el resultado en otra vista.

Quedaría más o menos así:

El primer paso será crear la aplicación en el Eclipse, dando click derecho en la parte izquierda, New --> Other --> Android -->Android Application Project.

Introducción Android http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pag...

4 of 8 16/11/13 07:56

Damos Next y especificamos el nombre del proyecto y creamos la aplicación.

Nuestra aplicación terminada tiene la siguiente estructura de paquetes que explicaremos brevemente:

Introducción Android http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pag...

5 of 8 16/11/13 07:56

Dentro de src van las clases .java, donde definiremos nuestra lógica de negocios.

Dentro de la carpeta res están organizados los distintos recursos que componen nuestra aplicación:

Drawable: Almacena las imágenes, iconos, etc.Layout: Almacena los layout, que son la representación de las vistas y sus componentes visuales en ficheros XML.Menu: Almacena los ficheros referentes al menú de la aplicación (no lo usaremos en este tutorial).Values: Dentro de values se especifica los estilos, dimensiones y ficheros para externalizar los textos de nuestrasvistas.

Por último está el fichero AndroidManifest.xml, de gran importancia pues es el que describe los distintos componentes y elcomportamiento de nuestra aplicación. En él además especificaremos los distintos permisos y configuraciones.

Una vez visto esto estamos listos para ver el código, y comenzaremos por la primera vista que vemos cuando se ejecuta laaplicación, que tiene su estructura definida en el fichero activity_main.xml.

view plain print ?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 01. android:orientation="vertical" 02. android:gravity="center_horizontal" 03. android:layout_width="fill_parent" 04. android:layout_height="fill_parent"> 05. 06. <TextView 07. android:layout_width="fill_parent" 08. android:layout_height="wrap_content" 09. android:text="Calculadora de Impuestos" 10. android:gravity="center_horizontal" 11. style="@style/encabezado"/> 12. 13. <EditText 14. android:id="@+id/input_entrada" 15. android:layout_width="fill_parent" 16. android:layout_height="wrap_content" 17. android:layout_margin="10px" 18. android:autoText="true"/> 19. 20. <Button 21. android:id="@+id/boton_calcular" 22. android:layout_width="wrap_content" 23. android:layout_height="wrap_content" 24. android:text="Calcular"/> 25. 26.</LinearLayout> 27.

Aquí podemos ver un LinearLayout con tres componentes visuales dentro, con sus respectivas propiedades.

view plain print ?

public class InicioActivity extends Activity { 01. 02. @Override 03. protected void onCreate(Bundle savedInstanceState) { 04. super.onCreate(savedInstanceState); 05. setContentView(R.layout.activity_main); 06. 07. Button boton = (Button)findViewById(R.id.boton_calcular); 08. 09. boton.setOnClickListener(new OnClickListener() { 10. @Override 11. public void onClick(View v) { 12. try{ 13. EditText entrada = (EditText)findViewById(R.id.input_entrada); 14. String strValue = entrada.getText().toString(); 15. double valor = Double.parseDouble(strValue); 16. 17. double impuestos = valor * 0.07; 18. 19. String resultado = "Impuestos a pagar: " + impuestos; 20. 21. Intent intent = new Intent(v.getContext(), ResultadoActivity.class); 22. intent.putExtra("RESULTADO", resultado); 23. 24. startActivity(intent); 25. }catch(NumberFormatException nfe){ 26. Toast.makeText(v.getContext(), "Entrada inválida", Toast.LENGTH_SHORT); 27. } 28. } 29. }); 30. } 31.} 32.

Y aquí vemos InicioActivity, que es la actividad encargada de mostrar y responder a los eventos de dicha vista. Debemosconocer que cada componente de nuestras vistas que tiene asignado un id y tiene una representación en el fichero R.java,localizado dentro del paquete gen, entonces para acceder a cualquier componente visual lo hacemos haciendo referencia adicha representación y no al id en sí, por ejemplo:

view plain print ?

... 01. 02. Button boton = (Button)findViewById(R.id.boton_calcular); 03. 04.... 05.

Otro aspecto a tener en cuenta es la preparación del Intent, al que le podemos poner parámetros extras para que viajen deuna vista a otra.

Introducción Android http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pag...

6 of 8 16/11/13 07:56

view plain print ?

... 01. 02. intent.putExtra("RESULTADO", resultado); 03. 04.... 05.

De forma general, cuando se presiona el botón tomamos el valor que hay en el campo input_entrada, lo multiplicamos por 0.07y el resultado lo adjuntamos al intent que nos llevará a la siguiente actividad: ResultadoActivity.

El layout que representa la vista de la siguiente vista es muy sencillo:

view plain print ?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 01. android:orientation="vertical" 02. android:gravity="center_horizontal" 03. android:layout_width="fill_parent" 04. android:layout_height="fill_parent"> 05. 06. <TextView 07. android:id="@+id/text_resultado" 08. android:layout_width="fill_parent" 09. android:layout_height="wrap_content" 10. style="@style/encabezado"/> 11. 12. <Button 13. android:id="@+id/boton_atras" 14. android:layout_width="wrap_content" 15. android:layout_height="wrap_content" 16. android:text="Atrás"/> 17. 18.</LinearLayout> 19.

Y la actividad ResultadoActivity también:

view plain print ?

public class ResultadoActivity extends Activity{ 01. 02. @Override 03. protected void onCreate(Bundle savedInstanceState) { 04. super.onCreate(savedInstanceState); 05. 06. setContentView(R.layout.activity_resultado); 07. 08. String resultado = getIntent().getExtras().getString("RESULTADO"); 09. 10. TextView textResultado = (TextView)findViewById(R.id.text_resultado); 11. textResultado.setText(resultado); 12. 13. Button boton = (Button)findViewById(R.id.boton_atras); 14. 15. boton.setOnClickListener(new OnClickListener() { 16. @Override 17. public void onClick(View v) { 18. Intent intent = new Intent(v.getContext(), InicioActivity.class); 19. startActivity(intent); 20. } 21. }); 22. } 23.} 24.

Aquí indicamos que al crearse la actividad se muestre la vista representada por el layout activity_resultado. Luego tomamos elparámetro extra que viene con el intent y lo mostramos en el campo text_resultado. También indicamos que cuando sepresione el botón se regrese a la actividad InicioActivity.

Por último veremos el fichero AndroidManifest.xml

view plain print ?

<?xml version="1.0" encoding="utf-8"?> 01.<manifest xmlns:android="http://schemas.android.com/apk/res/android" 02. package="com.example.holamundo" 03. android:versionCode="1" 04. android:versionName="1.0" > 05. 06. <uses-sdk 07. android:minSdkVersion="8" 08. android:targetSdkVersion="18" /> 09. 10. <application 11. android:allowBackup="true" 12. android:icon="@drawable/ic_launcher" 13. android:label="@string/app_name" 14. android:theme="@style/AppTheme" > 15. 16. <activity 17. android:name=".InicioActivity" 18. android:label="@string/app_name" > 19. <intent-filter> 20. <action android:name="android.intent.action.MAIN" /> 21. 22. <category android:name="android.intent.category.LAUNCHER" /> 23. </intent-filter> 24. </activity> 25. 26. <activity android:name=".ResultadoActivity" > 27. </activity> 28. </application> 29. 30.

Introducción Android http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pag...

7 of 8 16/11/13 07:56

Esta obra está licenciada bajo licencia Creative Commons de Reconocimiento-No comercial-Sin obras derivadas 2.5

Share | 0

» Registrate y accede a esta y otras ventajas «

Anímate y coméntanos lo que pienses sobre este TUTORIAL:

</manifest> 31.

Como vemos, hay varios aspectos de configuración, como son el paquete, la versión sdk con la que se desarrolló, la versiónsdk mínima soportada, un tag <application> con los distintos aspectos propios de la aplicación como el icon, label y el tema.Dentro de este elemento están las distintas actividades y elementos que conforman nuestra aplicación, en nuestro caso está laactividad MainActivity, que a través del tag <intent-filter> con sus propiedades action y category especificamos que es laactividad principal de nuestra aplicación y que se mostrará cuando ésta sea ejecutada. Y además está la actividadResultadoActivity.

6. Conclusiones.

En este tutorial hemos visto cómo preparar el entorno para desarrollar aplicaciones Android, así como los fundamentos yprincipios básicos a tener en cuenta Por último desarrollamos una aplicación sencilla para poder ver algunos de estoselementos en la práctica.

Ésto es solo una introducción al mundo Android y sus potenciales, que iremos ampliando en tutoriales posteriores.

Un saludo.

A continuación puedes evaluarlo:

Regístrate para evaluarlo

Por favor, vota +1 o compártelo si te pareció interesante

Copyright 2003-2013 © All Rights Reserved | Texto legal y condiciones de uso | Banners | Powered by Autentia | Contacto

Introducción Android http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pag...

8 of 8 16/11/13 07:56