miércoles, 22 de abril de 2015

If Yoda-Style

Explicaré dos estilos de hacer los IF en programación:

Normal style:
if (x == 5)
Cómo hacer un if yoda style:
if (5 == x)

¿En que ayuda esto?
Bueno supongamos que escribiste mal: if (x = 5) osea que te haya faltado un signo de igual entonces lo que pasara es que te dara true porque se le asigno 5 a x y es true y te daras de topes con la pared porque en ningun lado te marcara ese error, pero yoda style supongamos que te equivocas if (5 = x) ahora si te marcará un error en esa línea porque no le puedes asignar x a 5 por lo que será un error de ejecución.

Y ahora entendieron de qué sirven los if yoda-style ;)

domingo, 19 de abril de 2015

De Phonegap/Cordova a Google Play



Ok, yo nunca había querido subir una app al Google Play, pero el otro día me dió curiosidad por subir una app, yo siempre he hecho apps usando el framework Cordova (antes se llamaba Phonegap) diré los pasos:

1. Abrir el cmd en modo administrador (SUPER IMPORTANTE que sea modo administrador, todos los pasos de este tutorial lo haremos con cmd en modo administrador) ¿cómo? Pues entra a C:\Windows\System32 Busca cmd y dale click derecho "ejecutar como administrador".
2. Viaja a tu carpeta donde tienes tu app (ejemplo: cd C:\miapp)
3. Escribe cordova build android --release y das enter.
4. Si todo sale bien y no marca errores entonces tu app deberia estar en: C:\miapp\platforms\android\ant-build\*-release-unsigned.apk

¡Bien! Hasta aquí ya tienes tu app, sin modo debug, pero, está sin firmar, para firmar haremos lo siguiente:

Tienes que buscar tu programa "keytool", este programa lo debes tener en la carpeta de Java, por ejemplo en la carpeta: C:\Program Files\Java\jdk1.7.0_21\bin

Keytool te ayudará a crear una firma digital, sigue los siguientes pasos:

1. cd C:\Program Files\Java\jdk1.7.0_21\bin
2. keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
3. Te pedirá tu nombre, dirección y cosas así, llénalos correctamente para que Google/Android sepan bien quién es el padre de tu app ;)

Ahora ya con la firma digital creada procedemos a firmar nuestra app

1. jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore C:\miapp\platforms\android\ant-build\*-release-unsigned.apk alias_name

Ahora tenemos que alinearla (sí, yo también en este punto ya estaba desesperado, ya quería terminar, pero ya es el último paso). Para alinearla necesitamos el zipalign, este programa se encuentra dentro de tu SDK de Android por ejemplo en: C:\adt-bundle-windows-x86_64-20140321\sdk\build-tools\20.0.0\ así que haremos lo siguiente:

1. cd C:\adt-bundle-windows-x86_64-20140321\sdk\build-tools\20.0.0\
2. zipalign -v 4 C:\miapp\platforms\android\ant-build\*-release-unsigned.apk C:\miapp.apk

¿Que pasa aquí? Pues estoy tomando el apk que tengo dentro de mi proyecto Cordova (el apk que acabamos de firmar) y lo guardo ya alineado en C:\miapp.apk. Ahora, una duda podría ser ¿Por qué el nombre de mi apk dentro de mi proyecto Cordova sigue llevando la palabra "unsigned" si se supone que ya la firmé? Bueno amigo, ya se que fastidia, pero, sólo es un nombre, ya está firmada no te preocupes, ahora lo más importante es que nuestra app ya firmada y alineada se encuentra en C:\miapp.apk :D

¿Que sigue de aquí? Debes entrar en Google Play Developer Console pagar para tener una cuenta (sólo se debe pagar una vez y te olvidas) y dar de alta la app, te pedirá más datos y capturas de pantalla y más cosas que desesperan, pero al final de cuenta tendrás tu app en Google Play.