Transparencias de apoyo del Taller Práctico de Android impartido en la iParty 13 (http://iparty.aditel.org). El código fuente del caso de estudio puede encontrarse aquí: https://bitbucket.org/jmunoz/android-example-eltiempo
Diapositivas de mi curso introductorio de Android en 5 horas.
EN EL CONGRESO UNIVERSITARIO MOVIL 2012 SE USÓ ESTA PRESENTACIÓN PARA HABLAR DE ANDROID Y SE HIZO UNA APP PARLANCHINA COMO EJEMPLO DEL CONTENIDO, AQUI ESTÁ EL CODIGO FUENTE https://www.dropbox.com/s/1dbso3rb47be1hj/Hablar.zip?%20m
Diapositivas de mi curso introductorio de Android en 5 horas.
EN EL CONGRESO UNIVERSITARIO MOVIL 2012 SE USÓ ESTA PRESENTACIÓN PARA HABLAR DE ANDROID Y SE HIZO UNA APP PARLANCHINA COMO EJEMPLO DEL CONTENIDO, AQUI ESTÁ EL CODIGO FUENTE https://www.dropbox.com/s/1dbso3rb47be1hj/Hablar.zip?%20m
Realidad aumentada en Android: reconocimiento de imágenes y geolocalización u...José Ignacio Álvarez Ruiz
Presentación utilizada para el evento Google DevFest Sur el 25/10/2013. En la charla revisamos el estado del arte en cuanto a bibliotecas de realidad aumentada para Android. Vimos cómo funcionan de manera general y estudiamos un ejemplo práctico de reconocimiento de imágenes y geolocalización con la biblioteca Wikitude.
Curso para adquirir las capacidades necesarias para desarrollar bajo la plataforma Android.
Para más información, visita nuestra página web en:
http://www.slashmobility.com
***Proyecto PAPIIT IN102210***
UNAM. Facultad de Ingeniería.
Integrantes:
JUAN JOSE CARREON
J. ULISES GONZALEZ MEDINA
ANA LAURA GARCÍA ACOSTA
OMAR SIBAJA BAUTISTA
ROBERTO SOSA HIGAREDA
***Proyecto PAPIIT IN102210***
UNAM. Facultad de Ingeniería.
Integrantes:
JUAN JOSE CARREON
J. ULISES GONZALEZ MEDINA
ANA LAURA GARCÍA ACOSTA
OMAR SIBAJA BAUTISTA
ROBERTO SOSA HIGAREDA
***Proyecto PAPIIT IN102210***
UNAM. Facultad de Ingeniería.
Integrantes:
JUAN JOSE CARREON
J. ULISES GONZALEZ MEDINA
ANA LAURA GARCÍA ACOSTA
OMAR SIBAJA BAUTISTA
ROBERTO SOSA HIGAREDA
Fundamentos desarrollo de Apps para Androidandresuarezz26
Esta es la introducción que necesitas para empezar a convertirte en desarrollador Android. Se describen generalidades de Android, la estructura de un proyecto y los componentes de la arquitectura.
Temas:
• Web Service Almacenamiento en Mysql
• Componentes Necesarios
• Funcionamiento de Web Service
• Ciclo de Vida de Web Service
• Métodos Derivados de la Clase Service
Realidad aumentada en Android: reconocimiento de imágenes y geolocalización u...José Ignacio Álvarez Ruiz
Presentación utilizada para el evento Google DevFest Sur el 25/10/2013. En la charla revisamos el estado del arte en cuanto a bibliotecas de realidad aumentada para Android. Vimos cómo funcionan de manera general y estudiamos un ejemplo práctico de reconocimiento de imágenes y geolocalización con la biblioteca Wikitude.
Curso para adquirir las capacidades necesarias para desarrollar bajo la plataforma Android.
Para más información, visita nuestra página web en:
http://www.slashmobility.com
***Proyecto PAPIIT IN102210***
UNAM. Facultad de Ingeniería.
Integrantes:
JUAN JOSE CARREON
J. ULISES GONZALEZ MEDINA
ANA LAURA GARCÍA ACOSTA
OMAR SIBAJA BAUTISTA
ROBERTO SOSA HIGAREDA
***Proyecto PAPIIT IN102210***
UNAM. Facultad de Ingeniería.
Integrantes:
JUAN JOSE CARREON
J. ULISES GONZALEZ MEDINA
ANA LAURA GARCÍA ACOSTA
OMAR SIBAJA BAUTISTA
ROBERTO SOSA HIGAREDA
***Proyecto PAPIIT IN102210***
UNAM. Facultad de Ingeniería.
Integrantes:
JUAN JOSE CARREON
J. ULISES GONZALEZ MEDINA
ANA LAURA GARCÍA ACOSTA
OMAR SIBAJA BAUTISTA
ROBERTO SOSA HIGAREDA
Fundamentos desarrollo de Apps para Androidandresuarezz26
Esta es la introducción que necesitas para empezar a convertirte en desarrollador Android. Se describen generalidades de Android, la estructura de un proyecto y los componentes de la arquitectura.
Temas:
• Web Service Almacenamiento en Mysql
• Componentes Necesarios
• Funcionamiento de Web Service
• Ciclo de Vida de Web Service
• Métodos Derivados de la Clase Service
Una pagina donde podes conseguir muchos libros y revistas de programación e informática en general que son muy difíciles de encontrar y descargar online
http://bibliadelprogramador.blogspot.com.ar/
Introducción a Android: 10 cosas importantes que hay que entenderjezabelink
Estan son las diapositivas del taller de Android que se dio en la Universidad Autonoma de Baja California Sur por parte de UNAM MOBILE.
Web: unammobile.net
Tw: @unam_mobile
Taller de Android para Webconf Latino 2010
- El sistema operativo de android con DEX
- Desarrollo y herramientas de Android (eclipse)
- Herramientas para crear aplicaciones
- Como crear una imagen y el emulador
- Desarrollo nativo en C/C++ para Android
android libro de principios basicos de programacion en este entorno, resumen detallado de los factores que inciden en la creacion de una aplicacion con pasos sencillos de android
Presentación para el 2do meetup TI realizado en Temuco - Chile. La presentación por si sola no es auto explicativa, por lo que se puede complementar con este video: http://www.youtube.com/playlist?list=PLDBEAE35BC0850582
La persistencia es un detalle imprescindible en la mayoría de aplicaciones. En esta charla se dará una visión de distintos mecanismos para persistir los datos en aplicaciones Android. Se hará especial énfasis en el uso de patrones de diseño para implementar la persistencia de manera que se incremente la flexibilidad y mantenibilidad de nuestras aplicaciones. La charla estará acompañada de ejemplos prácticos de código para ilustrar los principios descritos.
Es un diagrama para La asistencia técnica o apoyo técnico es brindada por las compañías para que sus clientes puedan hacer uso de sus productos o servicios de la manera en que fueron puestos a la venta.
En este documento analizamos ciertos conceptos relacionados con la ficha 1 y 2. Y concluimos, dando el porque es importante desarrollar nuestras habilidades de pensamiento.
Sara Sofia Bedoya Montezuma.
9-1.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Telefónica
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0xWord escrito por Ibón Reinoso ( https://mypublicinbox.com/IBhone ) con Prólogo de Chema Alonso ( https://mypublicinbox.com/ChemaAlonso ). Puedes comprarlo aquí: https://0xword.com/es/libros/233-big-data-tecnologias-para-arquitecturas-data-centric.html
3Redu: Responsabilidad, Resiliencia y Respetocdraco
¡Hola! Somos 3Redu, conformados por Juan Camilo y Cristian. Entendemos las dificultades que enfrentan muchos estudiantes al tratar de comprender conceptos matemáticos. Nuestro objetivo es brindar una solución inclusiva y accesible para todos.
4. ¿Quién soy?
Formación Académica Exp. Profesional
● 2003 Ing. Informática ● 2010 Nabbel
Universitat Jaume I Director
● 2008 PhD Ing. Software ● 2008 Prodevelop
Universidad Politécnica Jefe de Proyectos, I+D+i
de Valencia MOSKitt
@jmunozf http://www.moskitt.org
● 2007 Integranova
Jefe de Proyectos
Experiencia con Android
● https://play.google.com/store/apps/developer?id=Nabbel
● Profesor Curso Introducción Android en Universidad de
Verano de la Universidad CEU Cardenal Herrera
5. ¿Qué vamos a hacer hoy?
Lector del tiempo
Datos de http://www.aemet.es/
Aprenderemos
Uso básico del SDK
Estructura proyecto Android
Implementar pantallas
Parseo XML datos remotos
ContentProviders
Tareas en background
https://bitbucket.org/jmunoz/android-example-eltiempo
15. Android: SDK
SDK + AVD
Plataforma + Emuladores
Documentación + Ejemplos
Librerías de 3as partes
Google Maps
GalaxyTab
Eclipse Plugin
Proyecto Eclipse tipo Android
Herramientas Empaquetado
Debugging
Gestión del Emulador (copiar archivos, pantallazos, etc.)
16. Android: Arquitectura Aplicaciones
Activities Content Providers
Pantallas... independientes Acceso a datos entre
entre sí aplicaciones
Concepto principal Independientes de su
persistencia (XML, SQLite,
remoto...)
Services
Funcionalidad de larga
Broadcast Receivers
duración sin UI
Escucha mensajes de difusión
Services vs Threads →
Services funcionan con app Ejemplos: pantalla apagada,
cerrada archivo descargados, batería
baja...
17. Android: Arquitectura Aplicaciones
Intents Acciones estándar:
ACTION_MAIN
Mensajes asíncronos entre ACTION_VIEW
componentes ACTION_ATTACH_DATA
ACTION_EDIT
Enlazan componentes en ACTION_PICK
tiempo de ejecución ACTION_CHOOSER
ACTION_GET_CONTENT
Contienen: ACTION_DIAL
Action ACTION_CALL
ACTION_SEND
URI ACTION_SENDTO
ACTION_ANSWER
Extras ACTION_INSERT
ACTION_DELETE
¿Qué acciones hay? ACTION_RUN
Definidas en SDK ACTION_SYNC
ACTION_PICK_ACTIVITY
OpenIntents: ACTION_SEARCH
ACTION_WEB_SEARCH
http://www.openintents.org/en/intentstable ACTION_FACTORY_TEST
18. Android: Arquitectura Aplicaciones
Ejemplos de Acción/URI en Intents
ACTION_VIEW content://contacts/people/1
ACTION_DIAL content://contacts/people/1
ACTION_DIAL tel:123
ACTION_EDIT content://contacts/people/1
Ejecución de Intents
Intent i = new Intent(this, IntentA.class);
startActivity(i);
Uri uri = Uri.parse( "http://iparty.aditel.org" );
startActivity( new Intent( Intent.ACTION_VIEW, uri ) );
21. Desarrollo Aplicación
1.- Crear Proyecto
2.- Crear Emulador
3.- Lanzar App en el Emulador
4.- Editar Interfaz Usuario
5.- Actualizar Interfaz de Usuario
6.- Leer Datos del Servidor
7.- Cargar Imagen en Background
8.- Configurar Spinner
9.- Empaquetar para Distribución
22. Paso 1: Crear proyecto
New > Android Projet
Select Build Target:
Usaremos 2.1 (level 7)
23. Android: Arquitectura Aplicaciones
Activity básica
package com.example.helloandroid;
import android.app.Activity;
import android.os.Bundle;
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
40. Identificación Componentes UI
Android UI XML
● El atributo id identifica la vista dentro de la jerarquía
● El símbolo (@) indica que viene un identificador
● El símbolo (+) indica que es un nombre nuevo (no una
referencia)
● Todas las vistas deben definir: <TextView
android:id="@+id/nameLabel"
● android:layout_width android:text="phone:"
android:layout_width="100"
● android:layout_height android:layout_height="60" />
41. Referenciar Componentes UI
Android UI XML
● Clase Java con los identificadores de recursos:
● Generada automáticamente al compilar (no tocar!!)
● Se llamará: nuestro.paquete.R
● Contiene identificadores de:
– Widgets de los Layouts
– Los archivos contenidos en “res/” (layouts, drawables, strings,
colors, etc.)
● Widgets accesibles desde el código Java
Button btn = (Button) findViewById(R.id.acceptButton);
42. Desarrollo Aplicación
1.- Crear Proyecto
2.- Crear Emulador
3.- Lanzar App en el Emulador
4.- Editar Interfaz Usuario
5.- Actualizar Interfaz de Usuario
6.- Leer Datos del Servidor
7.- Cargar Imagen en Background
8.- Configurar Spinner
9.- Empaquetar para Distribución
43. Desarrollo Aplicación
1.- Crear Proyecto
2.- Crear Emulador
3.- Lanzar App en el Emulador
4.- Editar Interfaz Usuario
5.- Actualizar Interfaz de Usuario
6.- Leer Datos del Servidor
7.- Cargar Imagen en Background
8.- Configurar Spinner
9.- Empaquetar para Distribución
44. Tratamiento de XML
Paso 6: Leer datos del servidor
● Opciones para manejar el XML
● SAX
– Basado en eventos
– Compatible con handlers Java pre-existente
– El más “estándar”
● SAX Simplificado
– Se asocian eventos a etiquetas
– Evita gestión en el handler de situación actual
● DOM
– Estructura tipo árbol
– Mayor consumo de memoria
● XMLPull
– Lectura del XML guiada
– Pedimos elementos
45. SAX Simplificado
SAX Simplificado
public List<Noticia> parse(){ item.getChild("link").setEndTextElementListener(
final List<Noticia> noticias = new ArrayList<Noticia>(); new EndTextElementListener(){
public void end(String body) {
RootElement root = new RootElement("rss"); noticiaActual.setLink(body);
Element channel = root.getChild("channel"); }
Element item = channel.getChild("item"); });
item.setStartElementListener(new StartElementListener(){ item.getChild("description").setEndTextElementListener(
public void start(Attributes attrs) { new EndTextElementListener(){
noticiaActual = new Noticia(); public void end(String body) {
} noticiaActual.setDescripcion(body);
}); }
});
item.setEndElementListener(new EndElementListener(){
public void end() { ...
noticias.add(noticiaActual);
}
});
Xml.parse(this.getInputStream(),
item.getChild("title").setEndTextElementListener( Xml.Encoding.UTF_8,
new EndTextElementListener(){ root.getContentHandler());
public void end(String body) {
noticiaActual.setTitulo(body);
} return noticias;
});
}
46. Desarrollo Aplicación
1.- Crear Proyecto
2.- Crear Emulador
3.- Lanzar App en el Emulador
4.- Editar Interfaz Usuario
5.- Actualizar Interfaz de Usuario
6.- Leer Datos del Servidor
7.- Cargar Imagen en Background
8.- Configurar Spinner
9.- Empaquetar para Distribución
47. Desarrollo Aplicación
1.- Crear Proyecto
2.- Crear Emulador
3.- Lanzar App en el Emulador
4.- Editar Interfaz Usuario
5.- Actualizar Interfaz de Usuario
6.- Leer Datos del Servidor
7.- Cargar Imagen en Background
8.- Configurar Spinner
9.- Empaquetar para Distribución
49. Desarrollo Aplicación
1.- Crear Proyecto
2.- Crear Emulador
3.- Lanzar App en el Emulador
4.- Editar Interfaz Usuario
5.- Actualizar Interfaz de Usuario
6.- Leer Datos del Servidor
7.- Cargar Imagen en Background
8.- Configurar Spinner
9.- Empaquetar para Distribución
50. Desarrollo Aplicación
1.- Crear Proyecto
2.- Crear Emulador
3.- Lanzar App en el Emulador
4.- Editar Interfaz Usuario
5.- Actualizar Interfaz de Usuario
6.- Leer Datos del Servidor
7.- Cargar Imagen en Background
8.- Configurar Spinner
9.- Empaquetar para Distribución
51. Android: Cosas que quizáSpinner (3)
Paso 8: Configurar no sepas
Adapters
Spinner
● Desplegable de Selección
● Adapter para las opciones
52. Android: Cosas que quizáSpinner (3)
Paso 8: Configurar no sepas
Adapters
● Adaptar datos para una necesidad
● LisAdapters (Interface)→ Datos para ser mostrados en ListView
● (abstract) android.widget.BaseAdapter
– Clase base para todos los Adapter
● android.widget.ArrayAdapter<T>
– Mostrar contenido de un Array o List
public ArrayAdapter (Context context,
int resource,
int textViewResourceId,
List<T> objects)
53. Desarrollo Aplicación
1.- Crear Proyecto
2.- Crear Emulador
3.- Lanzar App en el Emulador
4.- Editar Interfaz Usuario
5.- Actualizar Interfaz de Usuario
6.- Leer Datos del Servidor
7.- Cargar Imagen en Background
8.- Configurar Spinner
9.- Empaquetar para Distribución
54. Desarrollo Aplicación
1.- Crear Proyecto
2.- Crear Emulador
3.- Lanzar App en el Emulador
4.- Editar Interfaz Usuario
5.- Actualizar Interfaz de Usuario
6.- Leer Datos del Servidor
7.- Cargar Imagen en Background
8.- Configurar Spinner
9.- Empaquetar para Distribución
55. Android:Empaquetar para no sepas (3)
Paso 9: Cosas que quizá Distribución
Compilar y Firmar
● Utilizando Eclipse
● Opción del menú contextual:
– Android Tools > Export Signed Application Package
● Asistente para seleccionar:
– Archivo destino
– Almacén de clave
– Clave
● Zipalign
– Ejecutado por el asistente
– Los datos descomprimidos empiezan en
una cierta posición
– Mejora de rendimiento en dispositivos
56. Android: Cosas que quizá no sepas (3)
Crear clave privada
Creación Clave Privada
● Condiciones
● Contiene los datos tuyos o de tu organización
● Validez después de 22 Octubre 2033
● NO utilices la de debug
● Creación
$ keytool -genkey -v -keystore my-release-key.keystore
-alias alias_name -keyalg RSA -keysize 2048 -validity 10000
● Pedirá:
– Definir los datos de la organización
– Crear el password del almacén de claves
– Crear el password de la clave
57. http://www.nabbel.es
Taller Práctico de Android
Javier Muñoz
(jmunoz@nabbel.es)
@jmunozf