Você está na página 1de 49

Smart Devices & GAM

Prtico









Maro de 2012



Pgina 1
Prtico Atualizao a GeneXus X Evolution 2
Copyright Artech Consultores S. R. L. 1988-2012.
Todos os direitos reservados. Este documento no pode ser reproduzido em qualquer meio sem o consentimento
explcito de Artech Consultores S.R.L. A informao contida neste documento para uso pessoal unicamente.

Marcas Registradas
Artech e GeneXus so marcas registradas de Artech Consultores S.R.L. Todas as demais marcas mencionadas neste
documento so propriedade de seus respectivos donos.


Pgina 2
Prtico Atualizao a GeneXus X Evolution 2
1. Primeiros passos ...............................................................................................................3
2. Aplicativo Web ..................................................................................................................4
3. Aplicando o Pattern Work With for Smart Devices .................................................................5
4. Entidades interrelacionadas .............................................................................................. 13
5. Personalizando o Pattern Work With for Smart Devices [avanado] .................................. 16
Editando a List ...................................................................................................................... 16
Editando o Detail.................................................................................................................... 19
Themes................................................................................................................................. 25
Adicionando Ordens e Filtros ................................................................................................... 28
Adicionando Aes ................................................................................................................. 30
6. Paineis para pedir dados ao usurio [avanado] ................................................................... 36
7. Execuo no dispositivo [opcional]..................................................................................... 39
8. GAM [opcional] ............................................................................................................... 40
9. Gerando para outras plataformas [opcional] ....................................................................... 43
10. Glossrio........................................................................................................................ 48



Pgina 3
Prtico Atualizao a GeneXus X Evolution 2
1. Primeiros passos
Durante este curso prtico, desenvolveremos um aplicativo para uma imobiliria, focando na parte
de Smart Devices. Para simplificar, prototiparemos em Android, mas no final, o aplicativo tambm
ser testado no emulador Blackberry. Se tiver algum dispositivo (Android, Blackberry ou iOS)
poder testar o aplicativo nele.
Se voc:
Somente deseja experimentar o bsico:
o No realize os pontos identificados como [avanado].
o Se, alm disso, quiser testar o mdulo de segurana (GAM), uma vez finalizado o
bsico, passe ao ponto 8.
o Se, alm disso, deseja testar o que foi feito tambm em Blackberry e iOS (este
ltimo, se voc conta com um dispositivo ou com Mac), faa o ponto 9.
No conta com algum dispositivo, pule as partes do prtico que o requerem (so opcionais).

Em nosso site de capacitao, encontrar vdeos que tratam de todos estes temas:
Bsico (de X Ev2): http://training.genexus.com/actualizacion-de-gx-ev1-a-ev-2/curso-
actualizacion-de-gx-ev-1-a-gx-ev-2-es?es
Avanado de Smart Devices: http://training.genexus.com/GeneXus-para-Smart-
Devices/GeneXus-para-Smart-Devices?es

1) Crie uma nova KB, com os valores default (Ruby, Web).
2) Se deseja prototipar na nuvem, como fazer?
a) Observe as propriedades do gerador Default (Ruby Web), e o que acontece com o Data
Store Default (SQL Server) quando se indica que ser Deploy to Cloud
.
b) Observe as propriedades deste Data Store Default.



Pgina 4
Prtico Atualizao a GeneXus X Evolution 2

2. Aplicativo Web
Crie a transao Property.

Crie domnio Id Autonumber, Name = Character(30), Operation = Character(1), enumerado,
que leva 2 valores: Rent ou Sale.
Observe os domnios pr-definidos e os tipos de dados. A maioria corresponde a domnios
semnticos. O que significa isso?
Registre a regra Default para PropertyListingDate, e regra Error se deixa-se o endereo
vazio. Logo constatar que so disparados tambm no Smart Device.
Crie a transao Neighborhood

D F5 (aparecer o reporte de anlises de impacto) e execute a reorganizao para criar
tabelas na base de dados.
Ser aberta uma janela pedindo-lhe que faa log in com seu usurio de GXTechnical.


Pgina 5
Prtico Atualizao a GeneXus X Evolution 2

Em seguida, abrir o Developer Menu no navegador, com os links para registrar
propriedades imobilirias e bairros. Registre alguns. Observe o look & feel.



