Тёмный

MIT App Inventor: Aula 4 - Variáveis e Múltiplas Telas 

André Monteiro
Подписаться 2,7 тыс.
Просмотров 27 тыс.
50% 1

Neste videoaula abordamos o uso de variáveis e a construção de Apps com múltiplas telas. Para este fim, um App de Quiz é mostrado como exemplo.

Опубликовано:

 

18 мар 2018

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 90   
@gabssouza9798
@gabssouza9798 3 года назад
Muito boa aula, bem didático. Obrigado!
@joaofranciscofrankgil8774
@joaofranciscofrankgil8774 3 года назад
PARABENS!!! Ótimas explicações!! vc é o cara
@kalanzans
@kalanzans 3 года назад
Sensacional! Grato! Uma dica: uma forma de otimizar a performance e ter de fato uma variável PÚBLICA ou GLOBAL é evitar o uso de SCREENS (telas) e trabalhar apenas com LAYOUTS CONTAINER (fazendo a vez das telas) e usar a propriedade VISIBLE: TRUE/FALSE.
3 года назад
Uso muito pouco o Layout Containers, mas eh um bom assunto para um a vídeo aula. Obrigado!
@kalanzans
@kalanzans 3 года назад
@ disponha! Seu sucesso, meu sucesso!
@inchame
@inchame 6 лет назад
Parabéns pela aula!!!
@pablo.andrade
@pablo.andrade 6 лет назад
Tirou minha Dúvida Excelente !!!
@nettohb
@nettohb 4 года назад
Muito bom. Parabéns. Ótima explicação. Estava batendo cabeça aqui por causa da denominação global.
4 года назад
Humberto, essa denominação de "global" no App Inventor eh uma bela pegadinha hahaha. Quem está acostumado com linguagens de programação vai achar que essa variável "global" vai ser acessível em todas as telas...só que nao! Hahaha
@ronaldonogueirasilva1342
@ronaldonogueirasilva1342 Год назад
Obrigado. Grato de mais professor. Conseguir resolver o meu problema.
Год назад
Valeu Ronaldo! Obrigado pelo feedback
@plantandoavida6259
@plantandoavida6259 3 года назад
Legal!!!
@_fleming
@_fleming 3 года назад
vsfd santana vai assisti hentai
@plantandoavida6259
@plantandoavida6259 3 года назад
Amigão vc está bem?
3 года назад
Obrigado!
@plantandoavida6259
@plantandoavida6259 3 года назад
@ meu professor usou o seu vídeo pra dar aula muito bom!!
3 года назад
@@plantandoavida6259 Legal, fiquem a vontade pra usar o material na expansão do conhecimento de vcs. A ideia do canal eh essa mesmo!
@andrecristianodacunha56
@andrecristianodacunha56 5 лет назад
Obrigado! seu vídeo me ajudou muito
5 лет назад
Obrigado pelo feedback!
@adleyHabbo
@adleyHabbo 3 года назад
Obrigado por me explicar, acho que vc poderia ter economizado tempo usando a mochila para guardar os códigos. Belo vídeo continue!
3 года назад
Obrigado Adley. De fato a mochila eh bastante útil pra produtividade, ajuda a economizar bastante tempo. Mas eu gosto de repetir as ações, pq as vezes a pessoa ficou com dúvida e pode ver de novo sob um novo ângulo como tudo foi feito. Abs
@gabssouza9798
@gabssouza9798 3 года назад
Entretanto, se acertar 3 perguntas e errar 1, você consegue 20 pontos e não 30 pontos. Pois além de não pontuar você perde 10 pontos.
3 года назад
Isso mesmo! Bem observado!
@blogdoclaudio
@blogdoclaudio 4 года назад
Boa noite professor André. Primeiramente, gostaria de agradecer por disponibilizar sem tempo para compartilhar seu conhecimento com outras pessoas, e mais ainda de forma gratuita, PARABÉNS!!! Se puder me ajudar, estou com uma dúvida ao criar um pequeno aplicativo utilizando o AppInventor 2. Tenho uma variável que é uma matriz em uma tela, e em outra tela só consigo obter todos os valores do vetor, e não valores individualmente (para preencher as respectivas caixas de texto separadas) A ideia principal consegui executar, criando uma caixa de texto e obtendo todos os valores do vetor dentro dela, mas como fazer para obter somente índices específicos do vetor para colocá-los em caixas de texto separadas? Um grade abraço, e antecipadamente meu MUITO OBRIGADO, e mais uma vez PARABÉNS por compartilhar tempo, conhecimento e conteúdo!!!
4 года назад
Cláudio, obrigado pelo feedback. Para vc trabalhar com índices de um vetor utilize as listas, pois elas são preparadas para esse tipo de manipulação. Nas videoaulas sobre banco de dados eu mostro a manipulação de listas, talvez te ajude, da uma olhada. Abs
@blogdoclaudio
@blogdoclaudio 4 года назад
@ Vou verificar, muito obrigado e um grande abraço professor!!!
@andersonkichileski9072
@andersonkichileski9072 2 года назад
Muito bom
2 года назад
Valeu Anderson, obrigado!
@joaocarlos198
@joaocarlos198 2 года назад
Ola poderia informar como no visualizadorlisa aparecer os campos em uma linha so nome,cep,celular eles aparecem em 3 linhas agradeço
@fernabit
@fernabit 5 лет назад
André, estou gostando bastante dos seus vídeos. Estão bem didáticos. Fiquei com uma dúvida: se a variável "Pontos" é global, porquê preciso iniciar uma nova variável a cada tela (pontos2, pontos3...)? Eu não poderia simplesmente ir atualizando o valor da variável "Pontos"?
5 лет назад
Fernando, essa é uma das grandes pegadinhas do MIT, principalmente para quem está acostumado a programar, e sabe que uma variável global pode ser acessada de qq lugar no programa. Mas no MIT o conceito de global é apenas para a tela que vc está montando os blocos, essa variável não pode ser acessada em outras telas, mesmo se vc criar uma global com o mesmo nome na outra tela. Para acessar valores em todas as telas vc deve usar um banco de dados. Tem videoaulas aqui sobre o TinyDB, da uma olhada e se ficar com alguma dúvida é só falar.
@andrevinicius5251
@andrevinicius5251 Год назад
Obrigado por suas aulas, como eu poderia fazer uma biblioteca de PDF no appinventor usando o Google drive
Год назад
Tem que verificar na API do Drive como mandar arquivos (função post) e como consultar (função get). Nunca mexi com a API deles, então não consigo te passar uma visão mais detalhada
@felipecapella8981
@felipecapella8981 4 года назад
boa noite, gostei bastante da aula. Mas testando novamente, vi que há possibilidade de selecionar todas as respostas ao mesmo tempo, com isso é possível ver qual é a resposta correta antes de avançar, por exemplo. Além dos valores ficarem somando ou diminuindo, conforme marco e desmarco as caixas. Como faço para isso não acontecer? Uma vez seleciona uma opção as outras não serem possíveis de serem marcadas.
4 года назад
Felipe, há um bloco onde vc consegue desabilitar ou até esconder as demais opcoes, colocando os valores "Verdadeiro" ou "Falso" nessas opções de desabilitar ou esconder. Para tal ação, vc precisa configurar em cada opção de resposta que se aquela opção for selecionada vc desabilia as demais com esses blocos que mencionei. Por exemplo, supondo que haja 4 respostas, se a resposta 1 for marcada, vc desabilita a marcação das opções 2, 3 e 4. Se a resposta 2 for marcada vc desabilita a marcação das respostas 1, 3 e 4, e assim em diante. Com isso, qdo o usuário marcar a 1a opção de resposta, as demais serão desabilitadas e a única opção do usuário será avançar pra próxima tela. Outra forma de fazer isso eh avançar automaticamente para a próxima tela qdo uma opção de resposta for marcada. Assim o usuário também não conseguirá marcar mais de 1 resposta. Abs
@felipecapella8981
@felipecapella8981 4 года назад
@ Obg
@danieldesouzaborges473
@danieldesouzaborges473 2 года назад
O vídeo é top mas por favor melhora a qualidade desse áudio brother
2 года назад
Obrigado pelo feedback Daniel!
@rafaelcostadasilva1728
@rafaelcostadasilva1728 3 года назад
e se fosse para fazer inúmeras perguntas randomicamente?
3 года назад
Rafael, não muda muita coisa. Vc só precisaria adicionar um banco de perguntas com suas respectivas respostas certas, introduzindo um banco de dados na solução. Com isso, bastaria fazer um sorteio da pergunta, o que pode ser feito por meio do bloco de aleatoriedade do App Inventor. Dominando a parte sobre banco de dados, essa abordagem não teria maiores complicações.
@SophiaMinegirlOficial
@SophiaMinegirlOficial 5 лет назад
Gostei bastante dessa aula já me deu uma ideia pra calcular os pontos pro Ranking porém como posso passar esses pontos automaticamente sem que o usuário click em algum botão , tipo queria que se ele passa-se por 3 telas 3 pontos que na aba ranking aparece ele em 1°
5 лет назад
Vc pode passar essa pontuação pra próxima tela passando um valor de tela em tela como fiz na videoaula, ou armazenar os pontos no banco de dados. Para mostrar ao usuário a pontuação sem ele clicar em nada, basta pr encher uma legenda com a pontuação dele ass M que a tela for inicializada. Na aba dos blocos, se vc selecionar o componente da tela há um bloco para realizar ações quando a tela for inicializada, é só colocar o preenchimento da legenda dentro desse bloco.
@arededasegurancaeletronica1740
@arededasegurancaeletronica1740 2 года назад
Cara como que eu faco para criar um app onde eu possa tirar Fotos en varias tela's e no final powder enviar todas as Fotos e informacoes anterior por email ??
2 года назад
Vc teria que inserir o elemento camera no seu app, e gravar as fotos salvas em algum local de armazenamento do seu celular, para vc poder envia-las posteriormente por e-mail.
@washingtonoliveira3523
@washingtonoliveira3523 4 года назад
gostei andre , sou iniciante ainda poderia me ajudar como faço para usar a variável maior ou igual?
4 года назад
Washington, vc está falando do bloco de comparação maior ou igual? Em qual cenário vc está tentando usá-lo?
@flavioroldaolelis5944
@flavioroldaolelis5944 3 года назад
Excelente iniciativa. Como faz para inserir uma imagem em uma das telas de trabalho?
3 года назад
Obrigado Flávio. Para inserir uma imagem vc precisa subir a imagem para o projeto, na tela de design há essa opção. Após subir a imagem, nas propriedades da tela vc tem a opção de colocar uma imagem de fundo. Eh soh selecionar essa imagem que vc fez o upload. Abs
@flavioroldao5018
@flavioroldao5018 3 года назад
@ Ótimo!! Consegui fazer aqui, obrigado.
@robotrobot4595
@robotrobot4595 3 года назад
uai moço.se quer passar mais de um valor para a outra tela, é só criar uma lista, coloca os valores lá dentro e quando quiser passar esses valores para a outra tela passe a lista.
3 года назад
Muito bem observado!
@amandafarias3706
@amandafarias3706 4 года назад
André, gostei do vídeo. Porém, vi que posso selecionar mais de uma caixa de resposta. Como faço para que a seleção seja única e não possa alterar mais?
4 года назад
Amanda, não há como travar a seleção de uma outra caixa de seleção se vc já tiver selecionado a 1a. O que vc pode fazer é disparar um evento de mudança de tela assim que a 1a Caixa for selecionada. Essa nova tela pode ser idêntica à tela anterior, com todo o conteúdo igual mas sem as caixas de seleção. Assim, o efeito será o que vc deseja, uma única Caixa selecionada sem possibilidade de selecionar as demais. Espero que isso ajude.
@igrejaassembleiadedeusmini557
@igrejaassembleiadedeusmini557 4 года назад
Boa noite André estou trabalhando num projeto de uma urna eletrônica e não estou conseguindo programar a parte de contabiliza os votos . Teria algum projeto pra me ajudar nesta parte ?
4 года назад
Olá! Não tenho nenhum projeto desenvolvido com essas características que vc indicou. Se a apuração for algo bem simples, vc consegue fazer com os conceitos desta videoaula 4, pois será um esquema parecido com o quiz que eu uso de exemplo na videoaula. Se o processo de apuração dos votos for mais complexo, vc pode utilizar as funcionalidades de banco de dados que estão nas videoaulas 5 a 8. Abs
@FernandoBS.
@FernandoBS. 5 лет назад
Ótimo vídeo, e se eu quiser que a tela do aplicativo esteja sempre ativa, nunca entrar na tela de bloqueio?
5 лет назад
Fernando, a princípio isso é configurável no seu sistema operacional (Android, iOS, etc.) e não no App. Indo nos ajustes do sistema vc consegue configurar o tempo de bloqueio da tela, mas isso irá valer para todos os Apps instalados no celular.
@FernandoBS.
@FernandoBS. 5 лет назад
@ ok, achei que fosse possível fazer via app inventor, mesmo assim obrigado.
@edyedy1481
@edyedy1481 5 лет назад
Legal o vídeo, estou com uma planilha sendo preenchida pelo usuário em uma tela e já criei um TinyDb1 para esses dados, eu gostaria de fazer uma soma destes valores desta tela e já ir preenchendo uma segunda tela, sem ele acessar a segunda tela, na qual eu armazenaria esta soma em um TinyDb2, seria possível, fazer essa soma ir para a segunda tela e preencher uma tabela lá, sem ele acessar em um primeiro momento essa segunda tela? Se ele acessasse seria fácil, eu só chamaria no inicializar a Screen esse valor da TinyDb2, mas talvez ele não acesse a segunda tela em um primeiro momento...
5 лет назад
Edy, vc pode fazer isso sim. O que define a estrutura física do banco de dados é o atributo “namespace” que vc pode estar na aba de propriedades do TinyDB. Apesar de no fundo fisicamente todos os bancos de dados o MIT serem um só, com o namespace vc consegue separar logicamente os bancos. Assim, se vc nomear um primeiro TinyDB como TinyDB1 (por exemplo) no namespace, vc pode inserir um novo elemento TinyDB e botar o namespace de TinyDB2, ele vai ser considerado um novo banco. No seu caso, vc poderia salvar os resultados na tela 1 num TinyDB de namespace TinyDB2c e numa tela 2 vc apenas chamaria esse banco para apresentar os resultados. É isso. Abs
@gosmanshoot6703
@gosmanshoot6703 6 лет назад
Me desculpe mais uma vez por estar perguntando aqui, mas você saberia me explicar um problema? Por exemplo, o meu programa inicia normalmente, manda alguns comandos, porém, para de funcionar após um determinado tempo, todos os botões ficam sem resposta. Isso já aconteceu com você também?
6 лет назад
Lucas, já aconteceu sim, tanto com o emulador do MIT App Inventor quanto no app usando o Android. Como a ferramenta gera executaveis (.apk) Android automaticamente, não temos como verificar eventuais erros ou bugs no executável, e as vezes o mecanismo de construção automatica do executável pode introduzir algum erro ou situação inesperada no App. Fique atento se ocorre alguma mensagem de erro antes do app travar, pois aí vc tem como verificar o que aconteceu depois.
@flavioroldao5018
@flavioroldao5018 3 года назад
Olá André! Tens algum outro meio de contato? Abs.
@joanasilva-mw2de
@joanasilva-mw2de 3 года назад
ANDRÉ VC PODERIA ME AJUDAR ? ESTOU FAZENDO UM QUIZ COMO ESSE SEU MAS SEMPRE APARECE ESSE ERRO QUANDO SOMO O ESCORE ANTERIOR DA PESSOA + 10 PONTOS: JA NAO SEI MAIS O QUE FAZER! SEGUE O ERRO: The operation + cannot accept the arguments: , [""], [0] Obs: ,Você não verá erros anunciados nos próximos 5 segundos
3 года назад
Joana, esse erro indica que vc está somando zero um com valor vazio. Vc está passando o valor de uma tela para outra? Certifique-se que vc esteja manipulando corretamente esses valores por meio das variáveis em casa tela. Tente fazer uma abordagem semelhante a que fiz na Videoaula, que aí não tem erro.
@Overpowerxxi
@Overpowerxxi 4 года назад
Só queria ajuda pra chamar uma tela e fechar a atual alguém sabe como fazer?
4 года назад
João, não existe fechar a tela. Na verdade as telas vão sendo empilhadas de acordo com a sua navegação, ficando todas em background para que depois vc possa voltar a QQ uma delas. Vc não precisa fazer esse controle, o próprio Android faz isso por vc. Com isso, para chamar uma tela e deixar a atual em background basta usar o bloco de abrir nova tela, indicando i nome da tela que vc deseja abrir. Nesta Videoaula 4 eu faço isso, da uma olhada. Abs
@javazantech
@javazantech 6 лет назад
Excelente aula parabens Preciso de uma ajuda em um app que estou fazendo. Se puder me enviar o e-mail eu envio a dúvida por la
6 лет назад
Adriano, pode enviar sua dúvida para andre.monteiro@cefet-rj.br . Abs
@gosmanshoot6703
@gosmanshoot6703 6 лет назад
Posso fazer comparações caracteres como valores?
6 лет назад
Lucas, pode sim. Se os caracteres (blocos de Texto) for um número, a comparação com q outro valor numérico é valida. A ferramenta não considera "tipos"de variáveis, ela vai sempre olhar o conteúdo de cada variável na hora de fazer comparações. Espero ter ajudado.
@gosmanshoot6703
@gosmanshoot6703 6 лет назад
Muito obrigado!
@gosmanshoot6703
@gosmanshoot6703 6 лет назад
Mas como eu faria pra comparar valores? Por exemplo: if (variavel1 == 10) Then: ....
6 лет назад
Lucas, vc pode usar o bloco de Controle "Se-Então-Senão", e conectar no campo "Se" um bloco de Lógica que verifica igualdade, conectando nesse bloco de igualdade a sua "variavel1" e o valor "10". Se forem iguais, o resultado do "Se" é verdadeiro e vc deverá conectar blocos no "Então" para prosseguir com o que deseja. Se forem diferentes, o resultado do "Se" é falso e vc deverá conectar blocos no "Senão" para prosseguir com sua atividades. Espero ter ajudado.
@gosmanshoot6703
@gosmanshoot6703 6 лет назад
Muito obrigado!
@UrsoDeHort
@UrsoDeHort 3 года назад
Mestre como faço para copiar os itens da Screen1 para Screen2
3 года назад
Os elementos na tela de design vc não tem como copiar de uma tela para outra. Entretanto, os blocos de cada tela vc consegue fazer cópia para QQ outra tela. Para isso, basta inserir os blocos que vc deseja copiar na mochila (canto superior direito da área de blocos). Assim, depois vc consegue acessar a mochila a QQ momento e utilizar os blocos em QQ tela. Abs
@charleslyell3748
@charleslyell3748 Год назад
@ A versão atual (julho/2023) permite esta cópia com Control-C, Control-V. Na tela designer, Componentes, clique e selecione a tela e copie(Control-C). Vá na nova tela, selecione a nova tela da mesma forma e descarregue a cópia com Control-V.
Год назад
@@charleslyell3748 show! Isso era uma demanda antiga dos usuarios, que finalmente foi atendida pelo MIT App Inventor. Obrigado pela informação Charles!
@caiolisboa2523
@caiolisboa2523 6 лет назад
Preciso enviar 33 variaveis para uma segunda tela, como fazer para diferenciar elas?
6 лет назад
Caio, vc pode passar uma variavel do tipo lista (com 33 posições) para a outra tela, mas terá que definir previamente qual posição da lista corresponde a cada uma das suas 33 variáveis. Outra forma de fazer isso seria criando um banco de dados (TinyDB, por exemplo) e para cada variável associar um rótulo (nome da variável) e um valor. Assim, na tela 1 vc gravava no banco cada uma das suas 33 variáveis, e na tela 2 vc faria a leitura delas no banco. O uso do TinyDB está explicado nas videoaulas 5 a 8, dá uma olhada se desejar.
@caiolisboa2523
@caiolisboa2523 6 лет назад
André Monteiro ola, acabei fazendo algumas mudanças no app ate pondo o banco de dados para salvar quando se fecha o app, a duvida é: estou fazendo um app boletim onde o usuario pode colocar o nome a materia por conta propria numa listasuspensa, mas como identificar as materias depois? Pois quem poe as materias é o usuario, se puder entrar em contato posso explicar mais:031984490680
@caiolisboa2523
@caiolisboa2523 6 лет назад
André Monteiro gostei do canal ja me inscrevi vai ajudar bastante :)
6 лет назад
Entendi. A solução seria utilizar sempre o nome da matéria como Rótulo ("Biologia", "Língua Estrangeira", etc.). Assim, quando o usuário colocar o nome da matéria por contra própria, vc usa o bloco "Armazenar valor" vinculando esse nome como "Rótulo" e a nota (média, professor, etc... qq outra informação) como "Valor a ser armazenado" para efetuar a gravação dos dados no banco. Com isso, para fazer uma leitura no banco sobre determinada materia, vc usaria o bloco "Obter valor" devendo indicar como "Rótulo" o mesmo nome de matéria informado na etapa de gravação. Se por acaso o usuário não se lembrar do nome informado na etapa de gravação, vc pode mostrar na tela a lista de todos os "Rótulos" gravados no banco, usando o bloco "Obter Rótulos". As videoaulas 5 a 8 abordam exatamente esses tópicos, creio que vc encontrará nelas tudo que precisa para o caso que descreveu. De qq forma, vou fazer contato no Wpp com vc caso vc queira uma explicação mais detalhada.
@caiolisboa2523
@caiolisboa2523 6 лет назад
André Monteiro ok obrigado, ja estava dando uma olhada no video 7, vou tentar ver todos pra tirar algumas duvidas
@joaocarlos198
@joaocarlos198 Год назад
Olá amigo como salvo os arquivos csv para criar o APK
Год назад
Vc quer salvar um CSV dentro do App, eh isso?
@joaocarlos198
@joaocarlos198 Год назад
@ sim
@flavioroldaodecarvalholeli3050
@flavioroldaodecarvalholeli3050 3 года назад
Olá! Seguindo seu canal. Não consegui localizar aulas sobre Menu e Splash em sua Playlist. Tens algum outro meio de contato? Abs.
3 года назад
Flávio, ainda não fiz videoaulas sobre esses temas. Estão na lista para gravações futuras...Abs
Далее
MIT App Inventor: Aula 5 - Banco de Dados (TinyDB)
29:49
MIT App Inventor: Aula 1 - Meu primeiro App
17:32
Просмотров 12 тыс.
Programação me Blocos (Aula 02) - MIT App Inventor 2
11:53
Aula 01 - Introdução ao App Inventor.
9:43
Просмотров 53 тыс.
Fazendo o Primeiro Aplicativo - MIT App Inventor
14:33
Introdução à interface (Aula 01) - APP Inventor 2
18:09
MIT App Inventor: Aula 12 - GPS e Mapas
47:15
Просмотров 10 тыс.