Programación de Apps con Android – Avanzado por Jorge Pintado

3,707 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,707
On SlideShare
0
From Embeds
0
Number of Embeds
1,503
Actions
Shares
0
Downloads
33
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Programación de Apps con Android – Avanzado por Jorge Pintado

  1. 1. Android Tips & Tricks   
  2. 2. Código oculto de Android   
  3. 3. ¿Qué es?En Android encontramos clases, constantes y funciones marcadas con @hide   
  4. 4. ¿Qué significa?En el desarrollo: ● Android SDK: android.jar ● Elimina todos los @hide e internalEn la compilación: ●  Framework.jar ●  Incluye los @hide e internal   
  5. 5. Tamaño de la App   
  6. 6. ¿Qué es una app?David Karlsson, Sony Ericsson software architect.El APK es basicamente un zip con:● Ficheros .dex (código, Dalvik Executable)● Recursos● Assets● Manifest   
  7. 7. ● ¿Por qué? ● Es interesante reducir el tamaño de la app: ● Memoria del teléfono ● Limitación de Google Play   
  8. 8. ● ¿Cómo? ● Ofuscación de código ● Eliminar información de Debug ● Generalmente información no utilizada después del  desarrollo ● Información que no se visualiza ● Se recomienda eliminarla   
  9. 9. ¿Cómo? (II) ● Eliminar información de Debug: ● Solución 1: static final debug = false; if (debug) {           Log.v(TAG, “Debug …”); }   
  10. 10. ¿Cómo? (III) ● Eliminar información de Debug: ● ¿Solución 2?: public void myDebugPrint(String s) {     if (Debug) {               Log.v(TAG, s);     } } myDebugPrint(“debug”);   
  11. 11. ¿Cómo? (IV) ● Formato multimedia ● Imágenes: – PNG (optimizado si es posible) – JPEG ● Audio: – AAC mejor que Ogg Vorbis o mp3 ● Vídeo: – H264 AVC – Resolución menor que el tamaño de la pantalla   
  12. 12. ¿Cómo? (V) ● 9patch ● Ahorro de repetición de imágenes   
  13. 13. Código fuente Android   
  14. 14. ¿Cómo? (V) ● Open Source → código fuente de las apps también     disponible ● Analizar el código ● Reutilización de interfaces (layout) ● Diseño de aplicaciones del sistema   
  15. 15. ● http://source.android.com/source/downloa ding.html ● https://github.com/android   
  16. 16. ¿Cómo? (VI) ● Eliminar recursos no utilizados ● Eliminar código repetido   
  17. 17. Instalar en la tarjeta SD   
  18. 18. Procedimiento ● Incluir en el manifest: <manifest xmlns:android="http://schemas.android.com/apk/res/android"  android:installLocation="preferExternal" ... >   
  19. 19. Soporte para múltiples APK en Google Play   
  20. 20. ● Tendremos SOLO una entrada en Google Play para nuestra aplicación ● Diferentes dispositivos descargan diferentes APK. ● Solo tenemos una descripción de producto (iconos, capturas, descripción, etc). ● Si actualizamos una versión de la aplicación para un grupo concreto, Android  actualizará la aplicación en los usuarios concretos. Product details →  Edit Application →  Upload new APK   
  21. 21. Aplication Context   
  22. 22. Test ● ¿Esto funciona? Intent i = new Intent(this, MyNewClass.java); ● ¿Existe algún problema?   
  23. 23. Test 2 ● ¿Esto funciona? Context mContext = getApplicationContext(); Intent i = new Intent(mContext, MyNewClass.java); ● ¿Existe algún problema?   
  24. 24. Solución ● GetApplicationContext es la forma adecuada de acceder al Context de la aplicación: ● Evita problema de pérdida de memoria ● Una referencia a una Activity debe tener el mismo ciclo de vida que la  Activity. ● Utilicemos el concepto “Contexto de la aplicación” en lugar de “Contexto de  la Activity”   
  25. 25. Realidad Aumentada   
  26. 26. ● Layar: http://www.layar.com/documentation/player/android­  shortcut­generator/ ● ARViewer: http://www.libregeosocial.org/node/24   

×