Cuando estamos intentando rastrear un problema en una aplicación SD, muchas veces es útil contar con un registro de la interacción entre el dispositivo y el servidor.
En iOS, esto se puede hacer de forma bastante simple con la aplicación Knowledge Base Navigator (o KBN).
El log está deshabilitado por defecto. Para habilitarlo, debemos ir a la aplicación de Ajustes del dispositivo...
... buscar las preferencias del KBN, y en Advanced, prender el check "Enable Log" y todos los que están en la sección "Log Customization".
Una vez hecho esto, volvemos a la aplicación del KBN, y en la pantalla inicial vamos a ver un nuevo botón que dice "View Log".
¿Qué cosas se pueden ver en este log? Todos los "requests" que haga el dispositivo al servidor con los datos que le manda, y todas las respuestas del servidor con los datos que le devuelve.
No sirve para solucionar todos los problemas, pero muchas veces sirve para darse cuenta de lo que está pasando. Por ejemplo, si una variable no está inicializada, o si no se están pasando los parámetros correctos a un objeto.
jueves, 26 de julio de 2012
miércoles, 25 de julio de 2012
Evitar el giro de la pantalla
Los Smart Devices nos brindan la posibilidad de rotar el contenido de la pantalla al girar el dispositivo para poder tener una vista diferente, ampliada o mejorara del contenido de las aplicaciones.
Cuando desarrollamos aplicaciones para Smart Devices, incluso podemos implementar comportamientos diferentes de la aplicación según la "posición" en que esté el dispositivo. En GeneXus esto se hace a través de los diferentes tipos de Layout que se pueden definir en un panel, pudiendo definir Layouts diferentes según la orientación del dispositivo (Portrait, Landscape), además de para las diferentes plataformas y tamaños.
A veces pasa lo contrario, que no queremos que el contenido de la pantalla rote, porque esto hace que el diseño de la misma no quede muy agradable.
Cuando desarrollamos aplicaciones para Smart Devices, incluso podemos implementar comportamientos diferentes de la aplicación según la "posición" en que esté el dispositivo. En GeneXus esto se hace a través de los diferentes tipos de Layout que se pueden definir en un panel, pudiendo definir Layouts diferentes según la orientación del dispositivo (Portrait, Landscape), además de para las diferentes plataformas y tamaños.
A veces pasa lo contrario, que no queremos que el contenido de la pantalla rote, porque esto hace que el diseño de la misma no quede muy agradable.
viernes, 20 de julio de 2012
Colores transparentes
Cuando queremos que un elemento de nuestra aplicación tenga un determinado color,
establecemos ese color utilizando algún código, un valor hexadecimal, un valor
expresado como RGB() o una palabra que lo identifica, por ejemplo:
- Color: #FF0000;
- Color: rgb(255,0,0);
- Color: rgb(100%,0%,0%);
- Color: red;
Todas esas definiciones harán lo mismo, mostrar algo de color rojo. Es
lo que se llama el modelo RGB (Red Green Blue) donde cada color está compuesto
por una parte de rojo, una parte de verde y una parte de azul y las diferentes
proporciones de estos componentes generan todos los colores posibles.
Pero también se le pude dar cierta transparencia a los
colores, y para ello tenemos los llamados colores RGBA (Red Green Blue Alpha), el alpha cannel indica la opacidad o transparencia del color.
jueves, 19 de julio de 2012
Carga el iPad desde tu PC
Si se quiere cargar el iPad conectándolo a la PC mediante el cable USB, se puede ver que el mismo no carga. Al lado del icono de la batería se muestra el mensaje: “No se está cargando”
Ésto ocurre porque el puerto USB no tiene el suficiente voltaje como para cargar el dispositivo.
Gracias a AiCharger ahora podemos tener mas voltaje en nuestros puertos USB para poder cargar nuestros dispositivos.
Solamente debes seguir los siguiente pasos:
1- Descargar AiCharger desde aquí
2- Descomprimir el .rar
3- Ejecutar el Setup.exe que se encuentra dentro del folder descomprimido.
Listo!!!
Ya se puede conectar el iPad a la PC para ser cargado.
Ésto ocurre porque el puerto USB no tiene el suficiente voltaje como para cargar el dispositivo.
Gracias a AiCharger ahora podemos tener mas voltaje en nuestros puertos USB para poder cargar nuestros dispositivos.
Solamente debes seguir los siguiente pasos:
1- Descargar AiCharger desde aquí
2- Descomprimir el .rar
3- Ejecutar el Setup.exe que se encuentra dentro del folder descomprimido.
Listo!!!
Ya se puede conectar el iPad a la PC para ser cargado.
Nota: También funciona para iPod e iPhone
Navegación personalizada de registros (II): Calendario de partidos con swipe
Lo que se explicará aquí es como hacer algo similar a lo comentado en un post anterior con respecto a un calendario de partidos de un campeonato de fútbol, pero haciendo uso de la funcionalidad del gesto swipe de los Smart Devices. La idea es pasar entre fecha y fecha del calendario con el gesto swipe, hacia la izquierda para ir a la fecha anterior y hacia la derecha para ir a la fecha siguiente.
Navegación personalizada de registros: Calendario de partidos de fútbol
Muchas veces necesitamos crear secuencias de navegación sobre la misma entidad, haciendo un corte por uno de sus elementos. Por ejemplo, tenemos el calendario de un campeonato de fútbol y queremos mostrarlo listando los partidos para cada fecha del campeonato, teniendo la posibilidad de navegar para atrás y para adelante en las fechas, por ejemplo algo como lo siguiente:
Las flechas de la parte superior permiten navegar hacia la fecha anterior y siguiente respectivamente.
Las flechas de la parte superior permiten navegar hacia la fecha anterior y siguiente respectivamente.
miércoles, 18 de julio de 2012
Cómo probar con Android 4.0 si no se tiene un device
Quería probar con Android 4.0 y no tengo un device con esa version asi que decidi probar con un emulador.
Para eso instalé el SDK R18 (el SDK se puede bajar de http://developer.android.com/sdk/index.html aunque creo solo dejan la ultima version disponible) y luego segui las instrucciones de este link
Para eso instalé el SDK R18 (el SDK se puede bajar de http://developer.android.com/sdk/index.html aunque creo solo dejan la ultima version disponible) y luego segui las instrucciones de este link
¿Como ejecutar el emulador con diferentes versiones de Android?
Como se explica acá cuando se ejecuta desde el IDE (F5) se busca un emulador levantado, si existe se usa ese. Por lo cual si se levanta el emulador con un AVD de 4.0 antes de dar F5 se usará ese.
Tres tips sobre: ejecución de aplicaciones en Android
Algunos tips que pueden aportar para el desarrollo de aplicaciones GeneXus para Android
Tip 1: ¿ejecutar vía Knowledge Base Navigator o la aplicación compilada?
Tip 2: ¿qué se ejecuta?
Tip 3: ¿en qué emulador o device se ejecuta?
Logging/troubleshooting en android
La versión Evolution 2 de Genexus incluye generadores para iOS (iPad, iPhone e iPod), Android (Galaxy, etc) y Blackberry (RIM).
En particular ahora estaba desarrollando una aplicación para Android y tuve algun problema dificil de identificar. Usando una herramienta para procesar el "log" de la aplicación pude encontrar y corregir rapidamente el problema.
Independientemente de que se tenga o no problema, el manejar el "logging" puede ayudar en optimizaciones, chequear qué servicios se están consumiendo desde la aplicación, qué datos viajan, etc.
En particular ahora estaba desarrollando una aplicación para Android y tuve algun problema dificil de identificar. Usando una herramienta para procesar el "log" de la aplicación pude encontrar y corregir rapidamente el problema.
Independientemente de que se tenga o no problema, el manejar el "logging" puede ayudar en optimizaciones, chequear qué servicios se están consumiendo desde la aplicación, qué datos viajan, etc.
Manejo de versiones del Knowledge Base Navigator
El KBN es una aplicación nativa para IOS, Android y BB que se distribuye vía los stores correspondientes y permite prototipar las aplicaciones para esos devices sin necesidad de compilar especificamente para cada uno.
Basicamente lo que hace es interpretar una metadata donde están los forms, servicios de datos, etc (la aplicación en si) con lo cual es más ágil pues no requiere compilar la APK, JAD o IPA para ejecutar la aplicación en el device.
Basicamente lo que hace es interpretar una metadata donde están los forms, servicios de datos, etc (la aplicación en si) con lo cual es más ágil pues no requiere compilar la APK, JAD o IPA para ejecutar la aplicación en el device.
lunes, 16 de julio de 2012
Geolocation en el Evento Start?
Muchas veces nos hemos encontrado con situaciones en aplicaciones de Smart Devices que queremos averiguar algo del dispositivo apenas entra a una pantalla. Lo que muchos hacemos es programarlo en el evento Start. Pero, como los eventos Start, Refresh y Load de los objetos SD son ejecutados en el servidor, esto no lo podemos hacer.
Un ejemplo es la ubicación geográfica del dispositivo. Se quiere tener cuando se "abre" una pantalla determinada, la ubicación del dispositivo.
Un tip que, en varios casos, sirvió para poder sortear esta limitación es calcular el la ubicación geográfica en el llamador para luego pasarla por parámetro al objeto llamado.
Un ejemplo es la ubicación geográfica del dispositivo. Se quiere tener cuando se "abre" una pantalla determinada, la ubicación del dispositivo.
Un tip que, en varios casos, sirvió para poder sortear esta limitación es calcular el la ubicación geográfica en el llamador para luego pasarla por parámetro al objeto llamado.
lunes, 9 de julio de 2012
Errores de JavaScript en Navegadores de Smart Devices
Los errores en aplicaciones Web en browsers de Smart Device puede ser incomodos de debuguear y solucionar.
Por ejemplo una aplicación web que corre en los dispositivos de Apple, en su navegador por defecto Safari, pueden tener errores de javascript que solo suceden en un dispositivo en su navegador.
Hay una herramienta que permite hacer debugging en el dispositivo.
Suscribirse a:
Entradas (Atom)