3. Aplicando o Pattern Work With for Smart Devices

Aplique o pattern Work With for Smart Devices transao Property. Para isso:
o Seo de Patterns da transao
o Aplique este pattern on save
Familiarize-se com os ns List, Detail e Section(Geral) da instncia, vendo em cada caso a
tela que aparece.
Salve e observe o que acontece com os seguintes elementos:

Propriedades da transao:
o Business Component = True


Pgina 6
Prtico Atualizao a GeneXus X Evolution 2
o Expose as Web Service = True
o Web Services Protocol = ReST Protocol
Folder View / Property: aparece subn:

Gerador para Smart Devices como gerador secundrio (observe com certa ateno suas propriedades, em
particular: Generate Android = True) em Preferences / Ruby Environment / Generators

Aplique o pattern tambm transao Neighborhood
O que falta para poder testar o aplicativo? D agora F5, como no tem nenhum objeto main
para a parte de Smart Devices do aplicativo, no ter que executar. Portanto, antes de dar F5,
crie um Dashboard e adicione um item para invocar a trabalhar com Property:



o Associe uma imagen opo (pode utilizar a da pasta com cones que os instrutores lhe
fornecero)

o Observe o evento associado a esta opo:


Pgina 7
Prtico Atualizao a GeneXus X Evolution 2

Observe que aqui est invocado o Work With de Propriedades recm-criadas. A que
parte do mesmo? List.
Da mesma forma, adicione um item para invocar WorkWithDevicesNeighborhood.
Salve e observe que a propriedade Main Program est em True. Agora pode dar F5 para
gerar e executar o aplicativo no emulador.
Notas:
Dado que no especificamos nenhum Startup Object, GeneXus abrir tanto o Developer Menu
web no navegador predeterminado, como o emulador Android, para que possamos testar tanto
para o aplicativo ruby web, como o de Smart Devices, Android.
No Developer Menu, alm dos links para executar os objetos do aplicativo Web, aparecer QR
codes: um que encapsula a URL para poder descarregar o KBN de acordo com o dispositivo e
instal-lo no mesmo; os outros contero o aplicativo para Smart Devices compilado, tanto para
Android como para Blackberry. Nem sempre ser criado o arquivo compilado. Depender de ter
Startup object configurado e de modalidade de execuo que se empregou (se F5, Run with this
only, etc.)


Pgina 8
Prtico Atualizao a GeneXus X Evolution 2

Veja mais sobre isso em http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?18260

Em nosso caso, o emulador est abrindo o KBN (Knowledge Base Navigator) que mostra a URL para
executar o dashboard do aplicativo (nico objeto main que temos at o momento). Lembre-se de tudo
o que foi estudado sobre a arquitetura. Aqui, no ser executado um compilado sem um intrprete (o
KBN)


Ao tocar a URL, exibido o layout correspondente ao Dashboard:


Pgina 9
Prtico Atualizao a GeneXus X Evolution 2

Toque sobre List of Properties
o Observe que aparecem as mesmas propriedades que registrou antes, no Developer
Menu web (no final da seo 2)
o Observe os atributos que esto sendo exibidos de cada propriedade. V a GeneXus
procurar no pattern o Layout desta List, para ver a correspondncia.


Pgina 10
Prtico Atualizao a GeneXus X Evolution 2
o Toque sobre qualquer das propriedades listadas e veja como aparece o detalhe da
mesma (este o Layout correspondente ao modo View ou ao
Edit?):
o Observe o que acontece quando toca sobre o cone que aparece no campo de endereo
(lembre-se daquilo sobre domnios semnticos: com quem se est interagindo para
conseguir esta funcionalidade? Lembre-se dos pilares: a integrao com funcionalidades
nativas do dispositivo)
o Volte com o boto de back:


o Edite a propriedade imobiliria que est visualizando (para isso, pressione MENU) e
aparecer o menu a seguir. Escolha a ao Update. (Agora que Layout est
aparecendo para esta seo geral do detalhe? Ou do modo View ou Edit?)


Pgina 11
Prtico Atualizao a GeneXus X Evolution 2


o Elimine o contedo do campo de endereo e grave. Permitiu-lhe salvar as mudanas?
Deveria obter uma tela como a seguinte:


