tinydb
TRANSCRIPT
-
7/23/2019 TinyDB
1/11
TinyDB - uma soluo de dados persistenteExistem algumas alternativas diferentes para salvar informaes em App Inventor. O maisomum e! penso eu! mais f"il de usar # o TinyDB! e eu vou mostrar-l$e omo fa%&-lo.
TinyDB # uma soluo de arma%enamento de dados no # uma soluo de arma%enamentode ar'uivos. (o& pode us"-lo para salvar o texto! um amin$o para um ar'uivo! n)meros!listas! valores *ooleanos! et. Este tutorial ir" mostrar-l$e omo riar uma lista de ontatosusando TinyDB.
(amos omear omo sempre! om tela de design. A'ui est" a lista de omponentes e umaimagem de omo eu ten$o a on+gurao da interfae do usu"rio,
4 textboxes
2 buttons
1 checkbox
1 listpicker
1 imagepicker
1 image
4 vertical arrangements
1 horizontal arrangement
1 Notifier
1 TinyDB
-
7/23/2019 TinyDB
2/11
-
7/23/2019 TinyDB
3/11
Como voc po!e ver na imagem !o emula!or" as caixas !e texto s#o o nome !a pessoa" !ata !e nascimento"
n$mero !e telefone e en!ere%o !e e&mail' N(s !ar ao usu)rio a op%#o !e escolher se *uerem !efinir uma
imagem para a pessoa e se a pessoa + um parente' ,p(s o seu !esign + como voc gosta" mu!e para o e!itor
!e blocos'
A primeira oisa 'ue vamos fa%er # de+nir nossas vari"veis! on+gurao de nosso eventoreen.Initiali%e e esrever o nosso proedimento de reiniiali%ao.
/aver" apenas uma vari"vel neess"ria para este apliativo! e isso # 0A1E2IT! iniiali%adoomo uma lista va%ia. 0o aso de iniiali%ao! vamos di%er o app para de+nir a vari"vel parao tag TinyDB de mesmo nome! e de+na o valor 3se no $" tag3 para uma lista va%ia. Estasegunda entrada no m#todo TinyDB.4et(alue # novo na App Inventor 5. Ele remove aneessidade de a 6 outra delarao se 'ue era neess"rio no AI 7lassi! omo mostrado no
meu tutorial TinyDB anterior. O valor desta entrada varia de app para app, para este! elepreisa ser uma lista va%ia! uma ve% 'ue a vari"vel 'ue estamos de+nindo neessidades paraser uma lista8 em um proedimento de alta pontuao 'ue poderia ser de+nido omo umn)mero para indiar 'ue no $" nen$uma pontuao salvo. Depois de se ter veri+ado o
TinyDB para uma lista de nomes! vamos de+nir os elementos 2ist9i:er para a vari"vel glo*alpara 'ue os nomes estaro dispon;veis para ver ada ve% 'ue o apliativo # exeutado.
,gora *ue a parte !e inicializa%#o estiver conclu-!a" vamos escrever o proce!imento !e reinicializa%#o' .le
precisa !efinir to!as as caixas !e texto em branco" limpar *ual*uer imagem *ue po!e ser vis-vel" e
!esmar*ue a caixa !e sele%#o valor' .ste proce!imento ser) utiliza!o !epois !e salvar algu+m no banco !e
!a!os" e se pressionar o bot#o !e reset' , chama!a !e proce!imento + tu!o o *ue + necess)rio para o bot#o
!e reset" portanto" melhor para tirar isso !o caminho agora" e em segui!a" !efina o evento ,fter/icking !oimagepicker0 ele !eve !efinir a imagem para a sele%#o !o seleciona!or'
-
7/23/2019 TinyDB
4/11
As peas f"eis so feitas8 agora para o tra*al$o pesado. (amos enfrentar o *oto salvarseguinte. 0
-
7/23/2019 TinyDB
5/11
tag para o nosso m#todo TinyDB.4et(alue para de+nir o resto dos omponentes para seusvalores apropriados. 0o se es'uea de 'ue esses valores de ;ndie so espe;+os, a posio'ue vo& salvar o n)mero de telefone para neessidades a serem espei+ados a'ui8 ou se=a!se o n)mero de telefone # a primeira oisa na lista para a pessoa 'ue seria no ;ndie .
E # isso Test"-lo. ?uando vo& salvar um nome para o *ano de dados # 'ue permitem 'uevo& salv"-lo novamente ?uando vo& esol$e um nome da 2ist9i:er! fa%er tudoorretamente preen$er as aixas de texto om os valores de+nidos originalmente
(o& pode *aixar o sando TinyCe*DB - uma soluo de dados persistente *aseado na e*/" algumas pessoas perguntando nos f
-
7/23/2019 TinyDB
6/11
(o& pode ver omo eu arran=ei o apliativo na imagem @ es'uerda! *em omo os nomesatri*u;dos aos elementos. >ma ve% 'ue vo& ten$a o*tido-lo a instalao omo vo& dese=a-lo! a*ra o editor de *loos e vamos $egar a ela.
/" relativamente pouos *loos para este apliativo! e no um monte de omplexidade. Aprimeira oisa 'ue preisamos fa%er # de+nir uma vari"vel glo*al! listOTags! omo uma lista
va%ia.
>ma ve% feito isso! vamos on+gurar o evento li'ue de *oto. 9reisamos de um mutante seo *loo para ter uma ondio mais. 0
-
7/23/2019 TinyDB
7/11
doumento! txtDo0ame.text. Eu uso o *loo guarnio da gaveta texto para garantir 'ue no$" nen$um espaos @ direita o usu"rio es'ueeu de remover! mas isso no # neess"rio. e onome inserido est" na lista! 'ueremos alertar o usu"rio e t&-los esol$er outra oisa para$am"-lo! por isso preisamos do 0oti+er.$o1essageDialog preen$ida om um alerta dealgum tipo. 0
-
7/23/2019 TinyDB
8/11
foi fe$ado. Eles se essas duas veri+aes so falsas Ha mara no # listar e o valor no #uma lista! em seguida! so! pelo proesso de eliminao! igual @ seleo do 2ist9i:er e textoassoiado! por isso! de+nir o txtDoument.Text igual para o valor e n/urai!a'!b no seu cart#o ;D' Caso o ar*uivo n#o est) l)" um :ar*uivo n#o encontra!o:
erro ser) exibi!a'
;creenshots
Declara%Aes *ue n#o retornam linhas" o fornecimento :feito:" como resulta!o caso isso pu!esse ser
-
7/23/2019 TinyDB
9/11
executa!o com sucesso ver imagem 1' 7 resulta!o !a instru%#o ;.=.CT ser) forneci!o como tabela C;"
*ue po!e ser converti!o facilmente em uma lista !e listas ver imagem 2' No caso !e ocorrer um erro" este
ser) !evolvi!o para o ,pp @nventor como .8878 ver imagem '
-
7/23/2019 TinyDB
10/11
App Inventor blocks
App Inventor Classic
App Inventor
/lease see here for the ;
-
7/23/2019 TinyDB
11/11
restries
(;rgulas em olunas no so permitidos! por'ue as v;rgulas so usadas omodelimitadores de ampo nas seleione resultados da onsulta. Apenas demonstraes individuais so permitidos Hdenuniado por ponto e v;rgula. 0o $" transaes so poss;veis.