Professional Documents
Culture Documents
o Delphi XE5
2014
Sumrio
CAPTULO 1 COMO UTILIZAR O EMULADOR DO ANDROID ............................................................................ 4
1.
1.1.
2.
2.1.
2.2.
2.3.
2.4.
REFERNCIAS.................................................................................................................................................. 40
1. Introduo ao Emulador
O Android Virtual Device (AVD) um programa que simula a funcionalidade do aplicativo
em um smartphone Android. Nele, voc poder definir as caractersticas do celular que
deseja simular, bem como sua resoluo, memria disponvel, entre outros. Utilizando esse
emulador, voc poder analisar o funcionamento do aplicativo e corrigir possveis erros no
cdigo ou na interface do programa antes de utiliz-lo em um smartphone.
Veremos como abrir o emulador AVD e configur-lo de acordo com as necessidades do seu
aplicativo e as caractersticas do celular, alm da sincronizao entre o emulador e o
Delphi XE5 para testar o cdigo elaborado.
A janela da Figura 2 ser aberta e nela voc dever selecionar o boto New para criao de
um novo dispositivo virtual.
Aplicaes Android com o Delphi XE5
Voc pode criar uma mquina virtual com as caractersticas que desejar. Para os exemplos
apresentados neste material, foram utilizadas as seguintes configuraes:
em AVD Name, escolha um nome para o seu dispositivo. Use um nome simples, sem
espaos, nmeros ou smbolos, apenas letras;
escolha o modelo do dispositivo no campo Device, selecionamos Nexus 4
(4,7,768 x 1280: xhdpi);
no campo Target, escolhemos Android 4.2.2 API Level 17;
para memria recomenda-se sua alterao para RAM: 768 e VM Heap: 64;
selecione a opo Use Host GPU no canto inferior direito.
Figura 3: Parmetros da nova mquina virtual.
Recomenda-se salvar o projeto e todos os arquivos que o compe em uma pasta do seu
computador clicando em File e escolhendo a opo Save All. Em seguida, ajuste o modelo
visual do smartphone para o mesmo tipo de dispositivo escolhido anteriormente, no caso
Google Nexus 4.
Figura 8: escolhendo o modelo visual do smartphone.
10
A partir da pasta onde o projeto foi gravado, podemos acessar o arquivo de instalao que
est na pasta bin, como mostra a Figura 14 com o exemplo do projeto denominado
MeuAplicativo.
Figura 14: O arquivo de instalao .apk.
11
Captulo 2 Componentes
Neste captulo sero apresentados alguns dos componentes que podem ser utilizados nas
aplicaes, suas principais propriedades, alm de exemplos de aplicaes simples para
garantir um melhor e mais completo entendimento.
Android
backtoolbutton
bookmarkstoolbutton
cameratoolbutton
cleareditbutton
composetoolbutton
detailstoolbutton
infotoolbutton
nexttoolbutton
priortoolbutton
refreshtoolbutton
searchtoolbutton
Note que se, por exemplo, for atribudo o valor cameratoolbutton propriedade
StyleLoopUp de um boto, ele apenas ter o cone de uma cmera, voc dever
implementar o cdigo para que a cmera seja acessada.
Aplicaes Android com o Delphi XE5
12
1.1. Button
Aba: Standard.
Boto que receber o procedimento ou funo a ser codificado com sua ao especfica.
Figura 17: Button.
Propriedades:
Text: texto que ser exibido no componente.
ATENO!!! Para o componente mobile a propriedade no se chama mais Caption!
StyleLookUp: determina a aparncia do componente.
1.2. Edit
Aba: Standard.
Caixa de edio, onde sero inseridos os dados de entrada de texto fornecidos pelo usurio.
Figura 18: Edit.
Propriedades:
Text: texto digitado pelo usurio.
Password: quando habilitado, o texto que o usurio digitar ser substitudo por
caracteres como, por exemplo, * ou .
KeyBoardType tipo do teclado que ser exibido quando o usurio clicar sobre o Edit.
Veja alguns dos tipos de teclado que podem ser utilizados:
vktDefault: Teclado padro do sistema;
vktURL: Teclado para digitar endereos de sites. Smbolos como www. e .com
possuem boto prprio para facilitar a digitao;
vktEmailAddress: Teclado para digitar endereos de e-mail. Smbolos como @ e
.com possuem boto prprio para facilitar a digitao;
vktPhonePad: Teclado para digitar telefones;
vktNumberPad: Teclado para digitar valores numricos.
13
vktDefault
vktEmailAddress
vktURL
vktNumberPad
vktPhonePad
1.3. Label
Aba: Standard.
Componente utilizado para exibir textos na interface do aplicativo.
Figura 20: Label.
Propriedades:
Text: propriedade que contm o texto que ser exibido no Label.
ATENO!!! Para o componente mobile a propriedade no se chama mais Caption!
StyleLookUp: determina a aparncia do componente.
1.4. Switch
Aba: Standard.
Componente utilizado para indicar se alguma opo do aplicativo est ou no ativa.
Propriedades:
IsChecked: um valor booleano que indica se o componente est ligado ou no.
Aplicaes Android com o Delphi XE5
14
1.5. TabControl
Aba: CommonControls.
Componente que propicia a criao de abas. Muito utilizado para organizar os demais
componentes nas abas separadas por assunto.
Adicione-o no formulrio e depois de posicion-lo corretamente, clique com o boto direito
sobre o componente e escolha a opo Items Editor. Adicione a quantidade de TabItem que
desejar clicando em Add Item. Cada TabItem um componente distinto, associado ao
TabControl.
Figura 22: TabControl.
Propriedades do TabControl:
Align: normalmente, aplicaes que usam TabControl usa toda a tela para mostrar as
pginas. Para isso, troque a propriedade Align para a opo AlClient;
TabPosition: usada para escolher qual posio que deseja que suas abas estejam, como
na parte superior (tpTop), inferior (tpBottom). Nesses casos, o texto de cada TabItem
exibido no TabControl.
As pginas podem ser representadas apenas por pontos na interface (tpDots). Alm
disso, o TabControl pode ocultar qualquer indicao das abas (tpNone) de maneira que a
aba ativa seja especificada via cdigo, alterando a propriedade TabIndex. Isso pode dar a
impresso ao usurio que o aplicativo possui diversos formulrios;
TabIndex: indica qual aba est ativa no momento, comeando a contagem a partir do
nmero zero;
StyleLookUp: determina a aparncia do componente. Eventuais alteraes devem ser
aplicadas a cada TabItem criado.
Propriedade do TabItem:
Text: altera o texto de cada TabItem, se estiverem visveis.
15
1.6. ToolBar
Aba: Standard.
Serve como uma barra de ferramentas alinhada geralmente no topo ou na parte inferior da
interface do aplicativo, com botes que representam atalhos ou maneiras de acessar a
funcionalidade embutida em sua aplicao. Normalmente, correspondem tambm a itens do
menu em um aplicativo e d ao usurio acesso direto aos comandos do aplicativo.
No exemplo apresentado na Figura 23, um Label e um Button foram colocados sobre um
ToolBar. A propriedade StyleLookUp, foi alterada para ToolLabel e o boto teve a mesma
propriedade alterada para AddToolButton.
Figura 23: ToolBar.
Propriedades:
StyleLookUp: determina a aparncia do componente.
Exemplo:
O ToolBar est atuando como um container para os demais objetos. Assim, se a propriedade
Align do Label for alterada para AlCenter, o Label ser centralizado na ToolBar.
1.7. ComboBox
Aba: Standard.
Trata-se de uma caixa de opes com uma lista pr-definida, podendo selecionar vrias
opes. Possui as principais propriedades do RadioGroup.
Figura 24: ComboBox.
Propriedades:
ItemIndex: valor inteiro que representa qual dos itens foi selecionado pelo usurio. O
primeiro item possui valor 0, o segundo 1 e assim por diante. Caso nenhum item esteja
selecionado, a propriedade vale -1;
16
Items: usado para definir quais as opes que aparecero na sua lista. Selecione as
reticncias no espao em branco ao lado de Items e, na janela que abrir, escreva em
cada linha uma opo. Por fim, clique em OK.
Figura 25: Preenchimento da propriedade Items.
1.8. Memo
Aba: Standard.
Usado para exibir um texto em linhas distintas, manipuladas de forma independente. As
linhas podem ser manipuladas pela propriedade Lines. Essa propriedade permite acessar
cada uma das linhas como um vetor de textos, cuja posio inicial 0.
Propriedade de Lines:
Count: valor inteiro que representa a quantidade de linhas do Memo;
Mtodos de Lines:
Add: possui um texto que passado por parmetro. Esse texto ser adicionado aps a
ltima linha existente;
Delete: remove a linha que foi informada via parmetro (valor inteiro correspondente
ao nmero da linha);
Clear: elimina todas as linhas do Memo;
Ateno!! Para apagar o Memo no se usa Memo1.Clear.
SaveToFile: o contedo das linhas do Memo ser salvo em um arquivo texto cujo
caminho dado pelo parmetro desse mtodo;
Aplicaes Android com o Delphi XE5
17
Note que esse arquivo possui a estrutura RA;Media, permitindo que seja aberto em uma
planilha eletrnica (seja o Microsoft Excel no computador ou alguma planilha eletrnica no
smartphone) para posterior anlise. Embora o arquivo possua apenas dados de texto, sua
extenso, normalmente, .csv (comma-separated values).
Figura 26: Dados exportados pelo aplicativo abertos no Excel.
1.9. StringGrid
Aba: Grids.
18
O StringGrid permite a entrada ou exibio de dados na forma de texto. Estes dados podem
ser, normalmente, vetores ou matrizes na forma de uma tabela. Assim como todos os
componentes que possuem mais do que um item, o primeiro possui ndice 0, no caso, a
primeira linha e a primeira coluna possuem o ndice 0.
H uma diferena significativa entre o StringGrid para o dispositivo mvel e da aplicao
para Windows. O componente se comporta com um continer de colunas, que devem ser
adicionadas em tempo de desenvolvimento, clicando com o boto direito sobre o
componente, Add Item e TStringColumn.
As colunas StringColumns possuem um cabealho (header), destacado em cinza, que no faz
parte da contagem de clulas. Esse cabealho pode ser exibido ou no.
Figura 27: Adicionando colunas no StringGrid.
Propriedades do StringGrid:
Cells: representa uma matriz de strings cujos ndices so, respectivamente, a coluna e a
linha da tabela. O cabealho no faz parte da contagem de clulas;
RowCount: valor inteiro que armazena o nmero de linhas dos StringColumns. Pode ser
para saber o nmero de linhas ou definir essa quantidade;
ColumnCount: valor inteiro que armazena o nmero de colunas do StringGrid. Essa
propriedade no pode ser alterada pelo cdigo, somente lida;
Ateno! No existe a propriedade ColCount.
ReadOnly: valor lgico que indica se as clulas podero ser editadas ou no. Essa
propriedade substitui o goEditing;
ShowHeader: valor lgico que indica se o cabealho ser ou no exibido.
Propriedade do StringColumn:
Header: texto que ser exibido na primeira linha, de cor cinza, se estiver visvel.
1.10. ListBox
Aba: CommonControls.
Usado para apresentar uma lista de opes. Para adicionar itens sua lista, clique com o
boto direito sobre o componente e selecione Items Editor. Na janela Items Designer,
escolha a opo TListBoxItem e clique no boto Add Item quantas vezes forem necessrias.
Aplicaes Android com o Delphi XE5
19
20
ItemData: Os itens podem apresentar cones e imagens. Para tal, devemos alterar essas
propriedades. Veja o resultado na Figura 30:
Acessory: cone que ser usado no item, ou seja, tipo de marcao que poder
ser visualizada quando determinado item for selecionado. Opes: aCheckmark,
aDetail, aMore e aNone;
Bitmap: imagem que ser exibida;
Detail: texto secundrio do item que fica abaixo do Text;
Text: texto que ser exibido do item da lista. Essa propriedade a mesma
apresentada fora do ItemData.
Observao: na imagem apresentada na Figura 30, cada um dos itens est utilizando um
valor diferente na propriedade Accessory.
Figura 30: Opes da lista com a propriedade ItemData.
1.11. TrackBar
Aba: Standard.
O TrackBar um componente que pode ser utilizado para que o usurio informe um valor
numrico real movimentando uma barra linear.
Figura 31: TrackBar.
Propriedades:
Frequency: se estiver em 0, o cursor se move livremente. Pode-se definir outro valor
para que o cursor se movimente apenas em mltiplos desse nmero. Para fazer uma
barra de nmeros inteiros, utilize o valor 1;
Min: valor numrico quando o cursor estiver totalmente esquerda da barra;
Max: valor numrico quando o cursor estiver totalmente direita da barra;
Value: valor da posio do cursor, no intervalo [Min, Max];
Aplicaes Android com o Delphi XE5
21
2. Componentes grficos
Apresentaremos aqui alguns componentes para exibir imagens, grficos e sites em seus
aplicativos.
2.1. Image
Aba: Shapes.
Permite armazenar e exibir imagens.
Figura 32: Image.
Para exibir uma imagem, ainda em tempo de execuo, selecione o Image, procure pela
propriedade MultiResBitmape clique no boto com os trs pontinhos. Na janela que
apareceu clique sobre o boto Fill all from file e, em seguida, escolha uma imagem que ser
utilizada para preencher o Image.
Figura 33: Inserir uma imagem.
Propriedades:
WrapMode: propriedade altera a posio ou proporo da imagem em relao ao
Image. A imagem pode ficar centralizada (iwCenter), no canto superior esquerdo
(iwOriginal), esticada (iwStretch), ocupando todo o componente, ou desenhada
repetidas vezes (iwTile);
Bitmap: permite armazenar uma imagem. A propriedade Bitmap no est no Object
Inspector e deve ser manipulada diretamente em seu cdigo-fonte. Para tal, devemos
associar uma imagem utilizando um dos mtodos apresentados a seguir:
Assign: esse mtodo recebe como parmetro um Bitmap que ser exibido no
Image. Normalmente utilizado para exibir uma imagem capturada pela cmera ou
gerada por algum algoritmo;
Aplicaes Android com o Delphi XE5
22
2.2. TChart
Aba: TeeChart Lite.
Esse componente permite desenhar grficos de diversos tipos, como linhas, barras, colunas,
pizza etc.
Figura 34: TChart.
Como exemplo, vamos criar um grfico de linhas, adicionando uma nova srie ao
componente. D um duplo clique sobre o TChart para abrir a janela Editing Chart e clique
sobre o boto Add. Escolha a opo Lines, configure o estilo das cores para Android e
confirme. O processo pode ser repetido para adicionar novas curvas ao TChart.
Figura 35: Editing Chart.
Com a srie criada, podemos configurar o ambiente do grfico. A Figura 36 mostra como
editar o ttulo do grfico, exibir o nome dos eixos, remover a legenda e o efeito 3D.
Aplicaes Android com o Delphi XE5
23
Veja um exemplo de como traar uma curva y=sin(x) quando o usurio clicar sobre o
Button1.
Aplicaes Android com o Delphi XE5
24
2.3. WebBrowser
Aba: Internet.
Com esse componente podemos abrir pginas da internet em uma rea do aplicativo.
Mtodos:
GoBack: mostra a pgina anterior;
GoForward: mostra a pgina seguinte;
Navigate: acessa o endereo que deve ser passado por parmetro. Por exemplo:
WebBrowser1.Navigate('www.maua.br');
2.4. AniIndicator
Aba: Additional.
Aplicaes Android com o Delphi XE5
25
Esse componente utilizado como representao grfica ao usurio de que o aplicativo est
aguardando ou processando alguma informao. Isso d a impresso ao usurio de que o
aplicativo no est travado.
Propriedades
Enabled: valor booleano que indica se a animao est habilitada ou no;
Visible: valor booleano que define se o objeto est visvel ou no.
Para um bom efeito visual, recomenda-se que essas duas propriedades possuam sempre o
mesmo valor True ou False.
3. Componentes no visuais
Apresentaremos aqui alguns componentes que no aparecero no formulrio quando o
programa for executado, mas faremos usos de suas propriedades e mtodos.
3.1. Timer
Aba: System.
O Timer utilizado quando desejamos que uma sub-rotina seja executada de tempos em
tempos. Pode ser utilizado para fazer animaes, leitura dos sensores etc.
Evento:
OnTime: evento que dispara o procedimento Timer1Time. Nesse procedimento voc
dever informar o cdigo-fonte do que deve ser feito.
Propriedades:
Enabled: valor booleano que indica se o componente far a contagem do tempo ou no;
Interval: valor inteiro que representa quantos milissegundos devem se passar para que o
Timer execute novamente o procedimento Timer1Time.
3.2. LocationSensor
Aba: Sensors.
Esse componente permite que nossos aplicativos acessem os dados de posicionamento
geogrfico do dispositivo. Essas coordenadas podem ser obtidas pelo dispositivo utilizando o
sinal de GPS, torres da operadora ou rede Wi-Fi.
26
Evento:
OnLocationChanged: quando o dispositivo se desloca chamado o procedimento
LocationSensor1LocationChanged. Esse procedimento possui os parmetros
OldLocation e NewLocation, que contm as coordenadas geogrficas do ponto atual do
ltimo registrado. Essas duas propriedades possuem os campos Latitude e Longitude.
Propriedades:
Active: valor booleano que indica se o sensor est ou no ativo;
Veja um exemplo de um aplicativo que exibe em dois Labels a localizao do dispositivo. A
atualizao automtica, quando o usurio se movimenta:
procedure TForm1.LocationSensor1LocationChanged(Sender: TObject;
const OldLocation, NewLocation: TLocationCoord2D);
begin
Label1.Text := 'Latitude: ' + FloatToStr(NewLocation.Latitude);
Label2.Text := 'Longitude: ' + FloatToStr(NewLocation.Longitude);
end;
3.3. MotionSensor
Aba: Sensors.
Esse componente permite acessar as informaes do movimento do dispositivo utilizando as
informaes do acelermetro. A partir dos valores da acelerao nos eixos x, y e z possvel,
por meio de integraes numricas, obter a velocidade e o deslocamento do dispositivo no
espao.
Propriedades:
Active: valor booleano que indica se o sensor est ou no ativo;
Sensor: essa propriedade possui as informaes do acelermetro. As componentes da
acelerao podem ser obtidas, em m/s, utilizando os campos AccelerationX,
AccelerationY e AccelerationZ.
Veja um exemplo de um aplicativo que exibe em trs Labels as componentes da acelerao
medida pelo sensor. A atualizao deve ser feita pelo componente Timer. O componente
Switch deve habilitar/desabilitar o MotionSensor e, em seguida, o Timer.
Aplicaes Android com o Delphi XE5
27
3.4. ActionList
Aba: Standard.
A ActionList permite criar uma lista de sub-rotinas para que os demais objetos possam
acess-las e execut-las. Essas sub-rotinas podem ser predefinidas ou criadas pelo
programador.
Inicialmente a ActionList est vazio. Para adicionar um procedimento lista, d um duplo
clique sobre o componente para abrir a janela Editing Form1.ActionList1. Embora o uso mais
comum seja para acessar rotinas predefinidas que realizam troca de pginas, acesso
cmera ou galeria de fotos, tambm possvel escrever um algoritmo de acordo com a
necessidade em uma nova ao.
Para criar uma nova ao:
Selecione a opo New Action no menu para adicionar uma nova ao lista.
Figura 40: Criando uma nova ao.
28
Evento da ao:
OnExecute: utilize o mtodo criado para escrever o cdigo-fonte da rotina.
Para inserir uma nova ao predefinida:
Selecione a opo New Standard Action no menu para adicionar uma nova ao lista. Na
janela Standard Action Classes selecione uma das aes disponveis e clique no boto OK.
Figura 41: Adicionando aes predefinidas.
29
2) Elabore um aplicativo de uma calculadora simples que permita ao usurio escolher qual
operao (soma, subtrao, multiplicao ou diviso) ser executada com os valores
digitados. Cada operao deve ser realizada por um boto distinto.
Vamos precisar de dois Edits, quatro botes e um Label para apresentar o resultado. Aps
configurar a propriedade Text desses componentes, vamos escrever o cdigo-fonte de cada
um deles. Note que para os botes da soma, subtrao e multiplicao os cdigos so muito
semelhantes. No se esquea de impedir o clculo da diviso por zero, informando ao
usurio sobre o problema:
Aplicaes Android com o Delphi XE5
30
31
32
Para facilitar a digitao do endereo do site, altere o tipo do teclado do Edit1 indicando o
valor vktURL na propriedade KeybordType.
Para implementar os botes voltar e avanar do navegador utilize os mtodos GoBack e
GoForward do WebBrowser:
procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.GoBack;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
WebBrowser1.GoForward;
end;
Para abrir a pgina informada pelo usurio, vamos escrever o cdigo do boto
SerarchEditButton1, informando que o WebBrowser dever navegar para o endereo
digitado no Edit.
procedure TForm2.SearchEditButton1Click(Sender: TObject);
begin
WebBrowser1.Navigate(Edit1.Text);
end;
33
Nas situaes em que a conexo estiver lenta, seria interessante informar ao usurio que o
programa no travou, mas est esperando os dados da pgina. Para isso, adicione um
componente AniIndicator com alinhamento alCenter e atribua o valor False na
propriedade Visible. Vamos fazer a animao aparecer antes da requisio da pgina
(alterando o cdigo do SerarchEditButton1Click). O componente dever ficar invisvel
quando o WebBrowser terminar de carregar a pgina (esse cdigo dever ser escrito no
evento OnDidFinishLoad).
procedure TForm2.SearchEditButton1Click(Sender: TObject);
begin
AniIndicator1.Enabled := true;
AniIndicator1.Visible := true;
WebBrowser1.Visible := false;
WebBrowser1.Navigate(Edit1.Text);
end;
procedure TForm2.WebBrowser1DidFinishLoad(ASender: TObject);
begin
AniIndicator1.Enabled := false;
AniIndicator1.Visible := false;
WebBrowser1.Visible := true;
end;
34
O boto Switch ser responsvel por ligar e desligar o sensor de localizao. Quando o
sensor estiver desativado, o aplicativo abrir a pgina da Mau. Para configurar isso, deve-se
codificar o evento OnSwitch:
procedure TForm1.Switch1Switch(Sender: TObject);
begin
LocationSensor1.Active := Switch1.IsChecked;
if not Switch1.IsChecked then
WebBrowser1.Navigate('www.maua.br');
end;
Para exibir o mapa gerado pelo Google Maps devemos utilizar a url de busca
www.maps.google.com/maps? e acrescentar a esse endereo alguns parmetros, separados
pelo caractere &. No nosso exemplo, vamos acrescentar como parmetros:
o que desejamos encontrar (q): informando as coordenadas geogrficas latitude e
longitude, separadas por uma vrgula;
o tipo de mapa (t): terreno, foto do satlite ou hibrido;
o nvel de zoom (z): valor inteiro entre 1 e 21.
Devemos tomar cuidado com a configurao de regio definida no dispositivo mvel. Em
alguns pases, o separador decimal utilizado o caractere ponto e em outros, como no
Brasil, a vrgula. Entretanto, ao enviar as coordenadas latitude e longitude para o
Google Maps, devemos informar os valores numricos utilizando o ponto como separador
decimal. Para tal, devemos alterar a propriedade FormatSettings.DecimalSeparator
antes e depois de utilizar instrues como o StrToFloat ou FloatToStr.
Assim, considerando que o dispositivo mvel est no Campus da Mau, em So Caetano do
Sul, teremos o seguinte contedo da url que ser apresentada no mapa:
Aplicaes Android com o Delphi XE5
35
'www.maps.google.com/maps?q=-23.648283,-46.573378&t=h&z=15'
Para garantir que o mapa seja atualizado quando o usurio se movimentar, vamos escrever o
cdigo-fonte no evento OnChangeLocation do LocationSensor.
procedure TForm1.LocationSensor1LocationChanged(Sender: TObject;
const OldLocation, NewLocation: TLocationCoord2D);
var url: string;
begin
if LocationSensor1.Active then
begin
FormatSettings.DecimalSeparator := '.';
url := 'www.maps.google.com/maps?q=' +
FloatToStr(NewLocation.Latitude) +
',' +
FloatToStr(NewLocation.Longitude) +
'&t=h' +
'&z=15';
WebBrowser1.Navigate(url);
FormatSettings.DecimalSeparator := ',';
end;
end;
36
A partir desse exemplo, podemos explorar um pouco mais o uso do Google Maps. Veja como
os parmetros podem ser utilizados:
O parmetro de busca q:
endereo: 'q=Praa Mau, 1 - So Caetano do Sul';
CEP: 'q=09580-900';
Coordenadas latitude e longitude: 'q=-23.648283,-46.573378';
Neste caso, os dois valores utilizam o ponto como separador decimal e a vrgula para
separar as coordenadas. Valores positivos representam Norte e Leste, enquanto que
negativos so Sul e Oeste para a latitude e longitude, respectivamente.
estabelecimento: 'q=Instituto Mau de Tecnologia'.
O parmetro do tipo do mapa h:
mapa: 't=m';
satlite: 't=k';
hbrido: 't=h';
terreno: 't=p'.
O parmetro de zoom z deve ser um valor inteiro entre 0 e 21.
Alm disso, podemos traar rotas de um ponto a outro. Para tal, no utilize o parmetro de
busca q, mas defina a localizao (endereo, CEP, coordenadas etc.) dos parmetros saddr
(start address) e daddr (destination address). Podemos ainda definir o tipo de locomoo no
parmetro dirflg:
carro: 'dirflg=d';
transporte pblico: 'dirflg=r';
a p: 'dirflg=w';
bicicleta: 'dirflg=b' (em alguns locais ainda no disponvel);
evitar rodovias: 'dirflg=h';
evitar pedgios: 'dirflg=t'.
Por exemplo, se quisermos almoar no Shopping a p, usamos a seguinte url:
'www.maps.google.com/maps?saddr=instituto mau de
tecnologia&daddr=park shopping so caetano&dirflg=w'
Veja outros parmetros que podem enriquecer sua aplicao em: goo.gl/QEVVWv.
37
Ainda com o Button1 selecionado, abra a aba Events, expanda a opo Action e acesse o
cdigo-fonte de onDidFinishTaking com um duplo clique. O procedimento desse mtodo
executado aps o usurio finalizar a captura da foto, fazendo com que a foto obtida (e
armazenada no parmetro Image) seja exibida no componente Image1.
procedure TForm1.TakePhotoFromCameraAction1DidFinishTaking(Image: TBitmap);
begin
Image1.Bitmap.Assign(Image);
end;
38
selecione
39
40
Referncias
EMBARCADERO TECHNOLOGIES. RAD Studio: Mobile Tutorials Version XE6. 2014. Disponvel
em: <goo.gl/B0jYBC>. 05.06.2014
GOMES, D. C. A., KAWAMURA, J., SCALCO, R. Delphi XE Guia de Componentes. Apostila.
So Caetano do Sul: EEM, 2011.
GOMES, L. Sensor de localizao de dispositivos mveis com Delphi XE5. Disponvel em:
<goo.gl/ockDRv>. Acesso em: 30.06.2014.
PETERSON, R. Aplicativos mobile para Android e iOS com Delphi XE5. In: II JTI-MS: JORNADA
DE TECNOLOGIAS DA INFORMAO DE MATO GROSSO DO SUL, 2., 2013, Dourados. Minicurso. Disponvel em: <goo.gl/YmwWuK>. Acesso em: 03.06.2014.