o Cancele. Volte a tentar modificar a Propriedade Imobiliria, mas desta vez sem envolver
a regra erro. Por exemplo: modifique a data (observe o Date Picker). Modifique a
Operao (de Rent por Sale, ou vice-versa) e salve.
o Agora volte List of properties (com o boto back mostrado antes) e visualize o
MENU.
o Insira uma nova propriedade. Observe que:


Pgina 12
Prtico Atualizao a GeneXus X Evolution 2

O Id autonumber, assim que no tem que registrar valor
A data aparece com o valor que especificou na regra Default da transao.
Quando edita o campo Address, automaticamente aparece o teclado. Por qu?
(Lembre-se daquilo dos domnios semnticos).
Ao tocar sobre o campo da imagem da frente da propriedade, oferecida a
possibilidade de fazer uma foto com a cmera do dispositivo (no emulador,
poder fazer uma imagem fictcia) ou selecionar uma da galeria de imagens.


o Salve e observe como aparece a nova propriedade na lista.
o Em seguida, volte a visualizar o MENU e observe os filtros que aparecem.
o Em particular, filtre por Operation (Sale ou Rent)


Pgina 13
Prtico Atualizao a GeneXus X Evolution 2
o Visualize o MENU e agora faa um Search por nome. Depois, faa outro por endereo.
o Trate de localizar no pattern em GeneXus o lugar onde se encontram especificados estes
filtros e searchs.

Agora v a GeneXus e, no lugar de interpretar o aplicativo atravs do KBN, execute no emulador
o compilado. Como o faria?
o H vrias alternativas.
Especificar o Dashboard como Startup Object. (boto direito sobre a janela do
mesmo / Set As Startup Object ou Preferences/Ruby Environment, propriedade
Startup Object). No prximo F5, compilar s o aplicativo que depende deste
objeto, ou seja, em nosso caso, s o aplicativo para Smart Devices cujo menu
o dashboard. No abrir o Developer Menu web, mas s o Emulador com o
dashboard compilado em execuo.
Clique com o boto direito sobre a janela do Dashboard e escolha a opo Run
With this Only. O efeito ser o mesmo que o caso anterior. Escolher esta opo,
assim o F5 continua gerando o aplicativo web e o de Smart Devices
interpretado.
H mais alternativas. Busque-as na wiki.
o Lembre-se de que, ao compilar, aparecer no Developer Menu o QR Code
correspondente. Tambm pode obt-lo mediante View / Show QR Codes.
4. Entidades interrelacionadas
o Observe a instncia do Pattern aplicado a Neighborhood

o Relacione as entidades Property e Neighborhood (cada propriedade pertence a um bairro)
o Para isso, adicione transao Property os atributos NeighborhoodId e
NeighborhoodName (permitindo nulos no NeighborhoodId, do contrrio, ir falhar-
lhe a reorganizao) e salve:



Pgina 14
Prtico Atualizao a GeneXus X Evolution 2
o Volte a observar a instncia do pattern Neighborhood (se o tinha aberto antes, volte a abri-
lo para atualiz-lo). Por que aparece esse novo n abaixo de Detail? O que significa?

o Para corroborar o que significa isso que voc est pensando, pressione F5, reorganize e
constate-o.
o Experimente na List of Properties:
Editar uma propriedade para registrar o bairro (observe que oferecido
escolher o bairro entre os existentes. Que layout est aparecendo para
isso?):

Adicione de modo igual o bairro e as demais propriedades que tenha
registradas (se quiser faz-lo mais rpido, pode realiz-lo atravs do
Developer Menu web).
Volte List of Properties e observe que foi adicionado um filtro por bairro.
Veja-o em GeneXus. Que Layout est aparecendo para selecionar o bairro
pelo que queremos filtrar?
o Verificar:
Atravs da List of Neighborhoods registrar um dos bairros e observar as
propriedades imobilirias.


Pgina 15
Prtico Atualizao a GeneXus X Evolution 2

Clique sobre uma. Que Layout abriu para voc?
Na propriedade, detenha-se no Neighborhood. Toque sobre ele e observe a
circularidade.

Observe que as duas sees abaixo do Detail do pattern correspondente a
Neighborhood aparecem como tabs. Onde se configura esta opo? (v ao
Layout do Detail e observe o controle <All Sections Control>). Como


