tinydb

Upload: nelma-regina-dos-santos-teixeira

Post on 12-Feb-2018

218 views

Category:

Documents


0 download

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.