Your SlideShare is downloading. ×
  • Like
Programación de Apps con Android – Avanzado por Jorge Pintado
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

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

  • 3,258 views
Published

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
3,258
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
29
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Android Tips & Tricks   
  • 2. Código oculto de Android   
  • 3. ¿Qué es?En Android encontramos clases, constantes y funciones marcadas con @hide   
  • 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. Tamaño de la App   
  • 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. ● ¿Por qué? ● Es interesante reducir el tamaño de la app: ● Memoria del teléfono ● Limitación de Google Play   
  • 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. ¿Cómo? (II) ● Eliminar información de Debug: ● Solución 1: static final debug = false; if (debug) {           Log.v(TAG, “Debug …”); }   
  • 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. ¿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. ¿Cómo? (V) ● 9patch ● Ahorro de repetición de imágenes   
  • 13. Código fuente Android   
  • 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. ● http://source.android.com/source/downloa ding.html ● https://github.com/android   
  • 16. ¿Cómo? (VI) ● Eliminar recursos no utilizados ● Eliminar código repetido   
  • 17. Instalar en la tarjeta SD   
  • 18. Procedimiento ● Incluir en el manifest: <manifest xmlns:android="http://schemas.android.com/apk/res/android"  android:installLocation="preferExternal" ... >   
  • 19. Soporte para múltiples APK en Google Play   
  • 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. Aplication Context   
  • 22. Test ● ¿Esto funciona? Intent i = new Intent(this, MyNewClass.java); ● ¿Existe algún problema?   
  • 23. Test 2 ● ¿Esto funciona? Context mContext = getApplicationContext(); Intent i = new Intent(mContext, MyNewClass.java); ● ¿Existe algún problema?   
  • 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. Realidad Aumentada   
  • 26. ● Layar: http://www.layar.com/documentation/player/android­  shortcut­generator/ ● ARViewer: http://www.libregeosocial.org/node/24