Академический Документы
Профессиональный Документы
Культура Документы
com
Este tópico describe cómo crear una aplicación móvil FireMonkey "Hello World" ya sea para la
plataforma de destino iOS o Android.
Antes de empezar
Para desarrollar aplicaciones móviles (iOS y Android) usando RAD Studio, usted
necesita completar algunos pasos importantes de configuración. Este tutorial asume
que usted ya ha completado todos los pasos de configuración necesarios.
Por detalles, vea:
Embarcadero Technologies 25
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
3. Android: Si desea crear una app Android que se ejecute por defecto sobre el
emulador Android, puede usar el preseleccionado target platform.
4. iOS: Si desea crear una app iOS, abrir el nodo Target Platform en el Project
Manager y doble-click en iOS Simulator:
Embarcadero Technologies 26
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Una instancia del componente TEdit aparece sobre el formulario. Aquí está una app
Android:
Embarcadero Technologies 27
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Embarcadero Technologies 28
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Cuando cambia hacia el Code Editor, puede ver el código fuente que el IDE tiene
generado. Puede encontrar tres componentes definidos (Edit1, Label1, y Button1):
Note que la cláusula Uses es actualizado (para agregar la unidad FMX.StdCtrls para
TLabel y la unidad FMX.Edit para TEdit) cuando usted guarde o ejecute su proyecto.
Embarcadero Technologies 29
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Ahora puede implementar respuestas dentro de las sentencias begin y end del
método Button1Click.
El siguiente fragmento de código implementa una respuesta que muestra una pequeña
caja de diálogo, que dice "Hola + <nombre ingresado en el edit box>":
En Delphi, las comillas que rodean cadenas literales deben ser comillas simples rectas
(de ésta manera, 'cadena'). Puede usar el sigo más (+) para concatenar cadenas. Si
necesita una comilla dentro de una cadena, puede usar dos simples comillas
consecutivas dentro de una cadena, que produce una simple comilla.
Embarcadero Technologies 30
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Puede hacer click en el botón Run ( ) en el IDE, presionar F9, o seleccionar Run
> Run desde el menú principal de RAD Studio:
Embarcadero Technologies 31
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Embarcadero Technologies 32
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Para ejecutar su app iOS sobre un dispositivo iOS conectado, primero seleccione la
plataforma destino iOS Device entonces el Platform Assistant despliega la aplicación
al Dispositivo iOS conectado:
Después que ha seleccionado la plataforma destino iOS Device, ejecute su app iOS
haciendo click en el botón Run en el IDE, presionando F9 o seleccionando Run >
Run.
Sobre su Mac, puede ver una caja de diálogo solicitándole permiso para firmar su app
iOS. Seleccione "Always Allow" o "Allow" para firmar su app.
Luego vaya a su dispositivo iOS y espere a que su app FireMonkey iOS aparezca.
Esté atento a la imágen de lanzamiento de FireMonkey (el ícono está disponible en
$(BDS)\bin\Artwork\iOS, puede cambiar la imagen de lanzamiento en Application
Options):
Embarcadero Technologies 33
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
A continuación están algunos ejemplos de diferentes estilos con componentes Botón disponible
para que usted los use en diferentes partes de su interfase de usuario de su aplicación móvil:
Botones en el Formulario:
iOS Android
Embarcadero Technologies 34
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Seleccione un componente (en este caso, un botón), y luego navegue y cambie el valor de
algunas propiedades como las siguientes:
Embarcadero Technologies 35
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
iOS Android
Embarcadero Technologies 36
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
8. Para especificar que uno de esos componentes aparezca Presionado por defecto,
setear la propiedad IsPressed para un componente a True:
iOS Android
Use los mismos controles TSpeedButton como en los pasos anteriores, pero con los siguientes
valores para la propiedad StyleLookup:
Toolbuttonleft
Embarcadero Technologies 37
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
toolbuttonmiddle
toolbuttonright
iOS Android
Embarcadero Technologies 38
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Puede usar fácilmente el componente TCalendarEdit con los siguientes simples pasos:
Embarcadero Technologies 39
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Embarcadero Technologies 40
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
iOS Android
Android LG-E612
1. Seleccione File > New > FireMonkey Mobile Application - Delphi > Blank
Application.
Embarcadero Technologies 41
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Embarcadero Technologies 42
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
7. Edite otros items así, por ejemplo Alaska, Arizona, Arkansas, California, Colorado, y así
sucesivamente.
8. Ejecute la aplicación en su plataforma móvil seleccionada (iOS Simulator, iOS Device,
Android Emulator, o Android Device).
Luego toque el TComboBox, el control Selector aparece, y usted puede seleccionar un
item.
Para mostrar la lista con el item cinco seleccionado ("California" en el siguiente código de
ejemplo), especifique el ItemIndex así:
procedure TForm27.FormCreate(Sender: TObject);
begin
ComboBox1.Items.Add('Alabama');
ComboBox1.Items.Add('Alaska');
ComboBox1.Items.Add('Arizona');
ComboBox1.Items.Add('Arkansas');
ComboBox1.Items.Add('California');
// Otros estados pueden ser listados aquí
Embarcadero Technologies 43
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
ComboBox1.ItemIndex := 4;
end;
Si usted no conoce el valor del índice, puede encontrar el valor usando el método IndexOf así:
procedure TForm27.FormCreate(Sender: TObject);
begin
ComboBox1.Items.Add('Alabama');
ComboBox1.Items.Add('Alaska');
ComboBox1.Items.Add('Arizona');
ComboBox1.Items.Add('Arkansas');
ComboBox1.Items.Add('California');
// Otros estados pueden ser listados aquí
ComboBox1.ItemIndex := ComboBox1.Items.IndexOf('California');
end;
Este manejador de evento muestra una caja de mensaje que indica el item que fué
seleccionado.
La función Format retorna una cadena formateada a partir de una cadena y un array de
argumentos:
Embarcadero Technologies 44
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
iOS Android
Embarcadero Technologies 45
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
1. Seleccione File > New > FireMonkey Mobile Application - Delphi > Blank
Application.
Embarcadero Technologies 46
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
8. Seleccione el componente Web Browser sobre el Mobile Form Designer, vaya al Object
Inspector y seleccione alClient para la propiedad Align.
Embarcadero Technologies 47
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Después que complete estos pasos, el formulario debería lucir como en la siguiente
imágen:
Embarcadero Technologies 48
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Embarcadero Technologies 49
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
El comportamiento básico está ahora implementado para esta aplicaciónWeb Browser. Intente
ejecutar su aplicación ya sea sobre su Simulador iOS o su Dispositivo iOS.
Embarcadero Technologies 50
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
vktNumbersAndPun
vktNumberPad: vktPhonePad: vktURL:
ctuation:
vktNumbersAndPun
vktNumberPad: vktPhonePad: vktURL:
ctuation:
Embarcadero Technologies 51
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Embarcadero Technologies 52
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Como con cada LiveBinding, éste tutorial no requiere código. Sin embargo, a fin de crear una
aplicación útil, usted necesita agregar manejadores de evento y otro código.
Embarcadero Technologies 70
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Embarcadero Technologies 71
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
El componente list view pobla automáticamente los items con nombres de color desde
el componente de datos de prototipos.
Embarcadero Technologies 72
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
En este punto, el componente list view está configurado para mostrar una imágen sobre el lado
izquierdo del texto del item, y un botón en el lado derecho del texto del item. La imágen y botón
son poblados con datos de ejemplo que usted agregará en el siguiente paso.
Este paso añade un botón representando el color y número de cada item del list view,
tales como Blue 19.
Este paso muestra el valor del campo currency sobre el botón localizado en el lado
derecho de cada item del list view.
Embarcadero Technologies 73
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
4. Click en OK.
Ahora el list view muestra algunos datos de color asociado con cada item y también muestra
datos de dinero sobre el botón asociado en cada ítem de la lista.
El siguiente código de ejemplo agrega el manejador de eventos que muestra una caja de
mensaje cuando usted hace click en un ítem del ListView:
procedure TForm1.ListView1ButtonClick(const Sender: TObject;
const AItem: TListViewItem; const AObject:
TListItemSimpleControl);
begin
ShowMessage(AItem.Text + ' ' +AItem.ButtonText + ' is
clicked.');
end;
Los Resultados
Ejecute la aplicación en su dispositivo móvil, pulsando F9 o seleccionando Run > Run.
Embarcadero Technologies 74
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Embarcadero Technologies 75
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Lista Agrupada
Embarcadero Technologies 76
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Este tutorial describe los pasos básicos para construir items para una Table View en sus
aplicaciones móviles FireMonkey.
1. Seleccione File > New > FireMonkey Mobile Application - Delphi > Blank
Application.
Embarcadero Technologies 77
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
5. Sobre el Items Designer, click en el botón Add Item varias veces para agregar varios
items al ListBox:
6. Cierre el Items Designer. Ahora usted puede ubivar sus Items sobre el componente
TListBox. Por ejemplo:
Agregar un Header
Usted puede definir un Header sobre el componente TListBox usando los siguientes pasos:
Embarcadero Technologies 78
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Align alClient
StyleLookup toollabel
TextAlign taCenter
Embarcadero Technologies 79
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
5. Cierre la caja de diálogo. Ahora usted tiene un Group Header y un Group Footer en el
componente TListBox.
Muestra Items como Lista Plana o Simple Muestra Items como Lista Agrupada
Importante: Para dispositivos iOS, puede especificar cualquiera de los estilos para su
componente TListBox en el Object Inspector. Para dispositivos Android, puede especificar
solamente la lista plana.
Embarcadero Technologies 80
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
listboxitemnodetail
Embarcadero Technologies 81
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
listboxitembottomdetail
listboxitemrightdetail
listboxitemleftdetail
Si quiere crear otros items diferentes a un simple item, o controlar otras propiedades, puede
crear una instancia del primer item, y luego agregarlo al ListBox.
Embarcadero Technologies 82
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
ListBox1.BeginUpdate;
for c := 'a' to 'z' do
begin
// Agrega una cabecera ('A' to 'Z') a la Lista
ListBoxGroupHeader := TListBoxGroupHeader.Create(ListBox1);
ListBoxGroupHeader.Text := UpperCase(c);
ListBox1.AddObject(ListBoxGroupHeader);
Embarcadero Technologies 83
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Para agregar una Caja de Búqueda (Search Box) al componente ListBox, click-derecho en
el componente TListBox y simplemente seleccione Add Item > TSearchBox desde el
menú contextual:
Embarcadero Technologies 84
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
1. Seleccione File > New > FireMonkey Mobile Application - Delphi > Blank
Application.
2. Seleccione el componente TListBox en el Tool Palette, y suéltelo sobre el FireMonkey
Mobile Form Designer.
3. Seleccione el compnente list box sobre el Mobile Form Designer, y en el Object
Inspector, localize la propiedad DefaultItemStyles.ItemStyle. Establecer
el estilo listboxitemrightdetail.
Embarcadero Technologies 85
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Usted necesita agregar datos de ejemplo para colors y color names para el
componente TPrototypeBindSource con el fín de apoyar el propósito de este tutorial y para
enlazar al list box y el rectángulo.
3. Valide su selección cliqueando el botón OK. Ahora la información de ejemplo está lista
para ser usada a través de LiveBindings.
Embarcadero Technologies 86
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
En este punto, el list box agrupa todos los nombres de color en categorías alfabéticas:
Embarcadero Technologies 87
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Nota: Cuando intenta enlazar Fill.Color a SelectedValue, una caja con un mensaje de
confirmación se abre. En ésta caja de mensaje, escoja Yes.
Después de completar los pasos de arriba, el diagrama LiveBindings será similar a la siguiente
imágen:
Los Resultados
Para ejecutar la aplicación, presione F9 o escoja Run > Run.
Cuando selecciona un item del list box, el color del rectángulo cambia consecuentemente:
Embarcadero Technologies 88
Desarrollo de Apps Móviles con Delphi (iOS y Android) www.R2datatechnology.com
Tutorial Móvil: Usando Componentes ListBox para Mostrar un Table View (iOS y
Android)
Este tutorial describe los pasos básicos para usar SQLite como almacenamiento local de datos
sobre su dispositivo móvil a través del framework dbExpress.
iOS Android
Para las plataformas móviles, dbExpress soporta InterBase ToGo así como SQLite. Esos
productos de bases de datos pueden ejecutarse sobre dispositivos iOS y Android.
Para otras bases de datos como Oracle, es necesario tener al menos una librería cliente.
En plataformas Windows, la librería cliente se proporciona como un archivo DLL para
conectarse. Por lo tanto, usted necesita para desarrollar aplicaciones utilizando tecnologías
de nivel medio, como DataSnap para conectarse a estos productos de base de datos
desde un dispositivo móvil.
Otro tutorial muestra cómo conectarse a una base de Datos Empresarial sin usar una librería
cliente sobre el dispositivo móvil; vea Tutorial Móvil: Conectándose a una Base de Datos
Empresarial desde un Cliente Móvil (iOS y Android).
Para configurar un componente ListBox y otros elementos UI, use los siguientes pasos:
1. Crear una aplicación FireMonkey Mobile usando File > New > FireMonkey Mobile
Application - Delphi.
2. Suelte un TToolBar sobre el Formulario.
El siguiente paso es agregar una característica a esta aplicación para añadir un item al
shopping list.
La función InputQuery muestra un cuadro de diálogo que pide al usuario final que introduzca
un texto. Esta función devuelve True cuando el usuario selecciona OK, así que usted puede
agregar datos a la base de datos sólo cuando el usuario selecciona OK y el texto contenga
algunos datos.
iOS Android
TaskName := ListBox1.Selected.Text;
try
SQLQueryDelete.ParamByName('ShopItem').AsString := TaskName;
SQLQueryDelete.ExecSQL();
Item.Refresh;
ButtonDelete.Visible := ListBox1.Selected <> nil;
except
on e: Exception do
begin
SHowMessage(e.Message);
end;
end;
end;
Hasta este punto, se ha utilizado SQLite en su escritorio. Esto significa que la base de datos
real se encuentra en la unidad de su disco duro local (por ejemplo, C:\Users\Public\Documents
\RAD Studio\12.0\Samples\Data\shoplist.s3db). En el dispositivo móvil, las aplicaciones son
sand-boxed, y por lo general sólo se pueden leer y escribir datos que se encuentran en la
carpeta Documents (sólo para dispositivos iOS) y internal storage (para dispositivos Android)
en su carpeta de aplicaciones.
Para conectarse a una base de datos local en el móvil, es necesario realizar las siguientes
acciones:
Puede crear una base de datos SQLite y Tabla con los siguientes pasos::
procedure TForm1.SQLConnectionSQLiteBeforeConnect(Sender:
TObject);
begin
{$IF DEFINED(iOS) or DEFINED(ANDROID)}
ShoppingList.Params.Values['Database'] :=
TPath.Combine(TPath.GetDocumentsPath, 'shoplist.s3db');
{$ENDIF}
end;
iOS Android
Nota: Si tiene algún problema ejecutando la aplicación, siga los pasos ofrecidos en
Troubleshooting.
Tutorial Móvil: Usando Componentes ListBox para Mostrar una Table View (iOS y
Android)
Tutorial Moóvil: Usando InterBase ToGo (iOS y Android)
Este tutorial describe cómo conectarse a una base de datos Empresarial desde una aplicación
móvil cliente.
Para conectarse a una Base de Datos Empresarial, usted necesita tener una librería cliente.
En muchos casos, la librería cliente es proveída por el database vendor en formato DLL. Esta
estrategia no trabaja bien para dispositivos móviles porque las librerías cliente no están
disponibles. Para resolver esto, puede desarrollar una capa intermedia (middle tier) para
conectarse a una Base de Datos Empresarial, y su aplicación móvil pueda comunicarse con
la capa intermedia.
RAD Studio prové el DataSnap framework con el que usted puede desarrollar la capa
intermedia (y acceder a la capa intermedia) casi sin necesidad de codificación. Este tutorial
describe los pasos para desarrollar la capa intermedia y luego desarrollar el cliente móvil.
Nota: En éste tutorial, el DataSnap server (una aplicación VCL) funciona como la capa
intermedia en una aplicación de base de datos multi-capa. Usted puede fácilmente crear y
luego borrar una instancia de un servidor DataSnap. Después de entender los pasos básicos,
usted puede convertir la capa intermedia a una aplicación de tipo Servicio de Windows.
2. El asistente New DataSnap Server aparece y usted necesita seguir los pasos sin
modificar demasiados parámetros.
Nota: Este tutorial usa InterBase como un ejemplo. Sin embargo, usted puede conectarse a
cualquier servidor de base de datos usando los mismos pasos. Seleccione el driver apropiado,
y otras propiedades para apuntar a su base de datos.
procedure
TServerContainer1.DSServerClass1GetClass(DSServerClass:
TDSServerClass;
var PersistentClass: TPersistentClass);
begin
PersistentClass := TDSServerModule_EMPLOYEE;
end;
Con este manejador de evento, el DataSnap Server expone los proveedores así como los
métodos públicos de esta clase a un cliente DataSnap. Basado en los pasos de la sección
previa, ahora vamos a exponer el componente DataSetProvider_EMPLOYEE
DataSetProvider para su cliente DataSnap.
Ahora puede ver el DataSnap server ejecutándose en su máquina Windows. Porque éste
DataSnap server no tiene Interface de usuario, sólo luce un formulario en blanco, y esto es lo
que se esperaba en este punto.
Si obtiene un error, por favor vuelva a comprobar las propiedades que se acaban de
ajustar.
Componente TDSProviderConnection (DSProviderConnection1)
iOS Android
MIDAS Library
MIDAS Library
iOS Android
El driver nativo de FireDAC soporta base de datos SQLite version 3.0 y superior. Para una
discusión detallada sobr el uso de SQLite en FireDAC para una aplicación Delphi, lea el artículo
"Usando SQLite con FireDAC".
Para usar SQLite en su aplicación, el archivo sqlite3.dll debe estar presente en su sistema de
desarrollo. Si el archivo no está presente, descargue sqlite3.dll
desde http://www.sqlite.org/download.html a su ruta de sistema (como
C:\Windows\SysWOW64 para Windows 64-bit).
C:\Users\Public\Documents\RAD
Studio\<n.n>\Samples\Data\Employees.s3db (locaclización de la base de datos)
click en Open de la caja de diálogo File Open.
(Para mostrar Employees.s3db en el diálogo Open, setear la opción All Files (*.*).)
LiveBindings Designer
Para conectarse a la base de datos local en el móvil, necesita realizar las siguientes acciones:
Una vez configurado, cuando ejecute la aplicación en el dispositivo móvil, el archivo de base de
datos (Employees.s3db) está seteada para desplegarse a la carpeta Documents (para iOS
platform) o internal storage (para Android platform) en el sandbox area de su app móvil.
iOS Android