Olá,
AI2 é a nova versão do AppInventor (DEZ/2013) disponível para acesso em http://ai2.appinventor.mit.edu
Leia sobre as melhorias e mudanças em : http://appinventor.mit.edu/explore/ai2/whats-new.html
E os Projetos desenvolvidos no AppInventor1 ?
Como postado no website do MIT AI :
MIT plans to provide a tool to help transfer projects from App
Inventor 1 to App Inventor 2, but it won't be available for a few
months.
Ou seja, o AppInventor Versão e seus projetos desenvolvidos lá estará disponível até por volta de Mai/Jun 2014.
Há anúncio de desenvolvimento de uma ferramenta para CONVERSÃO dos projetos desenvolvidos na plataforma AI1 para a nova plataforma AI2.
Confira o livro OFICIAL do AppInventor gratuitamente em :
http://www.appinventor.org/book2
Os projetos da versão2 agora serão salvos com a extensão .AIA !
Uma novidade é que agora o IDE roda totalmente no browser , não abrindo uma janela Java para abrir o Blocks Editor, como fazia anteriormente.
Outra novidade aparece nos Blocos de Controle, com novas funcionalidades.
Também ficou mais fácil "encontrar"os blocos , quando a aplicação tiver muitos deles.
Confira novidades nos Tutoriais.
Para comecar a desenvolver NOVOS projetos no AI2, acesse http://appinventor.mit.edu/explore/ e clique em CREATE (veja exemplo na imagem abaixo)!!!
Vamos explorar !
Germinaro
sábado, 7 de dezembro de 2013
sexta-feira, 22 de novembro de 2013
Curso da UDEMY sobre AppInventor
Olá,
Aos interessados existe um curso sobre o AppInventor e suas facilidades muito bom publicado no site da UDEMY .
O curso é PAGO, mas a UDEMY oferece descontos e promoções !
Confiram lá em https://www.udemy.com/android-apps-in-1-hour-no-coding-required/
Até o próximo post,
Germinaro.
Aos interessados existe um curso sobre o AppInventor e suas facilidades muito bom publicado no site da UDEMY .
O curso é PAGO, mas a UDEMY oferece descontos e promoções !
Confiram lá em https://www.udemy.com/android-apps-in-1-hour-no-coding-required/
Até o próximo post,
Germinaro.
segunda-feira, 11 de novembro de 2013
Verificando Fusion Tables Result
Olá,
Continuando com o assunto FUSION TABLES , vai uma dica para verificar o resultado de sua QUERY numa tabela.
Bem, após executar a ação, INSERT, SELECT etc... insira o seguinte código em seu app :
Então, em Label1.Text vc terá o resultado ...
Observe que um 400 Bad Request significa problemas na sua query...
Se DEU CERTO a query , result retorna em branco.
Um dos erros mais comuns é não colocar ASPAS SIMPLES na passagem das variáveis ...
Veja exemplo abaixo de como fazer:
* Teste com a tabela no Google Drive aberta , para verificar se a query INSERIU os dados.
Mais Info : Veja nossos 2 outros posts sobre Fusion Tables neste Blog.
Abraço,
Germinaro
Continuando com o assunto FUSION TABLES , vai uma dica para verificar o resultado de sua QUERY numa tabela.
Bem, após executar a ação, INSERT, SELECT etc... insira o seguinte código em seu app :
Então, em Label1.Text vc terá o resultado ...
Observe que um 400 Bad Request significa problemas na sua query...
Se DEU CERTO a query , result retorna em branco.
Um dos erros mais comuns é não colocar ASPAS SIMPLES na passagem das variáveis ...
Veja exemplo abaixo de como fazer:
* Teste com a tabela no Google Drive aberta , para verificar se a query INSERIU os dados.
Mais Info : Veja nossos 2 outros posts sobre Fusion Tables neste Blog.
Abraço,
Germinaro
sábado, 5 de outubro de 2013
Curso em Vídeo Desenvolvimento de Aplicativos para AppInventor
Olá,
Para iniciantes , este curso em 14 lições e disponibilizado gratuitamente pela FIAP ,
ajuda a entender a plataforma e contempla os aspectos básicos para o desenvolvimento de aplicações utilizando a ferramenta AppInventor.
http://www.fiap.com.br/fiapx/cursos/curso-de-aplicativos-para-android-com-app-inventor/
Bom estudo !
Germinaro
Para iniciantes , este curso em 14 lições e disponibilizado gratuitamente pela FIAP ,
ajuda a entender a plataforma e contempla os aspectos básicos para o desenvolvimento de aplicações utilizando a ferramenta AppInventor.
http://www.fiap.com.br/fiapx/cursos/curso-de-aplicativos-para-android-com-app-inventor/
Bom estudo !
Germinaro
domingo, 29 de setembro de 2013
Livro sobre AppInventor
PEssoal,
Este livrinho ajuda a quem está começando no AppInventor .
Comprei na Amazon , chegou em 2 semanas...
Há outros tb na Amazon sobre o assunto.
O table of contents :
Abraços,
Germinaro
Este livrinho ajuda a quem está começando no AppInventor .
Comprei na Amazon , chegou em 2 semanas...
Há outros tb na Amazon sobre o assunto.
O table of contents :
Abraços,
Germinaro
domingo, 16 de junho de 2013
Um SIMPLES Leitor de Código de Barras
Olá ,
Neste post vamos desenvolver um exemplo básico de um Leitor de Código de Barras (e tb QR COde).
Bem, inicialmente defina na tela inicial (como imagem abaixo):
1) um Label com o texto : Código de Barras
2) um Textbox (para receber o código lido)
3) um Button para iniciar a ação de Leitura.
Neste post vamos desenvolver um exemplo básico de um Leitor de Código de Barras (e tb QR COde).
Bem, inicialmente defina na tela inicial (como imagem abaixo):
1) um Label com o texto : Código de Barras
2) um Textbox (para receber o código lido)
3) um Button para iniciar a ação de Leitura.
Requisito : para que o projeto funcione instale no seu smartphone antes o App Zxing (disponível na Google App Store), gratuito.
E agora, vamos ao SIMPLES código , como abaixo :
Acredite, é sómente isso. Instale no smartphone e teste.
Agora, é adaptar a outras idéias/projetos.
Isso aí, até o próximo post,
Germinaro
sábado, 20 de abril de 2013
Usando uma KEY para armazenar no TinyDB
Embora o TinyDB seja projetado para uso simples, é possível criar um INDEX que aponte para certos dados. Digamos , por exemplo, que voce precise incluir (e depois recuperar) numa chave CODIGO ( e que aponte para NOME e EMAIL ). Como exemplo para testar, crie uma tela tal como essa:
Então , no Blocks editor codifique assim :
Com isto, NOME (indexado pelo valor 1) e EMAIL (indexado pelo valor 2) são armazenados/recuperados SOB a chave igual ao valor do campo codigo.TEXT.
Por exemplo, se vc cad astrou CODIGO = 2 (valor entrado em codigo.TEXT) no formulário , recupere os dados informando 2 em codigo2.TEXT.
Espero que seja útil para projetos "mais complexos" .... :)
Isso aí, até o próximo
Germinaro
sábado, 13 de abril de 2013
Contornando problemas com o TIMER no AppInventor
Android Apps in 1 Hour: No Coding Required
Olá, o AppInventor ainda não tem uma solução(embora muitos usuários tenham requisitado) para casos em que a aplicação necessite ficar "VIVA"(ALIVE) e rodando em background como um SERVICE .
Rodando em background significa que mesmo que o aparelho apresente-se como desligado, ou em estado latente , o mesmo fica "aguardando " por algum evento, tal como um SMS, uma chamada telefonica, ou mesmo contando tempo...
Quando o aparelho "desliga"o visor, no caso apresentado, o TIMER "pára" e é retomado quando é ligado novamente ...
Caso você tenha problemas (como tive) de ao trabalhar com o CLOCK e o tempo do aparelho estiver definido para desligamento do visor (ou do aparelho) com valor inferior ao tempo definido, a solução que encontrei foi :
- UTILIZE o Notifier (componente da guia OTHER STUFF) na Palette da IDE.
Exemplo :
Neste caso/solução acima , foi definido no componente CLOCK um TimerInterval de 60000 (o que corresponde a 60s ou seja 1 minuto = 60000 milissegundos. O CLOCK trabalha com millissegundos.
Então, WHEN Clock1.Timer(a cada vez que EXPIRA o TimerInterval , além de outras atividades é emitida uma notificação (Call Notifier.ShowAlert ) e ISTO MANTÉM o smartphone "acordado"...
Para que funcione então, é preciso que o tempo desligamento do visor do aparelho seja definido com valor SUPERIOR ao tempo de expiração do CLOCK1.
Foi esta solução que encontrei e...FUNCIONOU !!!
Espero que ajude !
Até o próximo post,
Germinaro
quinta-feira, 11 de abril de 2013
Enviando email com o AppInventor
Curso UDEMY : Android App in 1 Hour
Olá, Vamos a um exemplo de como enviar um email utilizando os recursos do AppInventor. Crie uma tela inicial semelhante a essa:
Arraste e defina :
3 Horizontal Arrangement, onde vc vai colocar cada conjunto (Label + Textbox), conforme figura ;
3 labels (Email para:, Assunto:, Texto: ) ;
3 textbox, sendo que naquele que segue Texto: marque MULTILINE nas propriedades;
1 button (Enviar Email);
1 componente ActivityStarter .
OK, a lógica fica assim (no Blocks Editor):
Notem que faz chamada a um recurso INTERNO do aparelho com android.intent.action.VIEW !!!
Claro, dá para melhorar o DESIGN e adaptar ãs necessidades , mas o básico é isso !
Agora testar no Emulador ou no smartphone...vai utilizar a sua conta definida no aparelho para fazer o envio do email...
OK?
até o próximo ,
Germinaro
Olá, Vamos a um exemplo de como enviar um email utilizando os recursos do AppInventor. Crie uma tela inicial semelhante a essa:
Arraste e defina :
3 Horizontal Arrangement, onde vc vai colocar cada conjunto (Label + Textbox), conforme figura ;
3 labels (Email para:, Assunto:, Texto: ) ;
3 textbox, sendo que naquele que segue Texto: marque MULTILINE nas propriedades;
1 button (Enviar Email);
1 componente ActivityStarter .
OK, a lógica fica assim (no Blocks Editor):
Notem que faz chamada a um recurso INTERNO do aparelho com android.intent.action.VIEW !!!
Claro, dá para melhorar o DESIGN e adaptar ãs necessidades , mas o básico é isso !
Agora testar no Emulador ou no smartphone...vai utilizar a sua conta definida no aparelho para fazer o envio do email...
OK?
até o próximo ,
Germinaro
quarta-feira, 3 de abril de 2013
Exemplo : um simples browser...
Olá,
Claro, não teremos todas as funcionalidades de um browser normal.
Mas, serve como exemplo da simplicidade.
Vamos lá , precisamos de :
1) Crie uma tabela (arraste um TableArrangement) de 2 x 2.
2) Nesta tabela coloque um Textbox1(com texto default: http://) e um Button1 com texto=GO ! , por exemplo;
3) Arraste um componente Webviewer (da Pallete NOT READY FOR PRIME TIME).
OK !
Fica assim:
Agora vamos ao CÓDIGO (monte os blocos no BLOCKS EDITOR) :
Agora, só testar no Emulador ou no SmartPhone...
Fácil ? Alguma outra idéia ?
Até o próximo post,
Germinaro
Claro, não teremos todas as funcionalidades de um browser normal.
Mas, serve como exemplo da simplicidade.
Vamos lá , precisamos de :
1) Crie uma tabela (arraste um TableArrangement) de 2 x 2.
2) Nesta tabela coloque um Textbox1(com texto default: http://) e um Button1 com texto=GO ! , por exemplo;
3) Arraste um componente Webviewer (da Pallete NOT READY FOR PRIME TIME).
OK !
Fica assim:
Agora vamos ao CÓDIGO (monte os blocos no BLOCKS EDITOR) :
Agora, só testar no Emulador ou no SmartPhone...
Fácil ? Alguma outra idéia ?
Até o próximo post,
Germinaro
sábado, 30 de março de 2013
A Palette do AppInventor
Olá,
Hoje vamos falar da Palette que é apresentada quando voce inicia um novo projeto ou edita um projeto em andamento.
Bem, que opções há nela ?
Vamos lá , primeiro com a BASIC , que apresenta :
Nela podemos ver e brevemente descreverei a função de cada :
Button - arraste e defina os botões que voce irá precisar na aplicação.
Canvas - um painel retangular útil em caso de necessidade de desenhar algo, ou animação.
Checkbox - se algo precisa ser "checado", bom para testar valores True(V) e False(F).
Clock - funções relacionadas a relógio. Observar que utiliza clock interno para cálculos (em Millis).
Image - como o nome diz, para display de imagens.
Label - definir labels para identificaçào de campos ,display de valores de variáveis, etc.
ListPicker - mostra valores de uma lista (pré-definida ou construída).
PasswordTextBox - se vc precisa de um campo de senha...
TextBox - para entrar com texto(o valor pode ser númerico também). muito útil...
TinyDB - um db interno onde pode-se manter valores associados a nomes de variáveis. Os valores são PERSISTENTES, ou seja mantidos no aparelho (a não ser que a aplicação seja reinstalada ou seja forçada a remoção do dados da aplicação).
Obs : Todos os itens tem PROPRIEDADES , que aparecem em Properties(ã direita na tela de desenvovimento) que serão definidas. Ex : Conteúdo inicial de um Textbox , tamanho do fonte, cor do fonte, se é visível ou não etc..
Depois temos a MEDIA onde aparece :
Camcorder - funcões relacionadas a gravação da camera do aparelho.
Camera - se sua aplicação vai capturar uma foto , essa é uma das funcionalidades deste objeto.Arraste para sua aplicação e teste.
ImagePicker - inserir alguma imagem já disponível no aparelho.
Player - normalmente associado a um arquivo SOM ou VÍDEO (arraste o objeto Player, clique nele em Components e depois faça UPLOAD para que seu arquivo seja parte da aplicação).
Sound - para reprodução de um arquivo .mp3, por exemplo (o processo de UPLOAD é o mesmo do Player).
VideoPlayer - reproduzir um vídeo. formatos permitidos : Windows Media Video (.wmv) format, 3GPP (.3gp), or MPEG-4 (.mp4).
Mais abaixo aparece SOCIAL onde temos :
ContactPicker - para mostrar os CONTATOS registrados no aparelho.
EmailPicker - mostra os EMAILS registrados .
PhoneCall - faça uma chamada telefonica.Nas propriedades pode-se informar o número a ser chamado , ou no BLOCKS EDITOR será setado o valor que poderá ser capturado de um TextBox, de uma List .
PhoneNumberPicker - mostra os números dos contatos registrados no aparelho.
Texting - se sua aplicação irá ENVIAR ou RECEBER SMS , arraste este componente e trabalhe com suas propriedades e blocos (veja abaixo) :
- QUANDO receber a mensagem de texto , o que fazer?
- Procedimento para executar o ENVIODEMENSAGEM
- conteúdo da mensagem de texto
- seta o número para o qual enviar a mensagem
e por último, TWITTER, para utilizar funções deste aplicativo.
Veja a necessidade de sua aplicação e arraste os componentes necessários.Não esqueça das Propriedades e que funcionalidades serão necessárias na lógica da aplicação, esta que será desenvolvida no Blocks Editor...
No próximo post , continuaremos com mais funções disponíveis na Palette.
Até o próximo,
Germinaro
Hoje vamos falar da Palette que é apresentada quando voce inicia um novo projeto ou edita um projeto em andamento.
Bem, que opções há nela ?
Vamos lá , primeiro com a BASIC , que apresenta :
Nela podemos ver e brevemente descreverei a função de cada :
Button - arraste e defina os botões que voce irá precisar na aplicação.
Canvas - um painel retangular útil em caso de necessidade de desenhar algo, ou animação.
Checkbox - se algo precisa ser "checado", bom para testar valores True(V) e False(F).
Clock - funções relacionadas a relógio. Observar que utiliza clock interno para cálculos (em Millis).
Image - como o nome diz, para display de imagens.
Label - definir labels para identificaçào de campos ,display de valores de variáveis, etc.
ListPicker - mostra valores de uma lista (pré-definida ou construída).
PasswordTextBox - se vc precisa de um campo de senha...
TextBox - para entrar com texto(o valor pode ser númerico também). muito útil...
TinyDB - um db interno onde pode-se manter valores associados a nomes de variáveis. Os valores são PERSISTENTES, ou seja mantidos no aparelho (a não ser que a aplicação seja reinstalada ou seja forçada a remoção do dados da aplicação).
Obs : Todos os itens tem PROPRIEDADES , que aparecem em Properties(ã direita na tela de desenvovimento) que serão definidas. Ex : Conteúdo inicial de um Textbox , tamanho do fonte, cor do fonte, se é visível ou não etc..
Depois temos a MEDIA onde aparece :
Camcorder - funcões relacionadas a gravação da camera do aparelho.
Camera - se sua aplicação vai capturar uma foto , essa é uma das funcionalidades deste objeto.Arraste para sua aplicação e teste.
ImagePicker - inserir alguma imagem já disponível no aparelho.
Player - normalmente associado a um arquivo SOM ou VÍDEO (arraste o objeto Player, clique nele em Components e depois faça UPLOAD para que seu arquivo seja parte da aplicação).
Sound - para reprodução de um arquivo .mp3, por exemplo (o processo de UPLOAD é o mesmo do Player).
VideoPlayer - reproduzir um vídeo. formatos permitidos : Windows Media Video (.wmv) format, 3GPP (.3gp), or MPEG-4 (.mp4).
Mais abaixo aparece SOCIAL onde temos :
ContactPicker - para mostrar os CONTATOS registrados no aparelho.
EmailPicker - mostra os EMAILS registrados .
PhoneCall - faça uma chamada telefonica.Nas propriedades pode-se informar o número a ser chamado , ou no BLOCKS EDITOR será setado o valor que poderá ser capturado de um TextBox, de uma List .
PhoneNumberPicker - mostra os números dos contatos registrados no aparelho.
Texting - se sua aplicação irá ENVIAR ou RECEBER SMS , arraste este componente e trabalhe com suas propriedades e blocos (veja abaixo) :
- QUANDO receber a mensagem de texto , o que fazer?
- Procedimento para executar o ENVIODEMENSAGEM
- conteúdo da mensagem de texto
- seta o número para o qual enviar a mensagem
e por último, TWITTER, para utilizar funções deste aplicativo.
Veja a necessidade de sua aplicação e arraste os componentes necessários.Não esqueça das Propriedades e que funcionalidades serão necessárias na lógica da aplicação, esta que será desenvolvida no Blocks Editor...
No próximo post , continuaremos com mais funções disponíveis na Palette.
Até o próximo,
Germinaro
segunda-feira, 25 de março de 2013
Material sobre o AppInventor
OLá,
Claro, voce pode procurar no Google, no Bing, no Ask...
No próprio site do Appinventor MIT tem bastante informação(em inglês) .
Mas, se necessitamos algumas técnicas avançadas, então demanda pesquisa...
Há outros blogs, principalmente de quem escreveu os livros e também de envolvidos com o projeto, o qual era originalmente da própria Google e depois foi repassado ao MIT.
Mas, alguns livros que recomendo e que achei de bom nível, ótimo para iniciantes :
Alguns podem ser comprados e baixados via Kindle , verifique no site.
O livro de David Wolber e de Jason Tyler encontrei à venda na livraria FNAC.
Bom, quando for desenvolver seu projeto, se surgirem dificuldades, então pedir ajuda aos
sites de busca...
Até o próximo,
Germinaro
Claro, voce pode procurar no Google, no Bing, no Ask...
No próprio site do Appinventor MIT tem bastante informação(em inglês) .
Mas, se necessitamos algumas técnicas avançadas, então demanda pesquisa...
Há outros blogs, principalmente de quem escreveu os livros e também de envolvidos com o projeto, o qual era originalmente da própria Google e depois foi repassado ao MIT.
Mas, alguns livros que recomendo e que achei de bom nível, ótimo para iniciantes :
Alguns podem ser comprados e baixados via Kindle , verifique no site.
O livro de David Wolber e de Jason Tyler encontrei à venda na livraria FNAC.
Bom, quando for desenvolver seu projeto, se surgirem dificuldades, então pedir ajuda aos
sites de busca...
Até o próximo,
Germinaro
domingo, 24 de março de 2013
Trabalhando com mais do que uma tela...
Digamos surja a necessidade de abrir uma outra tela , executar uma ação e voltar ã tela anterior.
Pois bem, tem solução.
Faça o seguinte :
1) No Screen Initialize da Screen1 , monte o bloco assim :
* ou seja , Screen1 abre com o START VALUE = true , então Open a Screen2.
Para voltar de Screen2 , insira no bloco VALUE = false:
Ficou mais fácil , adapte à sua necessidade.
Germinaro
Pois bem, tem solução.
Faça o seguinte :
1) No Screen Initialize da Screen1 , monte o bloco assim :
* ou seja , Screen1 abre com o START VALUE = true , então Open a Screen2.
Para voltar de Screen2 , insira no bloco VALUE = false:
Ficou mais fácil , adapte à sua necessidade.
Germinaro
quarta-feira, 20 de março de 2013
Usando Fusion Tables Parte 2
Curso UDEMY : Android App in 1 Hour
Olá,
vamosà 2a. parte de nossa conversa sobre Fusion Tables.
Bem, definida a tabela no Google Drive , iremos então fazer uma aplicação simples que irá
INSERIR dados e posteriormente buscar os dados inseridos .
OK.
Então, crie um projeto novo e dê um nome a ele, por exemplo, Contatos.
Crie na tela de DESIGN uma viewer semelhante a esta :
1 Label com a propriedade text setada para : INSERT Contatos
1 Screen Arrangement/TableArrangements com 3 Rows / 2 Columns
* coloque lá na coluna 1 ---> 1 Label com Text=Nome , 1 Label com Text=email, 1 Label com Text=Telefone
* depois na COluna 2 , 1 Textbox de NomeTBNome, 1 Textbox de Nome=TBemail, 1 Textbox com Nome= Telefone.
1 Buttons de Nome = BTCadastra e com Text=INSERE
A barrinha preta vc faz assim...1 Label com propriedade with=(FILL PARENT) setada e Height=3pixels , BACKGROUND COLOR = Black
Abaixo da barrinha coloque :
1 Label com Text = SELECT Contatos
1 TextBox de nome= nomecli
1 Button com Text = Buscar
1 Label de nome (arraste um Label) e depois rename para dadoscliente
2 FusionTables components * FusionTable está na Palette , em NOT READY FOR PRIME TIME.
OK, feito isto vamos para o BLOCKS EDITOR...
O código (a ser explicado abaixo) para quando clicar no BTCadastra é este :
Então , quando clicar no Button BTCadastra ,
1) Primeira coisa é setar o valor de SUA ApiKey (veja POST anterior como gerar sua APIKEY);
2) Depois montar a SQL(no bloco Set FusionTablesControl1.Query) , e fazer o INSERT(no caso, enviar a QUERY) na tabela (com o bloco Call FusionTablesControl1.SendQUery; .
* Observe que após o INSERT INTO , os caracteres são o ID (*) de sua tabela . O INSERT não será feito com o NOME de sua tabela usando o FusionTables.
*para ter o ID de sua tabela vá no Google Drive, clique na sua tabela,depois em File / ABOUT THIS TABLE e copie o Encrypted ID , veja abaixo um exemplo :
COm os blocos acima, vc faz a INSERÇÃO(*) dos dados Nome, email na sua tabela.
* os nomes dos campos tem que ser exatamente iguais aos que vc definiu quando da criação da tabela, inclusive observando maiúsculas e minúsculas), inseridos entre ASPAS SIMPLES.
Teste executando no emulador ou no Smartphone via Wifi.
Depois, verifique no Google Drive(abrindo sua tabela) se o insert foi executado.
Um detalhe, durante a execução, vai solicitar um LOGIN no Google, se vc definiu sua tabela como PRIVATE.
Para que outros possam ter acesso, vc terá que cadastrar o email de quem poderá acessar . Isto é feito no Google Drive , nas propriedades de SUA tabela.
Tudo certinho, vai funcionar e voce poderá incrementar sua QUERY como necessário. Vc poderá verificar que atualizou sua tabela no Google Drive (mantenha aberta a tabela no navegador enquanto executa a query para acompanhar se atualizou).
Importante : Em fase de testes , crie um campo label e capture o retorno da QUERY . Veja/adicione o bloco na imagem acima , WHEN FusiontablesCOntrol1.GotResult.
O erro mais comum é 400 Bad Request , neste caso a query mal-formada...
A sintaxe para montar sua SQL pode ser consultada neste link(*) (será desativado em ago/2017, veja abaixo) :
https://developers.google.com/fusiontables/docs/v1/sql-reference
A Google mudou para versão2 em 2017 , veja as infos em :
https://developers.google.com/fusiontables/docs/v2/using
A seguir, mais detalhes sobre o processo.
Até lá,
Germinaro
Olá,
vamosà 2a. parte de nossa conversa sobre Fusion Tables.
Bem, definida a tabela no Google Drive , iremos então fazer uma aplicação simples que irá
INSERIR dados e posteriormente buscar os dados inseridos .
OK.
Então, crie um projeto novo e dê um nome a ele, por exemplo, Contatos.
Crie na tela de DESIGN uma viewer semelhante a esta :
1 Label com a propriedade text setada para : INSERT Contatos
1 Screen Arrangement/TableArrangements com 3 Rows / 2 Columns
* coloque lá na coluna 1 ---> 1 Label com Text=Nome , 1 Label com Text=email, 1 Label com Text=Telefone
* depois na COluna 2 , 1 Textbox de NomeTBNome, 1 Textbox de Nome=TBemail, 1 Textbox com Nome= Telefone.
1 Buttons de Nome = BTCadastra e com Text=INSERE
A barrinha preta vc faz assim...1 Label com propriedade with=(FILL PARENT) setada e Height=3pixels , BACKGROUND COLOR = Black
Abaixo da barrinha coloque :
1 Label com Text = SELECT Contatos
1 TextBox de nome= nomecli
1 Button com Text = Buscar
1 Label de nome (arraste um Label) e depois rename para dadoscliente
2 FusionTables components * FusionTable está na Palette , em NOT READY FOR PRIME TIME.
OK, feito isto vamos para o BLOCKS EDITOR...
O código (a ser explicado abaixo) para quando clicar no BTCadastra é este :
1) Primeira coisa é setar o valor de SUA ApiKey (veja POST anterior como gerar sua APIKEY);
2) Depois montar a SQL(no bloco Set FusionTablesControl1.Query) , e fazer o INSERT(no caso, enviar a QUERY) na tabela (com o bloco Call FusionTablesControl1.SendQUery; .
* Observe que após o INSERT INTO , os caracteres são o ID (*) de sua tabela . O INSERT não será feito com o NOME de sua tabela usando o FusionTables.
*para ter o ID de sua tabela vá no Google Drive, clique na sua tabela,depois em File / ABOUT THIS TABLE e copie o Encrypted ID , veja abaixo um exemplo :
COm os blocos acima, vc faz a INSERÇÃO(*) dos dados Nome, email na sua tabela.
* os nomes dos campos tem que ser exatamente iguais aos que vc definiu quando da criação da tabela, inclusive observando maiúsculas e minúsculas), inseridos entre ASPAS SIMPLES.
Teste executando no emulador ou no Smartphone via Wifi.
Depois, verifique no Google Drive(abrindo sua tabela) se o insert foi executado.
Um detalhe, durante a execução, vai solicitar um LOGIN no Google, se vc definiu sua tabela como PRIVATE.
Para que outros possam ter acesso, vc terá que cadastrar o email de quem poderá acessar . Isto é feito no Google Drive , nas propriedades de SUA tabela.
Tudo certinho, vai funcionar e voce poderá incrementar sua QUERY como necessário. Vc poderá verificar que atualizou sua tabela no Google Drive (mantenha aberta a tabela no navegador enquanto executa a query para acompanhar se atualizou).
Importante : Em fase de testes , crie um campo label e capture o retorno da QUERY . Veja/adicione o bloco na imagem acima , WHEN FusiontablesCOntrol1.GotResult.
O erro mais comum é 400 Bad Request , neste caso a query mal-formada...
A sintaxe para montar sua SQL pode ser consultada neste link(*) (será desativado em ago/2017, veja abaixo) :
https://developers.google.com/fusiontables/docs/v1/sql-reference
A Google mudou para versão2 em 2017 , veja as infos em :
https://developers.google.com/fusiontables/docs/v2/using
A seguir, mais detalhes sobre o processo.
Até lá,
Germinaro
terça-feira, 19 de março de 2013
Usando Fusion Tables com AppInventor - PARTE 1
Olá,
Vamos falar de um recurso mais avançado do AppInventor.
Vamos falar a API da Google chamada Fusion Tables.
O que sã0? São tabelas criadas no Google Drive que voce pode acessar pela sua aplicação AppInventor.
Ou seja, seus dados ficam na "nuvem"para serem acessados, editados, deletados e atualizados pela aplicação usando comandos SQL.
É um pouco, digamos até bastante complicado, mas vamos lá.
O primeiro passo é ir na Google API Console :
Acessando lá , clique na aba à esquerda em SERVICES ,
Role até aparecer :
Coloque a Fusion Tables API em : ON
* notou que tem um limite diário de 25000 requests (GRATUITO)?
Agora voce tem gerar a sua "particular"API KEY que será usada na aplicação para acessar as tabelas que voce criar.
Clique na aba à esquerda em API Acess e proceda com a geração da API Key.
Todo request para a tabela que fores acessar vai necessitar desta API KEY, então, guarde ela em algum arquivo texto.
A API KEY é um texto criptografado no formato parecido com
Clique em Create Empty Table ...
Vai aparecer :
Uma nova tabela (New Table), vamos dar o nome de : Contacts (clique em FILE/RENAME )
OK...
Clique em EDIT e em ADD COLUMN.
Adicione as colunas : Nome, Email, Telefone (uma a cada vez...Nome e Email como texto e Telefone como number)...
Agora, vá em Tools / Select Columns e desmarque Text/Number/Location e Date ...
Temos nossa tabela básica que vamos operar pelo nosso programa :
No próximo post, o programinha com AppInventor para inserir dados nesta tabela...ok?
Guardou a API KEY? vamos precisar dela pois elaé a sua KEY para acessar/compartilhar estes recursos no Google Cloud....
Até lá,
Germinaro
Vamos falar de um recurso mais avançado do AppInventor.
Vamos falar a API da Google chamada Fusion Tables.
O que sã0? São tabelas criadas no Google Drive que voce pode acessar pela sua aplicação AppInventor.
Ou seja, seus dados ficam na "nuvem"para serem acessados, editados, deletados e atualizados pela aplicação usando comandos SQL.
É um pouco, digamos até bastante complicado, mas vamos lá.
O primeiro passo é ir na Google API Console :
Acessando lá , clique na aba à esquerda em SERVICES ,
Role até aparecer :
Coloque a Fusion Tables API em : ON
* notou que tem um limite diário de 25000 requests (GRATUITO)?
Agora voce tem gerar a sua "particular"API KEY que será usada na aplicação para acessar as tabelas que voce criar.
Clique na aba à esquerda em API Acess e proceda com a geração da API Key.
Todo request para a tabela que fores acessar vai necessitar desta API KEY, então, guarde ela em algum arquivo texto.
A API KEY é um texto criptografado no formato parecido com
AIzaSyAwTWyKnxxxxMju_1xxxxzu0A79SChf8 ... Ok?
Bem agora vamos adiante...clique no MENU bem acima e DRIVE, para acessar o Google Drive e criar uma tabela de teste...
Vais ver algo parecido com isto ao clicar em CREATE :
Clique agora em Fusion Table .. e vai aparecer :Clique em Create Empty Table ...
Vai aparecer :
Uma nova tabela (New Table), vamos dar o nome de : Contacts (clique em FILE/RENAME )
OK...
Clique em EDIT e em ADD COLUMN.
Adicione as colunas : Nome, Email, Telefone (uma a cada vez...Nome e Email como texto e Telefone como number)...
Agora, vá em Tools / Select Columns e desmarque Text/Number/Location e Date ...
Temos nossa tabela básica que vamos operar pelo nosso programa :
No próximo post, o programinha com AppInventor para inserir dados nesta tabela...ok?
Guardou a API KEY? vamos precisar dela pois elaé a sua KEY para acessar/compartilhar estes recursos no Google Cloud....
Até lá,
Germinaro
Componente TinyDB
Olá,
Neste POST vamos falar do componente TinyDB , disponível no AppInventor e que pode ser usado como ferramenta para armazenar dados PERSISTENTES , ou seja, que permanecem no smartphone até que seja feita uma nova instalação do aplicativo , ou se vc deletar (em Aplicações, remover Dados desta Aplicação).
E como funciona?
Bem, na janela de DESIGN , arraste solte o componente TinyDB .
Vc verá que logo abaixo da Tela aparecerá um Non-Visible COmponent , o TinyDB.
Non-Visible, porque ele pertence ã aplicação , mas não aparece na tela de seu smartphone.
Este componente pode então ser utilizado na tela BLOCKS EDITOR para armazenar dados , e posteriormente recuperá-los.
É uma solução simples de armazenamento, ou seja , bom para guardar valores fixos.
A recuperação não oferece muitos recursos de "pesquisa"tal com uma SQL.
Falando nisso, há um outro componente de que falaremos mais tarde, chamado Fusion Tables que aumenta bastante a capacidade de armazenar e oferece recursos de pesquisa, inserção, deleção e Update bastante poderosos, já que utiliza uma quasi-SQL.
Vamos lá, como utilizar o TinyDB.
Uma vez que existe o componente , veremos no Blocks Editor (ã esquerda) o componente.
Clique nele e veremos os Blocos Associados ...
Assim :
O bloco Call TyniDB1.StoreValue vai armazenar no DB a tag (nome de sua variável text) e mais o valor a ser armazenado nela (valueToStore).
O bloco Call TinyDB1.GetValue por sua vez, busca o valor armazenado naquela sua variável.
Vamos a um exemplo ?
Digamos que naquele nosso programinha simples queremos armazenar o valor do Textbox1 no DB.
Então , arraste e solte o bloco Call TinyDB1. StoreValue e conecte no bloco When Button1.Click.
Fica assim :
E agora, vamos buscar o valor armazenado em var1 e mostrar em Label1
Dá para ver que os blocos "se encaixam"?
O que fizemos?
Quando clicou no Button1, armazenamos o valor do Textbox1 na variável var1 do DB e logo a seguir buscamos o valor aramazenado na var1 (no DB ) e atribuimos ao Bloco Label1.Text uma CHAMADA ao TinyDB GetValue da variável var1.
Claro, bem simples, para entender ...
Então , StoreValue e GetValue... isso aí...
Até o próximo post,
Germinaro
Neste POST vamos falar do componente TinyDB , disponível no AppInventor e que pode ser usado como ferramenta para armazenar dados PERSISTENTES , ou seja, que permanecem no smartphone até que seja feita uma nova instalação do aplicativo , ou se vc deletar (em Aplicações, remover Dados desta Aplicação).
E como funciona?
Bem, na janela de DESIGN , arraste solte o componente TinyDB .
Vc verá que logo abaixo da Tela aparecerá um Non-Visible COmponent , o TinyDB.
Non-Visible, porque ele pertence ã aplicação , mas não aparece na tela de seu smartphone.
Este componente pode então ser utilizado na tela BLOCKS EDITOR para armazenar dados , e posteriormente recuperá-los.
É uma solução simples de armazenamento, ou seja , bom para guardar valores fixos.
A recuperação não oferece muitos recursos de "pesquisa"tal com uma SQL.
Falando nisso, há um outro componente de que falaremos mais tarde, chamado Fusion Tables que aumenta bastante a capacidade de armazenar e oferece recursos de pesquisa, inserção, deleção e Update bastante poderosos, já que utiliza uma quasi-SQL.
Vamos lá, como utilizar o TinyDB.
Uma vez que existe o componente , veremos no Blocks Editor (ã esquerda) o componente.
Clique nele e veremos os Blocos Associados ...
Assim :
O bloco Call TyniDB1.StoreValue vai armazenar no DB a tag (nome de sua variável text) e mais o valor a ser armazenado nela (valueToStore).
O bloco Call TinyDB1.GetValue por sua vez, busca o valor armazenado naquela sua variável.
Vamos a um exemplo ?
Digamos que naquele nosso programinha simples queremos armazenar o valor do Textbox1 no DB.
Então , arraste e solte o bloco Call TinyDB1. StoreValue e conecte no bloco When Button1.Click.
Fica assim :
E agora, vamos buscar o valor armazenado em var1 e mostrar em Label1
Dá para ver que os blocos "se encaixam"?
O que fizemos?
Quando clicou no Button1, armazenamos o valor do Textbox1 na variável var1 do DB e logo a seguir buscamos o valor aramazenado na var1 (no DB ) e atribuimos ao Bloco Label1.Text uma CHAMADA ao TinyDB GetValue da variável var1.
Claro, bem simples, para entender ...
Então , StoreValue e GetValue... isso aí...
Até o próximo post,
Germinaro
segunda-feira, 18 de março de 2013
Blocos
Embora no Blocks Editor voce tenha ã esquerda o Menu com as Built-Ins (pré-construídas) , tem um link rápido para acessar estas opções.
No Blocks Editor, clique em QUALQUER PARTE da tela. Irá aparecer :
Definitions - Blocos para definição de variáveis e procedures ;
Text - Blocos para trabalhar com textos;
Lists - Blocos para trabalhar com Listas ;
Math - Blocos matemáticos;
Logic - Blocos Lógicos ;
Control - Blocos para tratar IFs, ELSEs , WHENs , FOREACHs ;
Colors - Blocos com atribuição de cores.
Então, se vc precisa de um bloco de TEXT , clique em Text para selecionar :
Para saber o significado de cada , escolha e clique , irá aparecer o bloco e apontando no bloco o significado . Exemplo de maketext:
Os SEUS Blocos (gerados a partir de suas definições na tela de DESIGN) irão aparecer na aba MY BLOCKS , associados aos nomes criados .
Até o próximo,
Germinaro
No Blocks Editor, clique em QUALQUER PARTE da tela. Irá aparecer :
Definitions - Blocos para definição de variáveis e procedures ;
Text - Blocos para trabalhar com textos;
Lists - Blocos para trabalhar com Listas ;
Math - Blocos matemáticos;
Logic - Blocos Lógicos ;
Control - Blocos para tratar IFs, ELSEs , WHENs , FOREACHs ;
Colors - Blocos com atribuição de cores.
Então, se vc precisa de um bloco de TEXT , clique em Text para selecionar :
Para saber o significado de cada , escolha e clique , irá aparecer o bloco e apontando no bloco o significado . Exemplo de maketext:
Os SEUS Blocos (gerados a partir de suas definições na tela de DESIGN) irão aparecer na aba MY BLOCKS , associados aos nomes criados .
Até o próximo,
Germinaro
Modos de rodar a Aplicação
Olá, vamos a mais um Post sobre o AppInventor.
Como comentei no post anterior , vamos ver como testar a aplicação no smartphone, ao invés de no simulador.
Vá até o Google Play Store de seu smartphone com Android e procure por MIT AICompanion.
Clique para instalar...
Uma vez instalado, voce vai precisar conectar o smarphone na sua WiFi e o computador que estiver desenvolvendo o seu aplicativo também.
Em seu smartphone clique no ícone do MIT Companion.
Vai aparecer bem acima ..Your IP Address is : 192.168.0.2 (por exemplo)
OK, está conectado.
Agora, vamos ao computador...
Na tela de Android Blocks Editor (o Editor de Blocos, não o editor da tela-design) , clique bem acima ã direita em - CONNECT TO DEVICE - e escolha - WIFI -
Vai aparecer um código (sempre aleatório) que vc vai digitar no smartphone (tb pode escanear o QR Code).
Assim:
Se conectou, vc já está vendo a aplicação ativa no smartphone (após a mensagem Listening for AppInventor ...).
Lembre : a aplicação não está instalada, sómente rodando via wifi.
Qualquer alteração que vc fizer na lógica, na tela , nas propriedades, são refletidas NA HORA ...
Para INSTALAR no smartphone, faça assim :
1) Na outra tela, a tela de DESIGN, veja bem acima ã direita - PAckage for Phone -
2) Clique em - Download to the Connected Phone , ou seja, instala no smartphone conectado via wifi...
Vc pode tb salvar em seu computador (Download for this computer) e enviar via email para instalar depois.
Um esclarecimento ... o pacote INSTALÁVEL sempre tem a extensão .APK ... então seu projeto vai gerar um arquivo , por exemplo , meuprograma.apk
Então, temos 3 opções :
1) rodar via simulador;
2) rodar via Wifi ;
3) Instalar o pacote no smartphone .
Isso aí, até o próximo post.
Germinaro
Como comentei no post anterior , vamos ver como testar a aplicação no smartphone, ao invés de no simulador.
Vá até o Google Play Store de seu smartphone com Android e procure por MIT AICompanion.
Clique para instalar...
Uma vez instalado, voce vai precisar conectar o smarphone na sua WiFi e o computador que estiver desenvolvendo o seu aplicativo também.
Em seu smartphone clique no ícone do MIT Companion.
Vai aparecer bem acima ..Your IP Address is : 192.168.0.2 (por exemplo)
OK, está conectado.
Agora, vamos ao computador...
Na tela de Android Blocks Editor (o Editor de Blocos, não o editor da tela-design) , clique bem acima ã direita em - CONNECT TO DEVICE - e escolha - WIFI -
Vai aparecer um código (sempre aleatório) que vc vai digitar no smartphone (tb pode escanear o QR Code).
Assim:
Se conectou, vc já está vendo a aplicação ativa no smartphone (após a mensagem Listening for AppInventor ...).
Lembre : a aplicação não está instalada, sómente rodando via wifi.
Qualquer alteração que vc fizer na lógica, na tela , nas propriedades, são refletidas NA HORA ...
Para INSTALAR no smartphone, faça assim :
1) Na outra tela, a tela de DESIGN, veja bem acima ã direita - PAckage for Phone -
2) Clique em - Download to the Connected Phone , ou seja, instala no smartphone conectado via wifi...
Vc pode tb salvar em seu computador (Download for this computer) e enviar via email para instalar depois.
Um esclarecimento ... o pacote INSTALÁVEL sempre tem a extensão .APK ... então seu projeto vai gerar um arquivo , por exemplo , meuprograma.apk
Então, temos 3 opções :
1) rodar via simulador;
2) rodar via Wifi ;
3) Instalar o pacote no smartphone .
Isso aí, até o próximo post.
Germinaro
Post Inicial Blog appinventordeveloper
Este é o Post Inicial deste Blog que batizei de appinventodeveloper .
A idéia é postar por aqui informações , idéias, dicas sobre o framework de desenvolvimento de aplicações para celulares com sistema operacional Android disponibilizada gratuitamente pelo MIT e que torna a curva de aprendizado (intuitivo) de programação para smartphones e tablets com Android bem mais rápida.
Para começar, vá para a página do PROJETO em :
http://beta.appinventor.mit.edu
* atenção -> o PRÉ-REQUISITO para que desenvolvas e TER uma CONTA GOOGLE (um email no gmail).
Lá tem muita coisa para ler e aprender(Learn), mas ã medida que os projetos se tornam mais complexos, então vais precisar pesquisar na Internet (p. ex : YouTube ) ou mesmo adquirir livros sobre o assunto.
O programador precisa, claro , conhecer conceitos simples de programação com IF, WHEN, DO, CALL, o que é um Button, um TextBox, um Label, o que é SEND, RECEIVE , enfim, o significado destes mnemônicos (em inglês) e muitos outros mais.
Bem, a programação é visual , com Blocos pré-construídos.
Veja abaixo um exemplo bem simples :
Bem simples, ou seja, quando CLICAR no Botão de nome - mostradados (mostradados.click) , então DO (ou , faça) :
1) atribuir ao Label2.Text o valor que está no TinyDB(db local) da TAG- hora1 , depois aos labels Label3, Label8 e Label9.
ENtão vá para a página inicial, entre com seu email do Google e vai abrir no navegador a IDE inicial.
Clique em My Projects e depois em NEW (Dê um nome a seu programa).
Clique no nome do programa e vai abrir uma tela com :
1) Uma Palette com objetos que vc vai escolher dependendo do que seu programa vai fazer (Button, Checkbox, Image, Textbox, Label etc.) .
- Por exemplo , puxe e solte na tela que estás vendo um TEXTBOX , depois um Button, e depois um Label .
2) Ã direita, em COmponents, vão aparecer os nomes , TextBox1, Button1 e Label1 , se clicar neles vai ver BEM Ã DIREITA as propriedades (Properties) de cada um (que vc poderá mudar, p ex ajuste, tamanho , cor, etc). Troque as propriedades , ex : clique em Button1 e nas propriedades clique em Text e mude para OK ;
3) Agora o PULO DO GATO...Olhe acima , ã direita e vais ver (OPEN BLOCKS EDITOR) , isto vai precisar de que vc tenha JAVA instalado em seu computador. Vai abrir o editor de blocos,, que é onde vc vai colocar a LÓGICA do programa.
Clique lá , vai abrir outra página...pode demorar um pouco ... então vc vai trabalhar com 2 páginas...
4) Vc vai ver na nova página que abriu isso :
Clique em Button1 e vais ver os blocos :
PUXE o Bloco - when Button1.CLick para direita (na área de desenvolvimento).
OK?
Então : WHEN (quando) Button1.Click(clicar no Button1) , DO (Faça :)
Mas, faça O QUÊ..Bem , aí é com você, mas para nosso exemplo,
Clique ã esquerda em Label1 , role para baixo até encontrar :
e PUXE para direita SET Label1.Text to , arrastando AtÉ ENCAIXAR no bloco que já está lá (do Button1) ... Encaixou? ...se não encaixar, está incorreto...isto evita muitos erros.
Fica assim :
e mais uma coisinha só , estamos quase lá....
Entã0, quando clicar no Button1 , vai setar Label1.Text para ?
Claro, vc vai digitar qq coisa no Textbox e ele vai aparecer em Label1.
Vamos lá,
Clique ã esquerda em Textbox1 , e arraste o objeto Textbox1.text até ENCAIXAR .
Nosso programa FINAL fica assim :
AH ! Mas precisamos TESTAR para ver se funciona.
Claro, claro..tem o SIMULADOR...mas tarde , no outro post vou falar sobre TESTAR no seu smartphone AO VIVO.
Mas, por enquanto, vamos lá ...
Na janela de desenvolvimentodo programa , clique em NEW EMULATOR.
Vai abrir o emulador de um celular como abaixo. Aguarde, demora um pouco.
Após abrir, proceda como se estivesse operando o celular (desbloqueie puxando o cadeado).
Bem , vai aparecer assim:
Agora, vamos rodar a NOSSA aplicação ...
clique em Connect To Device e depois em emulator-5554 ,
Aguarde e a aplicação já vai rodar ..
Estás vendo na tela do emulador ?
Digite alguma coisa no TextBox...
A mesma coisa vai aparecer no Label (abaixo).
Simples, não é ? Mas pode complicar..e bastante..não se assuste...
Básico do Básico do Básico...mas deu pra ter uma idéia ?
Vamos lá...explore um pouco ... até o próximo POST...
Até lá ,
Germinaro
A idéia é postar por aqui informações , idéias, dicas sobre o framework de desenvolvimento de aplicações para celulares com sistema operacional Android disponibilizada gratuitamente pelo MIT e que torna a curva de aprendizado (intuitivo) de programação para smartphones e tablets com Android bem mais rápida.
Para começar, vá para a página do PROJETO em :
http://beta.appinventor.mit.edu
* atenção -> o PRÉ-REQUISITO para que desenvolvas e TER uma CONTA GOOGLE (um email no gmail).
Lá tem muita coisa para ler e aprender(Learn), mas ã medida que os projetos se tornam mais complexos, então vais precisar pesquisar na Internet (p. ex : YouTube ) ou mesmo adquirir livros sobre o assunto.
O programador precisa, claro , conhecer conceitos simples de programação com IF, WHEN, DO, CALL, o que é um Button, um TextBox, um Label, o que é SEND, RECEIVE , enfim, o significado destes mnemônicos (em inglês) e muitos outros mais.
Bem, a programação é visual , com Blocos pré-construídos.
Veja abaixo um exemplo bem simples :
Bem simples, ou seja, quando CLICAR no Botão de nome - mostradados (mostradados.click) , então DO (ou , faça) :
1) atribuir ao Label2.Text o valor que está no TinyDB(db local) da TAG- hora1 , depois aos labels Label3, Label8 e Label9.
ENtão vá para a página inicial, entre com seu email do Google e vai abrir no navegador a IDE inicial.
Clique em My Projects e depois em NEW (Dê um nome a seu programa).
Clique no nome do programa e vai abrir uma tela com :
1) Uma Palette com objetos que vc vai escolher dependendo do que seu programa vai fazer (Button, Checkbox, Image, Textbox, Label etc.) .
- Por exemplo , puxe e solte na tela que estás vendo um TEXTBOX , depois um Button, e depois um Label .
2) Ã direita, em COmponents, vão aparecer os nomes , TextBox1, Button1 e Label1 , se clicar neles vai ver BEM Ã DIREITA as propriedades (Properties) de cada um (que vc poderá mudar, p ex ajuste, tamanho , cor, etc). Troque as propriedades , ex : clique em Button1 e nas propriedades clique em Text e mude para OK ;
3) Agora o PULO DO GATO...Olhe acima , ã direita e vais ver (OPEN BLOCKS EDITOR) , isto vai precisar de que vc tenha JAVA instalado em seu computador. Vai abrir o editor de blocos,, que é onde vc vai colocar a LÓGICA do programa.
Clique lá , vai abrir outra página...pode demorar um pouco ... então vc vai trabalhar com 2 páginas...
4) Vc vai ver na nova página que abriu isso :
Clique em Button1 e vais ver os blocos :
PUXE o Bloco - when Button1.CLick para direita (na área de desenvolvimento).
OK?
Então : WHEN (quando) Button1.Click(clicar no Button1) , DO (Faça :)
Mas, faça O QUÊ..Bem , aí é com você, mas para nosso exemplo,
Clique ã esquerda em Label1 , role para baixo até encontrar :
e PUXE para direita SET Label1.Text to , arrastando AtÉ ENCAIXAR no bloco que já está lá (do Button1) ... Encaixou? ...se não encaixar, está incorreto...isto evita muitos erros.
Fica assim :
e mais uma coisinha só , estamos quase lá....
Entã0, quando clicar no Button1 , vai setar Label1.Text para ?
Claro, vc vai digitar qq coisa no Textbox e ele vai aparecer em Label1.
Vamos lá,
Clique ã esquerda em Textbox1 , e arraste o objeto Textbox1.text até ENCAIXAR .
Nosso programa FINAL fica assim :
AH ! Mas precisamos TESTAR para ver se funciona.
Claro, claro..tem o SIMULADOR...mas tarde , no outro post vou falar sobre TESTAR no seu smartphone AO VIVO.
Mas, por enquanto, vamos lá ...
Na janela de desenvolvimentodo programa , clique em NEW EMULATOR.
Vai abrir o emulador de um celular como abaixo. Aguarde, demora um pouco.
Após abrir, proceda como se estivesse operando o celular (desbloqueie puxando o cadeado).
Bem , vai aparecer assim:
Agora, vamos rodar a NOSSA aplicação ...
clique em Connect To Device e depois em emulator-5554 ,
Aguarde e a aplicação já vai rodar ..
Estás vendo na tela do emulador ?
Digite alguma coisa no TextBox...
A mesma coisa vai aparecer no Label (abaixo).
Simples, não é ? Mas pode complicar..e bastante..não se assuste...
Básico do Básico do Básico...mas deu pra ter uma idéia ?
Vamos lá...explore um pouco ... até o próximo POST...
Até lá ,
Germinaro
Assinar:
Postagens (Atom)