Pgina 16
Prtico Atualizao a GeneXus X Evolution 2
conseguir que os tabs tenham imagens?:

Uma vez feito este percurso, j temos reconhecido a nvel bsico onde est cada coisa e como
funciona. Temos condies de passar seguinte etapa: personalizar.
5. Personalizando o Pattern Work With for Smart
Devices [avanado]
Editando a List

o Editar o Layout da List do WorkWithDevicesProperty e adicionar o atributo PropertyAddress.
O Layout dever ficar como se mostra (para tirar dele o Label, que propriedade do controle
atributo voc deve modificar?)


o Executar o aplicativo pressionando F5 e verifique as mudanas realizadas.
o E se quer que a coluna da esquerda (a da foto) ocupe 30% da tela?


Pgina 17
Prtico Atualizao a GeneXus X Evolution 2

o Agora queremos que a fila 1 (onde est a imagem e o nome da propriedade) ocupe 65% do alto
da tabela e a fila 2 (onde est o endereo) ocupe 35% restante, com um alto de tabela de 100
dips.

o Aumente a imagem para ocupar as duas filas. Teste todo o modificado.




Pgina 18
Prtico Atualizao a GeneXus X Evolution 2
o No Grid da List, configurar a propriedade Control Type = SD Image Gallery, registrando
como Data Attribute o que contm a foto (PropertyFrontImage) e, se o deseja, na propriedade
Title Attribute, pode especificar o atributo PropertyName e no Subtitle Attribute
NeighborhoodName.

o Executar o aplicativo (F5) e observar a mudana na visualizao da lista de propriedades
imobilirias. Navegue pelas propriedades e escolha ver o detalhe de alguma.


o Desfazer o feito, voltando lista default do grid (por linhas).



Pgina 19
Prtico Atualizao a GeneXus X Evolution 2
Editando o Detail

o Se deseja que quando est visualizando uma propriedade imobiliria no sejam exibidos os ids
(PropertyId, NeighborhoodId) e que estes s sejam exibidos quando se est em Edit. Por sua
vez, em edit, no se deseja mostrar o NeighborhoodName. Implemente-o.


o Executar o aplicativo presionando F5 e verificar as mudanas realizadas.
o Observe que o nome aparece duas vezes. Por qu? Tire-o do Layout do n Detail.

o Volte Seo (Geral)/ View. Observe o que acontece ao mudar agora Any Platform por
Android. Observe que pode iniciar o novo Layout com um igual ao que estava trabalhando
antes (ou por default: Any Platform, Any Size, Any Orientation, View) ou o Edit, ou inici-lo
vazio. Escolha a opo que se apresenta na seguinte imagem e clique onde se indica click
here.


Pgina 20
Prtico Atualizao a GeneXus X Evolution 2


