Como fazer um aplicativo que tira foto com Thunkable

 Neste tutorial vamos utilizar o elemento câmera do thunkable, para criar um aplicativo que tira fotos e as armazena em uma pasta especifica pré determinada.
 Apesar de existir uma câmera nativa no celular que faz a mesma, porem nossa aplicação tem fins didáticos, alem de nos permitir criar inúmeras outras aplicações que se utiliza do elemento câmera a partir desta.



  Se você não conhece a plataforma thunkable então acesse esse Link com tutoriais para iniciantes .

  Já com o thunkable aberto vamos adicionar os elementos gráficos, primeiro o Canvas, que pode ser encontrado em Drawing & Animation   é nesse elemento que nossa imagem sera projetada, na sequencia dois Buttons que ficaram na arte inferior do Canvas, pra finalizar nossa parte gráfica, adicione o elemento câmera, que esta em media e  um Notifier, que esta em interface, ambos são elementos ocultos e não apareceram na Screen. Veja a imagem abaixo.









             Agora renomeie os botões, o primeiro vai se chamar "Fotografar" e o segundo "Nova foto".






  

   Agora vamos nomear o endereço dos Buttons, para encontrá-lo facilmente dentro de Blocks. O primeiro vai se chamar "BtFoto" e o segundo "BtNovafoto".


                           

    Pronto a parte gráfica  está pronta, vamos abrir o Blocks para começar a programar nossa aplicação.



 Já com o Bocks aberto vamos adicionar o primeiro bloco, que será o de inicialização dos botões.

 Apenas o botão "fotografar" vai aparecer na inicialização, o "botão nova foto"  só vai ficar visível apos a primeira foto ter sida tirada.




Nosso segundo bloco será para iniciar a câmera para fotografar, repare que a dois botões, mas apenas um de cada ficara visível.

Nosso terceiro bloco, sera a inicialização de uma variável, precisaremos dela para salvar  fotos com nomes diferentes, evitando que ela seja salva por cima de outra.
 Para usaremos uma variável e vamos iniciar la com N°1.





Começando pela ordem do bloco temos, a exibição do botão "Nova Foto", e a ocultação do botão "Foto", temos também o Canvas que recebe a imagem da câmera e a coloca de fundo, para que em seguida ela seja salva na pasta fotos. Chegamos agora no bloco de decisão "if then" esse bloco foi criado par incrementar um numero ao enderenço da foto, por exemplo; a primeira foto recebe como nome o numero "1" a segunda foto recebe o numero "2" e por assim vai. Temos também um Tiny_DB que salva o numero de identificação da foto, mesmo encerrando a aplicação as fotos continuaram sendo salvas com numero crescente.  Dando sequencia neste bloco, encontramos o Canvas seguido de Save As , direcionando para pasta /fotos/ , e recebendo um nome da variável global Fotos que esta salva dentro de Tiny_DB Pra finalizar temos um Notifier que vai exibir a mensagem dizendo que a foto foi salva na pasta determinada.








 Isso é tudo galera, nossa aplicação esta pronto, e podemos dizer que, o "pulo do gato" foi a incrementação que a torna possível salvar diversas fotos, sendo nomeadas com números crescentes, e mesmo que a aplicação se encerre o incrementador permanece com o ultimo numero salvo graças ao Tinny-DB que grava as informações permanentemente, já que, se não tivéssemos criado o bloco if then, a mesma seria sempre salva por cima da outra. 

  Como  podemos verificar no celular seu funcionamento.

quando iniciamos a aplicação, apenas o botão fotografar aparece na tela, o botão nova foto permanece oculto.




 Se clicarmos nele, vai aparecer a câmera.



 Apos a captura da foto, dois elementos surgem na tela, primeiro é o notifier exibindo a mensagem, "informando que a foto foi salva", o segundo elemento é o botão que passa a se chamar "nova foto"







  Para localizarmos a foto, vamos a pasta fotos que normalmente fica localizado na memoria interna do telefone, ou pode ser visualizado diretamente em galeria.



 Qualquer duvida deixem nos comentários, grande abraço.









Um comentário:

  1. Boa tarde. Gostaria que você colocasse o bloco completo para desenvolver funções da Câmera. Sou Thiago e comecei a pouco tempo a Desenvolver nessa ferramenta, esses seus tutorias estão me ajudando muito.

    ResponderExcluir