terça-feira, 19 de março de 2013

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





68 comentários:

  1. Meu Caro, seu post me ajudou mais uma vez!!
    muito obrigado!

    mas tenho uma dúvida!
    é possível buscar e alterar um dado gravado com tinydb??

    abraço!

    ResponderExcluir
    Respostas
    1. Caro Evandro :

      Na forma básica voce grava o dado identificado por uma TAG...
      Ou seja, se voce gravar a mesma TAG , altera o conteúdo...
      E para BUSCAR, voce usa a função GET ...
      O tinyDB tem 2 funões, STORE e GET...ou seja, armazena e busca... sempre usando a TAG como identificador de seus dados..

      Dá uma conferida se o post USANDO UMA KEY PARA ARMAZENAR EM TINYDB não esclarece sua dúvida... Lá dou um exemplo de como armazenar os dados indexados SOB uma CHAVE...

      Abraço,

      Excluir
    2. Olá Germinaro, conferi seu post, me ajudará em outra aplicação.

      O que estou desenvolvendo agora tem como base http://www.appinventor.org/notetaker
      que armazena e deleta por DB mostrando os arquivos em forma de display.

      no tutorial deste site, no emulador rodou o deletar beleza, mas no celular não rodou não!

      e o que complementaria seria buscar um arquivo e poder alterá-lo.
      abraço!

      Excluir
  2. Caro Evandro :

    Vou dar uma olhada na aplicação do site que vc indicou ... Me envie por email (germinaro@gmail.com ) , se quiseres ... mais detalhes da lógica de sua aplicação e onde estás com problema ... ok? abraço...

    ResponderExcluir
  3. Amigo, bom dia. Estou desenvolvendo um programinha de comanda, e busquei muita informação por aqui, e desde já agradeço demais. Minha pergunta é o seguinte: No mundo real quando o pessoal desocupar a mesa quero um botão que limpe as informações que coloquei naquela mesa. Tem como me passar algum Script para limpar o que foi armazenado dentro das variáveis?
    Muito obrigado pelas informações que copiei sua, e muitos sucessos.

    ResponderExcluir
    Respostas
    1. O tinyDb tem a ação (bloco) clearAll que vai apagar todo conteúdo gravado naquele DB, tem também a ação clearTab que vai gravar somente as entradas gravadas na Tab específica.

      Excluir
  4. Boa tarde, gostaria de saber como se faz um banco de dados de SOM! Os gravando e reproduzindo! E que pudesse ser fechado e aberto sem perda de DADOS!!

    Ótimo tutorial!

    ResponderExcluir
    Respostas
    1. Olá Matheus,

      O que vc pode fazer eh armazenar no Banco de Dados uma lista com o nome das músicas(p. ex) e o diretório onde estão armazenadas no phone ...
      Para tocar leia sobre o componente SOUND em http://beta.appinventor.mit.edu/learn/reference/components/media.html#Sound
      Pra começar desenvolva um exemplo com UMA música, depois com DUAS e assim vai... OK?

      Abraço,

      Germinaro
      OK?

      Excluir
  5. Olá Germinaro, gostaria de adicionar uma tela de Login e Senha antes de iniciar meu app, Como iniciar solicitando primeiro a criação "gravação" do Usuário e Senha depois quando iniciar novamente solicitar o Usuário e Senha para assim verificar e abrir o APP.

    ResponderExcluir
    Respostas
    1. Olá Emerson,

      O idela é vc desenvolver uma aplicação onde a Screen1 seja esta tela INICIAL.
      No código DESTA tela então vc adiciona o componente ON SCREEN INITIALIZE e testa se já existe LOGIN E SENHA no DB , então faz CALL na próxima SCREEN(p.ex: SCREEN2), e se não existe então solicita o CADASTRO de login e senha para acesso.

      Agora, se vc já tem a aplicacao desenvolvida e se já existe uma SCREEN1 , vc terá que testar nesta SCREEN1 se login já foi executado e se não então CHAMAR uma outra SCREEN e fazer login e depois RETORNAR Ã SCREEN inicial.

      OK?

      Abraço,

      Germinaro

      Excluir
    2. Infelizmente o AppInventor não permite RENOMEAR a Screen1 ... Para adicionar outra Screen , clique em ADD SCREEN no menu onde consta SVE, SAVE AS , etc...

      Excluir
  6. Olá Germinaro, gostaria saber se é possivel você me informar como eu poderia fazer um app que acesse a função do APN no android, na verdade eu gostaria de criar um botão que ao clicar ele trocaria de APN simultaneamente, exemplo se eu tiver dois ou mais APNs, se você puder me ajudar escrevendo passo a passo eu agradeceria muito.

    ResponderExcluir
    Respostas
    1. Olá Renato ,

      Com o AppInventor (mesmo na versão2) não tem blocos prontos para executar esta função.
      Uma maneira de fazer isto, mas que exige uma chamada de Activity Starter , seria compilar um programa para Android e depois no AppInventor chamar este programa (informando Package, Activity Name e EXTRAS/URIs) via o bloco Activity Starter...
      Se vc tiver o código para o Android ou mesmo se já tiver um programa pronto para fazer isto, precisa então SABER o package name e a Activity a ser chamada ... Entao usar o bloco ActivityStarter informando estes dados...

      abraço,

      Excluir
    2. Veja código Android/Java para executar algo semelhante em :
      http://stackoverflow.com/questions/8575717/android-handling-changing-apn-connection

      Excluir
  7. Germinaro Boa noite, estou tentando criar uma tela de login e senha para um app, a aplicação de login e senha ja fiz, porem estou com dificuldade no momento em que cadastro a senha ele manda para tela de entrar no aplicativo até ai tudo bem, o problema é que toda vez que abro o aplicativo aparece a tela de cadastrar a senha e usuario, como eu faço para que seja cadastrado apenas uma vez e depois não apareça mais a tela de cadastrar, obrigada

    ResponderExcluir
    Respostas
    1. Olá, Daisy !
      Vc pode fazer assim: após o cadastro, grave uma FLAG no db indicando que CadastroOK...
      Depois arraste do componente Screen1 , o método OnScreen1Initialize e verifique se a FLAG está ligada...se ligada, então faça um Open Screen2 , que seria então a tela seguinte do aplicativo...não precisando mais fazer o cadastro... ok?

      bom trabalho,

      Germinaro

      Excluir
  8. Olá Germinaro!
    Desculpe a minha ignorancia, mas não entendi "Gravar uma FLAG" não sei qual componente é esse.
    Obrigada.

    ResponderExcluir
    Respostas
    1. Ola Daisy ,
      No caso nao se trata de um componente. Me refiro a criar uma váriavel qualquer e GRAVAR no db.. Toda vez que entrar no aplicativo, recupera a variável e TESTA !!! Se valor da variável =1, por exemplo, o cadastro já existe...

      Beleza ?

      Excluir
  9. Boa Noite Germinaro!
    olha eu de novo aqui, tentei esses dias atras fazer o que vc mandou, mas axo que não to conseguindo raciocinar direito, olha a minha screen1 está como cadastro; a screen2 esta como login e senha para entrar no screen 3, o cadastro da senha ta funcionando certinho, porem o que persiste no meu problema é este screen1 que não desaparece depois que cadastro um usuario e senha, queria que vc me ajudasse neste problema, se puder detalhar melhor pq sou leiga neste assunto estou pegando informações na net.
    Obrigada.

    ResponderExcluir
    Respostas
    1. Oi Daisy !
      Recomendaria que vc fizesse uma Screen4 (igual ã Screen1 que vc tem agora... entao, ao ENTRAR na Screen1 vc faria um OPen para a Screen2(o login) e se o usuario nao tem cadastro , entao abre a Screen4...o problema eh que a Screen1 nao tem jeito de renomear(acho que eh um BUG que eles teriam que consertar)...mas já estao na versao2 do AppInventor...entao se for REFAZER a App o melhor eh comecar no AI2...

      OK?

      Bom trabalho !

      Excluir
  10. Olá Germinaro, eu estou desenvolvendo um app mas ainda tenho algumas duvidas a respeito do armazenamento. por exemplo, no meu aplicativo, o usuário entra com o nome, idade e sexo na "screen1", e na "screen2" eu quero fazer uns cálculos que iram depender da idade e do sexo do usuário, portanto eu queria armazenar os dados da "screen1" e recuperar esses dados na "screen2", é possível fazer isso? e também gostaria saber se tem como salvar os dados calculados em relação ao nome de usuário, para toda vez que o usuário digite seu nome ele consegui recuperar os cálculos e se for um usuário novo, que ele possa fazer um novo calculo em relação a esse novo usuário.
    obrigado.

    ResponderExcluir
    Respostas
    1. Olá Maildo,

      É possível sim !
      Na Screen1 adicione um componente TinyDB e de um nome de sua preferencia. Grave as informacoes que quiseres neste DB.
      Na Screen2 adicione tb um componente TinyDB e de o MESMO nome do DB da Screen1 ... Na logica da Screen2 entao adicione um metodo por exemplo RECUPERADADOS (uma procedure e depois faca o call dela) e leia os dados gravados tanto da screen1 como da screen2.
      Para RECUPERAR digamos com uma KEY, veja o exemplo que tenho em meus post USANDO UMA KEY PARA ARMAZENAR EM TINYDB ...
      Nao recomendaria que a KEY fosse o nome do usuario...o melhor eh um : código do usuario ...

      Espero ter ajudado, Bom trabalho !

      Excluir
    2. Olá Germinaro, eu entendi oq é pra fazer, mas não consegui fazer direito, você poderia me explicar como se usa essa "procedure".
      obrigado.

      Excluir
    3. Olá Maildo !
      A procedure vc cria assim : Em Blocks/Built-In vc puxa o bloco - to procedure do - ... renomeia o PROCEDURE como o nome que vc quiser, ex, RECUPERADOS , insere o que faz esta procedure(por exemplo ler o DB... Depois , toda vez que precisar executar a mesma coisa vc puxa um bloco (que vai ser criado) CALL RECUPERADOS... ou seja, se vc tem procedimentos repetitivos , cria uma procedure e sempre que precisar dá o CALL nela...isto eviat reptição de código...ok?

      Excluir
    4. Olá Germinaro, eu consegui usar essa procedure pra diminuir os códigos aqui, mas não entendo uma coisa, eu consegui salvar a senha em relação ao usuário no cadastro, mas não consegui salvar o sexo e a idade no cadastro, sendo que fiz no mesmo raciocínio da senha, mas a idade e o sexo não salvam, pq quando vou recuperar a idade e o sexo na outra screen, aparece aquele erro de quando vai buscar no DB e não tem nada, mas já desisti de botar isso pra salvar no cadastro, agora os meus usuário irão ter quer preencher esses dados na própria screen onde eu quero utilizar esses dados, vai ser mais fácil assim. kkk
      Obrigado pela ajuda, vc me ajudou bastante, agora é só esperar mais 1 mês e meu app já deve estar funcionando de boa :)

      Excluir
  11. Olá Germinaro, estou desenvolvendo um app de fotos, e gostaria de mais umas dicas, neste app pretendo utilizar a camera e tirar fotos e gravar elas no tinyDB e poder visualiza-las depois, como faço? obrigada

    ResponderExcluir
    Respostas
    1. Olá Daisy !

      Acabei de publicar um post sobre o assunto ...

      Confira lá se atende ....

      Abracao

      Germinaro

      Excluir
  12. Olá Daisy cestas !

    TEnho um app bem parecido chamado Onde estacionei Meu Carro... Envie seu email que lhe mando o .zip para dares uma olhada...
    Escreva para : germinaro@gmail.com

    OK?

    abraco,

    ResponderExcluir
  13. Germinaro parabéns pelo trabalho !! Tenho uma dúvida , existe a possibilidade de carregar os dados tinyDB ? ou seria webtinyDB ? Seria para realizar atualizações do sistema

    ResponderExcluir
    Respostas
    1. Olá Allan !

      O TinyDb eh uma forma de armazenar dados persistentes no próprio smartphone, mas tem uma limitacao de 1000 entries...
      Já o webtinyDb eh recomendado apenas para testes com armazenamento na nuvem(cloud) provida pelo próprio MIT e bem limitado. Veja em (http://appinvtinywebdb.appspot.com/)

      Ainda nao há um componente para explorar o SQLite (que vem na maioria dos smartphones).Seria uma ótima.
      Uma solucao seria fazer uma chamada web para um site proprio onde executasse a SQL...

      Mas, para a maioria dos casos e poucas entries, o tinyDb funciona bem...

      ok?

      abraco

      Germinaro

      Excluir
  14. Boa noite...
    Tudo bem Germinaro?
    Me chamo José Carlos
    Muito bom as aulas... muito bom mesmo...
    Gostaria de saber um coisa...
    To desenvolvimento um aplicativo e uma das telas eu uso o tinyDB para salvar, ai sai da tela pressionando o botão do tablet, quando volta denovo na tela para ver os dados, nao esta mais lá o que eu salvei, como posso salvar as dados q coloco no aplicativo permanente sem perder eles quando eu sair, mudo de tela ou acesso os dados do aplicativo.

    ResponderExcluir
    Respostas
    1. Se vc SALVA os dados no TinyDB , então utilize o método OnScreenInitialize (clique em Screen1 e arraste o bloco WHEN Screen1 Initialize) para recuperá-los(usando Get clicando em TinyDB e arraste o bloco Call TinyDB1 GetValue recuperando as variáveis salvas e atribuindo aos campos que voce definiu) ... OnSCreenInitialize , método é usado para quando ABRIR alguma tela ... então executa alguma ação...

      OK?

      abraço

      Germinaro

      Excluir
    2. Então Germinaro, eu estou fazendo um aplicativo de manutenção de máquinas, no aplicativo tem a ficha e os tipos de manutenção. Sera q consigo gravar vários dados nesse aplicativo sem perde-los quando eu mudar de tela ou sair do aplicativo...

      Excluir
    3. e o aplicativo q estou fazendo não utiliza a internet... e o pior de tudo q nao sei muito de programação, mas estou me virando um pouco...

      Excluir
  15. Bom Dia Germinaro,
    Gostaria de saber se consigo salvar a conexão bluetooth com o tinyDB, pois quando sair do app não precisar fica conectando toda hora.

    ResponderExcluir
    Respostas
    1. Caro Guilherme,

      Confira se isto ajuda em seu projeto:
      http://www.whatakuai.com/bluetooth-and-app-inventor/

      Excluir
  16. Este comentário foi removido pelo autor.

    ResponderExcluir
  17. Todos Seus Post Minha Ajuda, Mais Tenho Duvidas em Minha Aplicação Em Calculadora, Queria Salvar Um Valor que é Mostrado em Uma Label, Para Toda Vez que Eu Abri a Screen ele Mostra, e Quando eu Subtrair de Novo Na Calculadora Esse Numero Mude, Para que eu possa Salvar Por Cima desse que Foi Salvo Anterior! Tem Alguma Dica?

    ResponderExcluir
    Respostas
    1. Na Verdade eu Fiz um Teste, e Coloquei Pra Procura em Outra Scrren,e Funcionou, no Caso a Função Screen initialize não funciona duas vezes na msm scrren, por que ja tenho outra coisa que salva e procura na msm screen,e funciona perfeitamente so o da calculadora, queria saber se tem solução ou irei ter que fazer separado a calculadora em outra scrren

      Excluir
  18. Ola! Estou tentando criar um app para cadastrar algumas informações e depois poder salvar elas no cartao de memoria do celular. é possivel usando o app inventor a paleta arquivo?

    Atenciosamente,

    Abinadadio Marcelo

    ResponderExcluir
    Respostas
    1. MArcelo,

      Sim, é possível,
      Veja tutorial em
      http://ai2.appinventor.mit.edu/reference/components/storage.html#File

      abc,

      Excluir
  19. Pessoal sou novo grupo e no mundo do APP Inventor, criei varios aplicativos e instalei no meu celular e funcionaram perfeitamente, porém tem um deles que criei, emulei, e tudo funcionou normalmente, mas quando instalei o aplicativo no celular ele aparece instalado, porém ele não gera um (ícone ou atalho) no menu de aplicativos. Alguém já teve algum problema parecido? Alguém tem ideia de como posso resolver?

    ResponderExcluir
  20. Olá, estou criando um aplicativo de produção onde devo adicionar data e produção diurna, noturna e feriado, usando TinyDB porém não pode existir datas iguais como faço ? Desde já agradeço se alguém puder me ajudar.
    parabéns pelos posts tem me ajudado bastante.

    ResponderExcluir
  21. Boa noite!! Estou criando uma tela de login, onde o usuário que não tiver cadastro entra em uma nova tela e se cadastra, deixando o nome, o login, a senha e o email dele. Criei um botão esqueci minha senha na tela inicial, e é ai que vem minha dúvida. Tenho a ideia de que ao tocar o botão se abra uma nova tela solicitando o login do usuário que esqueceu a senha, com esse login seria feita a busca na base de dados e um email fosse disparado com a senha desse determinado usuário para o email cadastrado pelo mesmo. Gostaria de saber se é possível realizar essa tarefa no AppInventor. Desde já grato. Obrigado pelo turorial, muito bom.

    ResponderExcluir
    Respostas
    1. Ola Leandro...VC terá que fazer uma chamada a um site externo para executar esta tarefa de recuperação de senha...veja o componente Web...abraço...

      Excluir
    2. Ola Leandro...VC terá que fazer uma chamada a um site externo para executar esta tarefa de recuperação de senha...veja o componente Web...abraço...

      Excluir
  22. Boa Tarde... tenho uma pagina web onde quero pegar uma variavel e apresenta-la em um textbox ou textlabel do appinventor... estou tentando apartir da tinywebdb... mas não funfa... alguma dica? pode me mostrar um exemplo do código html que está sendo recebido e como ficam os blocos no appinventor? muito grato!

    ResponderExcluir
  23. Este comentário foi removido pelo autor.

    ResponderExcluir
    Respostas
    1. Veja se o TinyDB nao resolve seu problema, ou consulte a pagina sobre o TinyWebDb em :

      http://appinventor.mit.edu/explore/content/custom-tinywebdb-service.html

      Excluir
  24. Boa noite, Germinaro!

    Gostaria de saber se é possível adicionar mais de 1 texto em uma TinyDB.

    Por Exemplo...

    Eu tenho a TextBox1 e 2, porém, eu quero que ele salve e apareça na Textbox3. O problema, é que eu quero que ele grave mais que um texto...
    É um app tipo de Bloco de notas.

    Grato pela atenção;
    - Raphael C. Rouvier.

    ResponderExcluir
  25. olá, gostaria de saber como faço para excluir os dados salvos no banco? gostaria da ajuda de vcs

    ResponderExcluir
  26. Gostaria de saber se é possível colocar fotos no tinyDB e como compartilhar meu tinyDB com outros usuários. Grato.

    ResponderExcluir
    Respostas
    1. Este comentário foi removido pelo autor.

      Excluir
    2. Leia mais sobre o FirebaseDB em :
      https://docs.google.com/document/d/17OGJF8VwbOYkXCual8I1JIBLCHhnCcgHj6N_Cfnlb4A/edit#heading=h.37rrxtruvui0

      Excluir
    3. olá amigo(a)... nao eh possivel compartilhar o TinyDB , eh um database local... Para armazenar fotos siga o exemplo publicado no Blog em :
      http://appinventordeveloper.blogspot.com.br/2014/03/exemplo-de-app-tirar-foto-gravar-no.html

      Para compartilhar eh necessário buscar uma solucao , po exe o FirebaseDB (na guia Experimental) ... no site do AI2 tem tutorial de como usar... bom trabalho
      Para compartilhar eh necessário buscar uma solucao , po exe o FirebaseDB (na guia Experimental) ... no site do AI2 tem tutorial de como usar... bom trabalho

      Excluir
  27. Olá...
    Germinaro estou precisando de uma ajuda urgente de verdade Fiz uma Aplicaçao com muitass Telas e quando Fico teclando no meu Apk instalado no meu Android ele dar um BUg!! isso ocorre de vez enquanto..O que será???

    ResponderExcluir
  28. Bom dia. Qual seria a melhor maneira de integrar dados de um app usando tinyDB com sistemas externos? Por exemplo, um app simples de pedidos (off-line) que depois preciso integrar com o ERP da loja, assim como enviar cadastros do ERP para o app. Usar aquele esquema de salvar e ler arquivos texto do app inventor? Existe aplicativo windows que acesse o tinyDB? TinyWebDB pode ser acessado com outro aplicativo?

    ResponderExcluir
    Respostas
    1. Olá,
      O tinyDB é armazenado internamente no smartphone.
      O que vc poderia fazer é a captura dos pedidos para o tinyDB(permite até 1000 entries) e depois ler esete db e fazer uma chamada externa para integracao ao seu ERP atraves dos componentes WEB do AppInventor.
      Nao conheco aplicativo do Windows para acesso ao TinyDB .

      abraco

      Excluir
  29. Boa noite! Primeiramente parabéns pelo artigo. estou com uma situação diferente e gostaria de ima dica, estou criando um aplicativo e usando o banco de dados mysql para armazenar os dados de login do usuário, gostaria de enviar para outra tela(home) o nome do usuário para criar telas personalizadas para cada usuário, mas não sei como jogar esses dados para outra tela e também queria saber qual o melhor método de criar uma forma de "recuperar senha". Atenciosamente Kethellen.

    ResponderExcluir
    Respostas
    1. Olá Kethellen,

      Veja resposta ao questionamento de MaildoLP nos comentários deste POST.
      Bom trabalho !

      Excluir
  30. Eae cara
    Estou tentando fazer um aplicativo onde tem uma tela onde o usuário digita o login e senha, e em baixo o botão entrar (abre a segunda tela) e botão cadastrar, no cadastrar abre uma tela onde ele poe o nome, escolhe um login e senha, e abaixo o botao cadastrar para gravar os dados.
    Como posso fazer para conseguir fazer isso ? eu digo ele pegar os valores colocados nos campos do cadastro, e quanto o usuário clicar em entrar ele verificar os dados e entrar na segunda tela (se estiver os dados certos) ou se tiver incorreto, dar um erro (notificação, que isso sei fazer)
    Aguardo o retorno

    Att,

    ResponderExcluir
  31. Boa noite
    Fiz uma app que armazena dados numa tinydb. O meu problema é que gostaria de remover da tiny uma list completa. Quando mais tarde faço um novo registo se o nome da tag for igual verifico que o conteudo da list está la todo. Só dá para limpar uma tag simples? OBRIGSDO

    ResponderExcluir
  32. OI! Meu Nome é Abinadadio, gostaria de saber se tem como eu salvar no celular um arquivo com nome Dados.txt com as informações a seguir com o delimitador " ; ".
    10031;1;4,5;12/04/18

    abinadadio.demelo@gmail.com
    no aguardo e desde ja agradeço

    ResponderExcluir
  33. Boa noite,

    Estou tentando iniciar meu filho na lógica de programação, estamos tentando desenvolver uma aplicação simples com apenas 3 telas. Na primeira tela é deverá ver as aulas que terá naquele dia (Se for sábado ou domingo uma label vai dizer que ele não tem aula hoje), na Screen1 tem um botão que que leva a screen2 onde ele começa a cadastrar seu horário escolar escolhendo o dia da semana, são 5 botões, um para cada dia útil da semana, todos os 5 botões levam a screen3, onde há algumas checkbox que ele marca e desmarca para escolher a matéria que tem aula naquele dia. A informação de qual dia da semana ele clicou na screen2 é levada para screen3 usando a propriedade StartValue. Na screen3 o startValue é passado para uma váriável e utilizado para TAB para o TinyDB. Gerando assim 5 TAB, uma para cada dia semana, cada uma contendo as aulas escolhidas. O problema é que quando estou na screen1 não consigo ler o valor gravado no DB lá no screen3. Poderia ajudar? OBS: coloquei um TinyDB em cada uma tela é nomeei-as com o mesmo nome.

    ResponderExcluir
  34. Boa noite Germiniano, eu criei um app atravez do appInventor. nesse app tem botoes que ao clicar libera os audios, ai coloquei para que se o usuario pressionasse o botao dos audios, esse audio poderia ser compartilhado. ate ai tudo acontecendo perfeitamente nos testes. ai baixei e instalei o app no meu celular, eu conseguia ouvir os audios mas na hora de compartilha-los eu nao conseguia, ai notei que poderia ser algo relaconado as permissoes do app. pesquisei muito e descobri que realmente se tratava disso. ai usei o android.permission.READ_EXTERNAL_STORAGE e no meu celular funcionou a tecla para compartilhar. mas quando fui instalar nos aparelhos da minha mae e da minha irma, para testar. apareceu um erro "Error 2001: The File could not be found on your device"... e eu ainda nao sei nada em programação. estou tentando inciar agora, mas ainda nao sei resolver esse problema. conseguiria me ajudar?

    ResponderExcluir
  35. é possivel eu inserir algumas palavras no tinybd e depois ir buscalas utilizando o reconhecedor de voz?

    ResponderExcluir
  36. Gostaria de saber quantos MB consigo armazenar no tinydb e qual o peso de uma foto

    ResponderExcluir