o Observe as diferenas na localizao das etiquetas. Por que e onde est configurada esta
propriedade? (posicione-se sobre qualquer atributo do Layout e observe o valor da propriedade
Label Position. O que possvel inferir sobre o default da plataforma Android para Any Size

o





Pgina 21
Prtico Atualizao a GeneXus X Evolution 2
o Faa alguma mudana neste Layout para Android (por exemplo, mover a imagem acima) e
observe a mudana na execuo (dado que estamos gerando para Android, se estivssemos
gerando para iPad ou BlackBerry, que Layout aparecer?):

o Agora edite o pattern Work With for Smart Devices de Neighborhood. Observe as diferenas
entre o Layout de Section(General) e o de Section(Property).

o Note que enquanto o Layout de Section (General) ser plano, o de Seo (Property)
conter um grid para mostrar as propriedades.
o Observe agora o n Detail e as propriedades do controle que aparecem
automaticamente <All Sections Content>:



Pgina 22
Prtico Atualizao a GeneXus X Evolution 2
o O que significa a propriedade Display? Observe que os valores que oferecem so, - alm
da Plataform Default -, Tab, Inline e Link.
o Como faria para que a lista de propriedades imobilirias do bairro se mostrar no lugar
de como tab, como um link?

Nota: Lembre-se de que, para que seja possvel manipular os contineres de sees
individualmente, dever eliminar <All Sections Content> do Layout, atravs do que aparecer na
toolbox, junto com um continer por cada seo.

o Por que em execuo no se v o link? Observe a propriedade Rows Style das colunas.
Elimine o controle atributo NeighborhoodName e modifique o tamanho das filas como a
seguir:


Pgina 23
Prtico Atualizao a GeneXus X Evolution 2

o Adicione estrutura da transao Neighborhood um atributo Neighborhood de tipo de
dados Varchar(1024). Observe que automaticamente o atributo adiciona-se ao Layout
de Section (General).
o Posicione-se sobre o n Detail e com o boto direito faa Add -> Section. Observe
como ser adicionada uma nova seo (Section Code ser o nome, que no pode conter
espaos). Seu Layout cria-se vazio.
o Insira ali um text block e o atributo NeighborhoodInfo recm-criado mudando a
propriedade AutoGrow a True. Deve aparecer:


o Adicione seo a regra Parm para que se filtre por bairro.
o Observe o n Detail. No foi adicionada a nova seo automaticamente. Por qu?
Observe que o controle Section encontra-se na Toolbox para poder ser utilizado.
o Teste adicionar um controle Tab, configurando os Captions dos itens da seguinte
maneira e arraste para cada item o controle <Section> correspondente. Associe uma
imagem a cada item do tab control:


Pgina 24
Prtico Atualizao a GeneXus X Evolution 2

Nota: certifique-se de modificar o estilo da fila que contm o tab control, para que possa ocupar
100% da tela.
o Teste-o em execuo. O que aconteceu com as propriedades? Esto sendo visualizadas
como Link no tab correspondente.

o E se deseja que apaream como um link, mas dentro da informao apresentada no tab
Geral?

Nota: Lembre-se de editar as propriedades da tabela interna ao tab General, para que entre toda a
informao na tela. Por exemplo:


Pgina 25
Prtico Atualizao a GeneXus X Evolution 2


o Dado que no Layout de Seo (Property) encontra-se um grid, podem utilizar para a
visualizao os mesmos Users Controls vistos para o List.
o Adicione um atributo PropertyGeolocation estrutura da transao Property, para
armazenar a longitude e latitude da propriedade imobiliria. Observe que assumir
como tipo de dados o domnio semntico Geolocation.
o Depois, v Section(Property) do Work With para Neighborhood e no grid
modifique a propriedade Control Type, a SD Maps, especificando o atributo
PropertyGeolocation como o Location attribute.
o D F5 (ter que reorganizar). Atribua Geolocations s propriedades que tem
registradas (pode utilizar google maps para obter latitude e longitude das direes)
e teste o realizado.
Observe que, tocando sobre uma das localizaes, aparecem os dados do grid, e, se
tocar sobre esta informao, aparece todo o detalhe.



Themes
Se h tempo (consulte o instrutor), pode testar a utilizao de temas em sua aplicao.
Os Layouts com os que temos trabalhado at o momento no permitiam configurar aspectos de
desenho dos controles. Para faz-lo, temos os themes.
Para isso:
o Modifique o theme predeterminado para Android SimpleAndroid
o Crie uma subclasse do n Attribute com o nome que desejar e modifique alguma
propriedade, como mostramos (em seguida salve):


Pgina 26
Prtico Atualizao a GeneXus X Evolution 2
o

o Observe que no Folder View temos debaixo do n Custumization, propriedades a
configurar para cada plataforma de Smart Devices possvel:


o As mesmas propriedades encontram-se abaixo de Preferences/Patterns, em uma
instncia que configura as propriedades dos Work With for Smart Devices. Para cada n
abaixo de Platforms, ter a possibilidade de configurar um theme diferente.


Pgina 27
Prtico Atualizao a GeneXus X Evolution 2

E se quiser um desenho diferente quando se trata de tablets de 7, de 10 ou de
telefones?
Tem-se um theme configurado para Any Platform e um para Any Android e
voc est gerando para Android, qual levar o aplicativo?
Agora voc vai querer configurar para que quando se estiver visualizando uma
propriedade imobiliria (Detail), o nome da mesma aparea amarelo. V Section
(General) e escolha para o atributo PropertyName a classe YellowAttribute (certifique-se
de estar no Layout para Android e no para Any Platform).





Pgina 28
Prtico Atualizao a GeneXus X Evolution 2
o Teste-o em execuo:





Adicionando Ordens e Filtros

o Adicionar um Order ao WorkWithDevicesProperty, para que o usurio possa escolher se mostra
as propriedades imobilirias ordenadas por nome ou por bairro.
o Selecionar a janela Conditions dentro da List:


Pgina 29
Prtico Atualizao a GeneXus X Evolution 2

o Adicionar uma Orden pelo atributo NeighborhoodName:

o Dar F5 e testar em execuo.


o Agora modifique um pouco o anterior e mostre as Propriedades agrupadas por bairro. Para isso,
edite:


Pgina 30
Prtico Atualizao a GeneXus X Evolution 2

E, em execuo, escolha em Filter and Order ordenar por Neighborhood, observando o resultado.


Adicionando Aes

o Voltar a GeneXus e criar a transao PropertyAppointment para agendar visitas de
possveis clientes propriedade com a estrutura a seguir (ou seja, a propriedade junto
com a data e hora, constituem a chave e logo so registrados os dados do prospect que


Pgina 31
Prtico Atualizao a GeneXus X Evolution 2
realizar a visita na data e hora fixadas):


o Aplicar o Work With for Smart Devices transao PropertyAppointment e verificar que a
Section(Property Appointment) adicionada ao WorkWithDevicesProperty.


o Observe na List a Action Bar e, com boto direito sobre o boto Insert, veja a
programao do evento. Quem est sendo invocado?


o Agora v ao n Section(PropertyAppointment). Aqui ser exibida uma lista de
appointments agendadas para a propriedade selecionada.


Pgina 32
Prtico Atualizao a GeneXus X Evolution 2

Observe que a Action Bar est vazia e que dentro do Layout tambm no h
botes. Aqui, no se oferece a possibilidade de inserir uma nova visita
(appointment): s so listadas as visitas pr-existentes dessa propriedade.
Se quer adicionar ou tirar atributos do Layout, faa-o. Tambm pode associar
uma imagem cada Section (observe entre suas propriedades, a Imagem) e
encurte o Caption da seo para que no seja to longo (por exemplo:
Appointments). Para comprovar o comportamento, d F5 (reorganize).
Registre algumas visitas atravs do Developer Menu e teste no emulador que
essas visitas aparecem listadas para a propriedade correspondente.


o Observe que sem programar nada, ao tocar sobre uma das visitas que aparecem,
visualizada sua informao (utilizando o Layout de WorkWith de PropertyAppointment
correspondente). Esta ser a ao automtica (Default Action). Na tela a seguir, est
este Layout personalizado.


Pgina 33
Prtico Atualizao a GeneXus X Evolution 2

Observe tambm que o atributo escolhido como descritor o que aparece neste Layout
acima de tudo (no nosso caso, o nome do prospect). Pode modific-lo pelo sobrenome
prospect (propriedade Caption do n Detail).
Observe o que acontece automaticamente com o telefone (est utilizando a
funcionalidade nativa do dispositivo)

o Adicione ao n Section (PropertyAppointment) do Work With de Property uma nova ao
que permita atravs do menu, inserir uma nova visita a essa propriedade. Para isso:
o Boto direito sobre a Action Bar/ Insert Action
o Insira o nome da ao (e.g. AddAppointment). Observe que o boto por default adquire
o mesmo caption que a ao, mas pode modific-la, assim como a prioridade (ao mud-
lo a High, o boto aparecer sempre visvel).

o A quem a ao deve invocar? De que maneira? Para isso, dever ir seo Events:


Pgina 34
Prtico Atualizao a GeneXus X Evolution 2

Precisa invocar o Detail do Work With de PropertyAppointment, no modo Insert. Para
isso:

Precisamos enviar como parmetro PropertyId, mas como a PK composta, devemos
carregar uma varivel BC de tipo PropertyAppointment e pass-la por parmetro.


Teste-o. F5. Registre uma nova visit.




Pgina 35
Prtico Atualizao a GeneXus X Evolution 2
o Agora queremos interagir com algumas funcionalidades do dispositivo. Por exemplo, queremos
que ao dar Save em uma nova visita, sejam registrados os dados do prospect no caderno de
endereos. Para isso:
o Como establecer uma sequncia de aes, dever adicionar o comando Composite.
Pode arrastar o objeto AddressBook do folder SmartDevicesApi ou digit-lo.
Utilizaremos seu mtodo AddContact. Observe os parmetros que recebe.


o Lembre-se de que os parmetros so posicionais e obrigatrios, por isso, se no tem um
parmetro, dever especific-lo de todos modos com valor vazio. Se no conta com os
ltimos parmetros, no precisa fazer este ltimo passo.

o D F5 e tente registrar uma nova visita.
o Aps salvar a visita, ser aberto o aplicativo de contatos:


o Se tem um dispositivo (o emulador no contm Calendar), poderia tambm agendar
a visita no calendrio do dispositivo.


Pgina 36
Prtico Atualizao a GeneXus X Evolution 2
6. Painis para pedir dados ao usurio [avanado]
o Queremos poder listar apenas as visitas agendadas para um dia determinado. Para
tanto, precisamos que o usurio registre essa data e, ento, continuar a mostrar as
visitas. Para isso:
o Crie um objeto do tipo Panel for Smart Devices de nome AskDate.
o Adicione uma varivel &appointmentDate e depois insira-a no Layout (certifique-se
de que a propriedade Readonly fique em False, de maneira tal que o usurio possa
registrar valor para a mesma)
o A seu lado, clique com boto direito e registre uma nova ao (veja como o boto
ficar dentro do Layout, desta vez).

o A quem esta ao invocar? Ao With for Smart Devices da transao
PropertyAppointment? Se invocamos este painel, teremos que modific-lo para que
agora receba um parmetro, a data. Se no desejamos faz-lo, ento uma
possibilidade criar um Level paralelo no Work With da transao. Faamo-o:

o Criamos esse novo Level com um n List, que no que desenharemos o Layout para
este caso.


Pgina 37
Prtico Atualizao a GeneXus X Evolution 2


E especificamos parm (PropertyAppointmentDate);
Nota: alm disso, adicionamos um order por PropertyName, PropertyAppointmentTime,
com um break by PropertyName, assim as visitas por propriedade nos saem agrupadas;
adicionamos a possibilidade de filtrar por propriedade e personalizamos o Layout, para que
nos aparea a informao assim:

o O que nos falta? Ir ao painel para pedir-lhe a data ao usurio e, nas propriedades da
ao, passar o parmetro &appointmentDate (a varivel) e invocar o Level paralelo
correspondente.


Pgina 38
Prtico Atualizao a GeneXus X Evolution 2

A invocao ficar:

o Adicione ao Dashboard este painel:


o Assim, poderemos ver em execuo o desejado:


Pgina 39
Prtico Atualizao a GeneXus X Evolution 2

7. Execuo no dispositivo [opcional]
Se tem um dispositivo Android, especifique o dashboard como Startup Object e d F5 ou,
diretamente, clique com o boto esquerdo sobre a janela do dashboard e Run With This
Only.
o D View/Show QR Codes. Execute o aplicativo Barcode Scanner de seu dispositivo e realize
a leitura do Cdigo QR, que aparece (que contm codificada a URL do compilado onde se
subiu o aplicativo nuvem). Automaticamente, ser descarregado um compilado em seu
dispositivo e poder instal-lo e executar.




Pgina 40
Prtico Atualizao a GeneXus X Evolution 2
8. GAM [opcional]
o Antes de prosseguir, congele a verso atual de desenvolvimento, para ter um respaldo do
estado atual da KB. View/Versions. (View/Freeze sobre a verso).


o Incorporar o GeneXus Access Manager (GAM) para obter um controle de acesso automtico.
Para isso:


Configure a propriedade Enable Integrated Security em True, pressione Yes:


Pgina 41
Prtico Atualizao a GeneXus X Evolution 2

Observe as propriedades que se abrem

o Observe tudo o que importado na KB atravs da mudana anterior (no Folder
View, encontrar duas novas pastas).

o Quais objetos so os que se configuram automaticamente nas propriedades Login Object
for Web e Login Object for SD nas propriedades mostradas mais acima?


Pgina 42
Prtico Atualizao a GeneXus X Evolution 2
o D Rebuild All e depois F5. Confirme que deseja criar a base de dados do GAM:

o Ao executar o aplicativo Smart Device, fornea os seguintes dados para a conexo:
usurio: admin
password: admin123









o V ao Developer Menu e tente executar uma transao. No poder sem passar antes pelo
Login. Teste-o.

o A partir do Developer Menu, execute a Web panel GAM Home e observe o Backend para
administrar a segurana:



Pgina 43
Prtico Atualizao a GeneXus X Evolution 2


o Se quisesse que apenas alguns objetos fossem seguros, mas no todos, como faria?
9. Gerando para outras plataformas [opcional]
Gere o aplicativo agora para BlackBerry. Para isso, em nosso Wiki encontrar os pr-requisitos
e um exemplo de execuo para um aplicativo para BlackBerry.
http://wiki.gxtechnical.com/commwiki/servlet/hwiki?BlackBerry+Generator+Prerequisites,
http://wiki.gxtechnical.com/commwiki/servlet/hwiki?My+First+BlackBerry+Application,

Entre as propriedades do gerador para Smart Devices, registre as
seguintes propriedades:
o Generate Android = false
o Generate BlackBerry = true
Rodamos o aplicativo e vemos como GeneXus traz nesta fase o
emulador de BlackBerry. Neste caso, notaremos que o aplicativo
roda automaticamente no emulador.








Pgina 44
Prtico Atualizao a GeneXus X Evolution 2
Para execut-lo, seguir as instrues:

1. Pressionar o boto Menu do emulador, indicado abaixo pela data.
2. Localizar o cone Downloads e clicar nele.
3. Como efetuou um Rebuild All, tem o aplicativo compilado para BlackBerry. Pode escolher
execut-lo, RealEstateApplication, ou pode utilizar o KBN (v-lo na tela mais direita), como o
fez com Android.


4. Faa Log in e execute o aplicativo.



Se tem um dispositivo iOS, pode testar o aplicativo nele. Para isso, veja nossa documentao:
http://wiki.gxtechnical.com/commwiki/servlet/hwiki?My+First+Apple+Application


Pgina 45
Prtico Atualizao a GeneXus X Evolution 2
1. Baixe o KBN em seu dispositivo. Lembre-se de que fazendo em GeneXus View/ Show QR
Codes:

2. Execute-o e faa log in com seu usurio de GXTechnical. Em seguida, se acessa de qualquer
navegador sua conta de GxTechnical, ver que no tab Associated Smart Devices, aparecero
todos os dispositivos nos quais tenha implementado este procedimento.



3. V a GeneXus e, nas propriedades do gerador Smart Devices, especifique que deseja que o
aplicativo seja gerado agora em iOS (colocando em False BlackBerry).


Pgina 46
Prtico Atualizao a GeneXus X Evolution 2
Em Execution Type, escolha o KBN com o qual dever escolher o dispositivo que tem associado
a sua conta, como a seguir:

No exemplo, escolhemos o dispositivo chamado Test-iPad.


5. Agora s dever regenerar o aplicativo e dar F5. Aparecer no dispositivo Test-iPad a seguinte
notificao, depois do qual poder executar o aplicativo.


Pgina 47
Prtico Atualizao a GeneXus X Evolution 2




Pgina 48
Prtico Atualizao a GeneXus X Evolution 2
10. Glossrio
Alm dos vdeos em nosso site de capacitao (http://training.genexus.com/cursos/todos-
los-cursos?es), encontrar documentao diversa em nossa Wiki:
Meu Primeiro Aplicativo BlackBerry
http://wiki.gxtechnical.com/commwiki/servlet/hwiki?My+First+BlackBerry+Application,

Meu Primeiro Aplicativo Apple
http://wiki.gxtechnical.com/commwiki/servlet/hwiki?My+first+Apple+Application,

Meu Primeiro Aplicativo Android
http://wiki.gxtechnical.com/commwiki/servlet/hwiki?My+First+Android+Application,

Applying Work With Pattern for Smart Devices
http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Applying+Work+With+Pattern+for+Smart+Devices,

Knowledge Base Navigator
http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Knowledge+Base+Navigator,

Dashboard Object
http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Dashboard+Object,


Panel for Smart Devices Object
http://wiki.gxtechnical.com/commwiki/servlet/hwiki?HowTo%3A+Defining+Panels+in+Smart+Devices,

Orders & Group By
http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Ordering+Lists+in+Smart+Devices,