Upload
barcelona-gtug
View
1.299
Download
0
Embed Size (px)
DESCRIPTION
Demo de la aplicación android el temps. Explica los problemas de desarrollo de una aplicación como esta para Android
Citation preview
http://eltemps.joanpujol.catJoan Jesús Pujol Espinar (@lujop)
El Temps
• Descripción aplicación y su funcionamiento• Descripción técnica aplicación
– Descripción técnica– Librerías/tecnologías utilizadas– Principales problemas
• Aceptación y resultados en el Market
Índice
Información meteorológica precisa usando servicio local de meteorología (Meteocat):
Descripción aplicación y funcionamiento
Predicción Radar Otros datos Widgets
Predicción
Información parcial mostrada en el
primer momento posible
Estrategia caching
Dar buena experiencia usuario incluso en conexiones lentas:
Radar
Información parcial mostrada en el
primer momento posible
Posición actual
Auto animación una vez cargadas las
imágenes
Otra informaciónTemperaturas Lluvia Viento
Widgets
Configuración Widget
Detalle predicción
Widget
Descripción técnica
Activity
Handler
AsyncTask {
void cancel() {}
doInBackground() {loadDataToday()sendTodayLoaded()loadedDataTomorrow()sendTomorrowLoaded()…sendFinished()
}
DataLoaderService
Carga básica de datos
Descripción técnica
WidgetProvider
RemoteView
Se ejecuta bajo demandaSolo consulta servicio externo si necesario
Cada hora
AppWidgetManager
DataLoaderServiceUpdateService {
}
LoadingTHREAD
MAVEN• “Sencillo” y funciona bien sin dar problemas.• Gestiona todo el ciclo incluyendo compilación,
instalación dispositivo, firmado, ofuscación,…
Puede ser una opción recomendable si:• Os gusta/se domina maven.• Aplicación integrada y dependiente de varios
módulos externos.• Opensource/varios desarrolladores con
independencia IDE.
Herramientas/Librerías utilizadas
FLURRYMuy sencillo y sin problemas
Herramientas/Librerías utilizadas
onPageView() onEvent(nombreEvento,parmetros)
ACRA (Aplication Crash Report for Android)
Muy sencillo y sin problemas:ACRA.init(this);ErrorReporter.getInstance().handleSilentException(ex)
Envía hoja cálculo Google Documents.
Muchas más posibilidades:URL propia, poner errores en notify bar, comentarios
usuario, eventos logcat,…
Herramientas/Librerías utilizadas
AdwhirlMediador anuncios en el clienteSoporta Admob, AdSense, MillennialMedia,
InMob,ZestADZ,MDotM,…Funciona pero con sus problemillas y sin estándar calidad
Google:• Problemas house ads• Problemas layout• Problemas con algunas versiones SDK…
Es transparente y permite modificar asignaciones en el servidor
Herramientas/Librerías utilizadas
Sorpresas/problemillas primera aplicación android:
• Todo asíncrono, incluso diálogos -> Código más difícil de leer y propenso errores.
• Concepto de Servicio e interactuaciones con widget• Limitaciones memoria, y memory leaks. Cuidado
con WebView en layouts y con referencias a contexto
Principales problemas
Cuanta memoria puedo gastar? 16 Todos24 Nexus One, Galaxy S,32 Nexus S
Cuanta memoria gasto?• Running Services: 18Mb• adb dumpsys 17Mb native 4Mb Dalvik 21MbTotal• DDMS 3Mb• Heap dump 2Mb
Principales problemas
MAT (Eclipse Memory Analizer)
Principales problemasDemasiadas referencias
Recomendación:HistogramaIncoming references Path to GC Root excluding ALL
• 2 Meses en el market• Más de 4200 usuarios. Unos 100 por día.• Buenas votaciones
• Dinero: Solo unos 50 céntimos día. Fill rate 30%• Por ahora solo AdMob y ONG
Aceptación y resultados en el market
GraciasPreguntas, dudas sugerencias…?¿