viernes, 22 de noviembre de 2013

Primera aplicación móvil en XE5 paso a paso.

Programador: Lizarraga "ninio" Marcos.

Nivel codificación: Principiante


Ejemplo: 00000001


Móvil: Motorola Milestone 3 (Droid 3), Android 2.3


Descripción: 

Este ejemplo muestra cómo utilizar las acciones estándar para abrir la aplicación de cámara de su dispositivo Android para tomar una foto y mostrarla. Luego, con otra acción estándar, se abrirá la SheetShare para compartir su imagen a través de correo electrónico, publicar en Facebook, Twitter  y más.
Este ejemplo se puede obtener dentro de los ejemplos de android de xe5 y es el que hizo Fernando Rizzato en "Mobile in action live Argentina".

Aplicación: Didáctica.



Vamos a crear una nueva aplicación móvil en blanco.


Al aceptar nos va a crear un proyecto donde la apariencia en modo de diseño se parece a un móvil. Nos va a ayudar mientras vayamos construyendo nuestra aplicación vamos a tener una noción de como se va a ver la aplicación final dentro de nuestro móvil, se puede elegir entre varios modelos o construir un template propio.


Agregamos: TToolBar, TSpeedButton (2), TActionList y un TImage

Con la combinación Ctrl+Alt+P nos da el foco "Tool Palette". Así que podemos hacer Ctrl+Alt+p escribimos "ToolBar" y dar Enter, así podemos agregar componentes rápidamente a nuestro formulario sin tener que buscarlos en la paleta.

Image 1 (ImgContainer):
La alinemos alClient y le ponemos como nombre "ImgContainer", es donde colocaremos nuestra fotografía luego de tomarla.

SpeedButton 1 (btnCamera):

Lo colocamos en el ToolBar, alineado a la izquierda, margen izquierdo en 10. En la propiedad StyleLookup seleccionamos cameratoolbutton, vemos como el button tiene el icono de camara.

En la solapa de eventos seleccionamos la siguiente acción.

Events > Action > New Standard Action > Media Library > TTakePhotoFromCameraAction



Una vez seleccionada, desplegamos el evento acción y le damos doble clic en el evento OnDidFinishTaking. Este evento se ejecuta luego de tomar la foto y nos entrega en un TBitmap la fotografía tomada, colocamos la foto en ImageContainer.



procedure TForm1.TakePhotoFromCameraAction1DidFinishTaking(Image: TBitmap);
begin 
  ImgContainer.Bitmap := Image;
end;

SpeedButton 2 (btnShare):
Lo colocamos en el toolbar y lo alineamos a la derecha, cambien colocamos 10 de margen. Le agregamos la acción standart ShowShareSheetAction y dentro de los eventos de esta acción le asignamos a OnBeforeExecute.



procedure TForm1.ShowShareSheetAction1BeforeExecute(Sender: TObject);
begin
  ShowShareSheetAction1.Bitmap.Assign(ImgContainer.Bitmap);
end;


Ya estamos en condiciones de probar la aplicación, en mi caso voy a usar directamente el dispositivo.

Resultado

En el droid 3 android 2.3 estoy teniendo problemas con el sharedsheet, mientras averiguo o intento hacer que fucione en este hardware les dejo el video de embarcadero sobre este ejemplo, esta en ingles pero creo que lo escencial ya esta escrito.



Conclusión 
  • XE5 nos da un rápido acceso a los sensores del celular sin tener conocimientos de los mismos. 
  • En modo diseño nos permite ver rápidamente como queda el producto final. 
  • Hay que tener en cuenta los margenes y alineaciones, nuestras pantallas ahora giran y difieren en tamaño.
  • Soporta las versiones de android (2.x y 4.x) y todos los iOS, son mas que suficientes.
  • Con solo conectar nuestro celular esta listo para instalar y probar la aplicación. 
  • Con la herramienta ToolAndroid nos podemos bajar los drivers que necesitemos.
  • También permite probar con el Emulador de Android y Simulador de iOS, pero esto se merece un nuevo post. Yo les recomendaría siempre probar en un dispositivo.







Leer mas

viernes, 15 de noviembre de 2013

14 de Noviembre - Desarrollo de aplicaciones mobile con XE5 (Actualización)

Desayuno, programación y una taza con el logo de embarcadero, que más se puede pedir en una mañana de miércoles.

Arrancamos temprano en la oficina al grito de "hoy era lo del embarcadero!", por suerte está cerca, a unas pocas cuadras.


Una vez allá, desayuno, una introducción de la mano de Lisa Flores (Latin America Sales at Embarcadero Technologies) y la demo de xe5 en dispositivos móviles por Fernando Rizzato (Lead Software Consultant, Latin America), aplicaciones para dispositivos móviles con xe5, para un android iphone ipad etc, mismo código, sencillo y sin engorrosos cambios estéticos por partes del programador dependiendo del dispositivos.



TSM monstro como se distribuyen los archivos de una aplicación dentro de los dispositivos móviles android y ios.

Axoft, con Pablo Campo nos presentó el caso de éxito de Tango Gestión, con más de 20 años trabajando con Delphi y migrando las aplicaciones.

Unisolution con Unigis y su caso de éxito Soluciones Geográficas Inteligentes.

Sorteo de Licencia xe5 y para una certificación en Delphi. La cual no gane ninguna de las dos.

Salida, regalo, a comer y de vuelta al trabajo.




En resumen, XE5 se ve por demás prometedor, poder usar un solo fuente para hacer una aplicación que se pueda usar en cualquier dispositivo móvil y que en cada uno de ellos tome su estilo propio, poder probar la aplicación en línea ya sea en el dispositivo, en emulador (android) o en simulador (para el caso de ios), aunque para mi es mejor tirarlo directamente al dispositivo. Es compatible con Android 2.3.x y 4.x y con todo los ios.
No hay que aprender más nada que cosas propias de los dispositivos móviles y sus mañas.

Queda probar probar y probar, veremos que se me ocurre.
Leer mas

About Me

Nerd, Geek, estudiante, amante de la fotografía y la música, gamer y... programador.

Popular Posts

Marcos "NP" Lizarraga E.