Aplicativo para Android Studio Quiz usando banco de dados Firebase Realtime | Harsha | Skillshare

Velocidade de reprodução


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Aplicativo para Android Studio Quiz usando banco de dados Firebase Realtime

teacher avatar Harsha

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Introdução do curso

      1:23

    • 2.

      Como criar novo projeto

      1:00

    • 3.

      Como criar projeto Firebase

      5:00

    • 4.

      Como adicionar uma pergunta

      8:09

    • 5.

      Como exibir perguntas no aplicativo

      3:32

    • 6.

      Resposta de validação

      10:46

    • 7.

      Como instalar navegador DB para SQLite

      1:25

    • 8.

      Como criar dados

      4:50

    • 9.

      Como adicionar níveis

      11:16

    • 10.

      Próximo botão

      6:24

    • 11.

      Como calcular pontuação

      4:48

    • 12.

      Cronômetro

      5:24

    • 13.

      Cartão de pontuação final

      8:08

    • 14.

      Pontuação alta para cada nível

      7:22

    • 15.

      Perguntas em ordem aleatória

      2:09

    • 16.

      Título da barra de ação

      3:18

    • 17.

      Botão de saída

      3:45

    • 18.

      Conclusão

      0:05

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

120

Estudantes

--

Projeto

Sobre este curso

Neste curso, você será capaz de criar um aplicativo de questionário simples no Android Studio.

Os dados serão armazenados no banco de dados do Firebase Realtime

Você vai aprender como armazenar dados no Firebase Realtime Database e como acessar esses dados do aplicativo.

Você não vai fazer nenhuma IU complexa.

O aplicativo permanecerá o mais simples possível.

O banco de dados será criado usando o navegador DB para SQLite.

Conheça seu professor

Teacher Profile Image

Harsha

Professor
Level: All Levels

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Apresentação do curso: Olá. Esta aula é sobre como desenvolver um aplicativo de teste simples no Android Studio. Nesta aula, aprenderemos sobre como criar um novo projeto do Android Studio. Como criar um novo produto baseado em arquivo. Como adicionar dados ao banco de dados em tempo real do Firebase. Como recuperar dados do meu melhor banco de dados em tempo real. Como criar um banco de dados usando o navegador de banco de dados para SQLite. Como importar uma tabela para o Firebase realtime database. Como validar respostas dentro do questionário. Como este casaco de base e temporizador. Como exibir pontuações altas. Como alterar o texto dentro da barra de ação, como criar um botão Sair em um aplicativo Android. Você também aprenderá sobre como estruturar tabelas em um banco de dados dentro do navegador de banco de dados. E, em seguida, como exportar o banco de dados para o Firebase realtime database. Para este aplicativo criará um banco de dados com três tabelas. Cada tabela será interpretada como um nível, e cada nível terá dez perguntas. Manteremos este aplicativo o mais simples possível e não usaremos nenhuma maneira extravagante. No final desta classe, você poderá criar um aplicativo de teste simples no Android Studio, onde os dados serão armazenados no Firebase Realtime Database. Bem-vindo a bordo. Vamos começar esta aula agora. 2. Como criar um projeto: Tudo bem, vamos criar um novo projeto. Primeiro, clique duas vezes no Android Studio e deixe-nos esperar até que ele carregue um novo projeto. Vamos selecionar Vazio em 2D. Clique em Avançar. Aqui. Vamos nomear o aplicativo. Vamos dizer teste de fogo. Você pode selecionar SDK mínimo, dissuasão 21. Certo, sem acabamento de noz-pecã. Temos nosso projeto pronto. Você pode ver que não nos manifestamos aqui e temos a atividade vazia básica. Então, vamos deixá-lo aqui. E criaremos o lucro baseado em arquivos. 3. Como criar o projeto Firebase: Anteriormente, criamos este projeto. Então, agora vamos abrir um navegador. Vamos dizer borda. Aqui, digite Firebase console. Como o Firebase console. Selecione Firebase console. Então, vamos clicar em Criar um projeto. Precisamos nomear nosso projeto primeiro. Digamos que teste base. Este será o identificador. Precisamos fazer pecan. Eu aceito. Agora clique em continuar. Por enquanto, não venderemos essa análise. Criar projeto. Clique em Continuar. Agora, como vamos usar apenas o banco de dados do Realtime usará o plano básico em si, não atualizará nosso plano a partir de agora. Então, selecione um aplicativo para Android. Agora, precisamos registrar nossa integração de replicação Rstudio. Ajudamos a criar um novo aplicativo que precisamos acessar esse aplicativo aqui precisamos copiar o nome do pacote primeiro. Aqui você tem o nome do pacote. Precisamos copiar isso aqui. Precisamos dar um apelido. É opcional. Mesmo se você deixar isso vazio, nada aconteceu. Em seguida, precisamos dar como uma tabela para obter o SHA-1 aqui. Antes de fazer isso, vamos selecionar Configurações de arquivo. Aqui, configure experimental e aqui garante que a primeira opção não esteja selecionada. Queremos construir essa lista. Por padrão, isso será selecionado. Certifique-se de que ele esteja selecionado. Clique em OK. Agora atualize esse gradiente. Agora selecione Tarefas. Aparece dentro e relatório de assinatura de rádio. Clique duas vezes sobre isso. MD5, SHA-1, SHA-256. Então, agora copie etc, um básico aqui. Não, escolha a Honda está presa. Em seguida, precisamos baixar esse arquivo JSON. Baixe Jason. Vamos copiar isso. Selecione a visualização do projeto. Aqui dentro do aplicativo. Precisamos colá-lo aqui. Precisamos voltar para cinco A's. Clique em Avançar. Agora precisamos adicionar esses SDKs ao aplicativo Android. O ****, dados os SDKs que precisamos adicionar. Então, primeiro precisamos adicionar os serviços do Google. Então, clicaremos em Copiar. Isso precisamos fazer isso. Crédito de ponto irá para o Android. Scripts Gradle dentro do projeto. Então, vamos colá-lo. Agora precisamos abrir o módulo Gradle, construir o módulo Gradle. Então, aqui precisamos remover, aplicar o plugin e simplesmente reduzir o ID. Por fim, precisamos implementar esse pacote do Firebase. Aqui. Nós temos que eu não conhecia dependência. Então, basicamente, continue. Clique em Próximo medo. Dizendo que você está pronto para continuar com o criador do console. E configuramos o Firebase para nosso projeto. Agora vamos ver quais são as opções que temos que criar. Temos banco de dados de autenticação, banco de dados em tempo real, então usaremos somente banco de dados em tempo real. Vamos clicar em selecionar Criar novo banco de dados. Você pode escolher o local aqui. Três locais. Clique em Avançar. E regras de biossegurança. Digamos que inicie o testemunho, o vínculo aqui. Clique em ativar. Atualmente, o banco de dados está vazio. Vamos às regras, e aqui vamos fazer escrito. Não é necessário, só estará lendo isso, fará com que seja uma leitura. Em seguida, criaremos os dados. 4. Como adicionar uma pergunta: E agora veremos como criar dados. Como estamos usando o Realtime Database, precisamos copiar a dependência aqui. Usaremos o banco de dados do Firebase. Como estamos usando o Firebase, BOM acredita que não o tenha especificado. Vamos falar o número da versão aqui. Vamos clicar em ST. Agora. Agora em seguida, iremos para nosso banco de dados do Firebase. Ajudamos a criar um novo Realtime Database. Agora, na criança aqui, precisamos dar um nome para deixar o nome b1 escada valor. Então, novamente, vamos dizer pergunta. Vamos ver. Qual é a capital da Índia Relacionada? Para adicionar as opções também. Digamos que a opção um. A resposta aqui. Então, aqui podemos especificar a melhor opção 1234 ou podemos copiar diretamente o cofre respondido. Vamos copiar isso. Agora temos uma pergunta. Pergunta número um. Desculpe. Temos uma pergunta. O que é a capital de Indiana? Temos opções e temos a resposta. Não vamos criar os dados inteiros assim. Isso apenas para mostrar como podemos criar para acessar este aplicativo. Então, primeiro criaremos uma nova atividade. Clique com o botão direito aqui Selecione Nova atividade, selecione Atividade vazia. Nunca testará a atividade do questionário, o teste de atividades. Então clique em Concluir. Você tem arquivo XML aqui. Antes. Basta especificar um pequeno botão aqui. Em vez disso, o domínio do ator com o botão imagem da Moody's aqui. Em vez de hello world. Digamos que comece com o aumento um pouco. Digamos 150. altura usará 50. Também mudará o exercício. Digamos que temos um botão. Sempre que clicarmos neste botão, patrimônio do questionário deve estar aberto. Vamos para a atividade principal, criamos um botão de objeto padrão. Neste vídeo, daremos um botão ID, btn. Então agora precisamos criar uma cerca para esse fundo. Definido, o ponto inicial não profissional começa definido no PFAS. Agora, quantitativo. O conteúdo é igual a nova intenção. A atividade principal pontilha isso. Precisamos abrir o questionário após a aula. Inicie a atividade. Precisamos fazer intenção. Alcançará apertar esse saque. Então, usaremos LinearLayout. Linearlayout fará a orientação para a vertical. A orientação exibirá a equação. Vamos usar o texto para corresponder ao par e a altura será o conteúdo do envoltório e o tamanho do PTX. Excise, digamos 20. Cor do texto. Definiremos algumas cores diferentes que não o preto usará. Usamos a cor azul também fornecerá uma pergunta de ID ID. Também definiremos a margem. Margem, digamos. Da mesma forma, criaremos quatro opções. Aqui você tem pergunta, ótima opção um, opção dois, opção três, opções para recriar outra para corresponder à margem pai. Usaremos dois anos extras. Precisamos de metade da largura. Então, usaremos um layout. Alguns aqui. Vamos dizer um. largura será 0. Conteúdo. O peso do layout será 0,5. Excise. Exercício, digamos 14 cores. Usaremos preta opção preta. Copie o mesmo novamente. A primavera seria a opção copiará este LinearLayout. Atributos, objetos para perguntas e respostas. Agora, criamos uma compra para todas essas fotos. Iguais acham humanidade. Pergunta. 5. Exibindo a pergunta no aplicativo: E esperamos ter criado uma pergunta lá e tenhamos definido opções e uma resposta. Agora, acessaremos os dados aqui antes disso. Minuto para usar referência de banco de dados. Vamos nomear a referência do banco de dados em si. Configuração do banco de dados. Primeiro, devemos obter instância para banco de dados. Banco de dados. A diferença é igual ao Firebase Database. Getinstance. Por padrão, se você usar GetInstance, instância desse banco de dados será tomada. Mas às vezes precisamos incluir esse endereço também. Incluímos o endereço deste banco de dados. Dentro da instância. Precisamos usar dados de transect de referência git. Os dados estão dentro de um. Se deixarmos para você obter referência vazia, obteremos os dados da raiz. Queremos dados presentes dentro de um. Então, usaremos o git reference one. Em vez disso, manifesto, precisamos adicionar permissão da Internet. Permissão e nome dos usuários. Precisamos usar a pesquisa na Internet para criada pela Internet da Intel Permission referência criada pela Internet da Intel Permission para nosso banco de dados. Em seguida, precisamos acessar o banco de dados e recuperar a referência do banco de dados de dados. Podemos adicionar um ouvinte de eventos de valor. Também podemos adicionar ouvinte de eventos de valor único. Então, adicionaremos um ouvinte de eventos de valor. Sempre que os dados forem alterados dentro do banco de dados, obterá um instantâneo dele, o novo ouvinte de eventos de valor. Agora, aqui temos instantâneo, instantâneo de dados dentro da mudança de dados. Esse instantâneo contém esses valores. Como demos o caminho como um, obtemos esses valores desde então neste instantâneo. Para acessar isso. Primeiro, definimos a pergunta. Pergunta e pergunta infantil de ponto de instantâneo extra tóxico , GetValue. Precisamos obter o valor em formato de string, ponto de string. Da mesma forma, definiremos opções. Depois de criá-lo. Variável de string para resposta. Isso não o usará agora, vamos usá-lo mais tarde, já que temos apenas uma pergunta que estamos configurando na pergunta e nas opções diretamente dentro da função de alteração de dados. Portanto, se tivermos várias equações, precisamos percorrer o instantâneo. Desde que nos dizem a questão e as opções. Vamos clicar em um. E agora vamos clicar em Iniciar aqui. Você pode ver aqui que temos a pergunta e temos quatro opções. 6. Validação de resposta: Não. Em vez disso, fiz o teste, criarei um botão Validar. No botão inferior. 150, tipo B 50. Digamos validar, corrigir o tamanho. Em seguida, damos margem. Margem, digamos 20. centro de gravidade do layout também fornecerá um ID. Dentro Validate. Uma vez este botão. Podemos validar aqui. Então, apertaremos este botão na parte inferior e aumentaremos o tamanho das respostas aqui. Layout. Vamos embrulhar o conteúdo. Vamos fazer min-height. Altura mínima, digamos que 100. Isso os tornará centro de gravidade, centro de gravidade, centro. Faremos margem entre as duas respostas aqui. Criamos o botão validar. Agora vamos criar uma referência para esse botão. Aqui. Também criamos uma resposta disponível em vez disso, sobre a mudança de dados também definirá resposta, a resposta é igual a instantâneo. Ponto de ponto. Obter valor também criará uma variável de opção selecionada. Int. A opção é igual a 0. A opção é 0, nenhuma opção está selecionada. Quando for 1. A primeira opção é, sempre que selecionamos uma opção, devemos destacar essa opção específica. Opção um. O que vou clicar na opção, não devemos ser capazes de escolher outra opção novamente, para isso, criaremos uma função. Então, digamos que desative todas as texturas. Opção Db um ponto, conjunto, algumas fontes. Agora precisamos usar isso aqui. Clique duas vezes também precisamos destacar a opção que selecionamos para isso, precisamos definir a cor de fundo para o topo. Aqui usamos a opção disponível é igual a uma. Para isso também usará uma função. Então, vamos dizer a opção de destaque. E dentro disso, precisamos passar a variável de opção selecionada. Em adoção. Interruptor. Caso de opção um, caso um. Eles precisamos definir o plano de fundo para DB opção um. Opção um recurso de fundo de ponto. Cor de ponto de ponto Android. O público definirá a opção de azul destaque azul e azul. E precisamos passar a opção de opção ou então, em vez de usar a variabilidade da opção de seleção, podemos passar diretamente uma para ser a mesma. Clicamos no botão para nos mostrar onde quer que selecionemos a opção certa de não começar a validar. Você queria fechar. Agora, quando clicamos em Validar, precisamos obter a resposta. Para isso também criará outra variável. Resposta de string. Opção selecionada. A opção padrão não é igual a 0, o que significa que selecionamos um pouco a outra opção, não igual a 0. Se a opção não for igual a 0. Em vez disso, teríamos duas opções. A resposta está certa. opção seletor é igual a resposta. Se a opção Salford for igual a resposta, precisamos definir a cor de fundo da opção para verde. Caso contrário, precisamos definir a opção de corte em segundo plano para ler e precisamos destacar a resposta correta. Então aqui temos quatro opções e precisamos verificar manualmente todas as quatro opções. Então, mais uma vez, usaremos com dez k's. Esperamos que a opção de destaque criada crie mais uma opção. Desta vez, em vez da opção piloto. Vamos ver. E aqui em vez de azul, usaremos verde. Verde. Em vez de usar duas funções diferentes. Você também pode usar a mesma função. E junto com a opção, você também pode passar a opção de chamada cor. Precisamos passar a opção. Da mesma forma, para opcional errado. Então, faremos isso. Vamos criar outra hora, vamos dizer opção errada. E aqui usaremos a cor vermelha em vez da verde opção verde. Agora, na terceira opção errada, também precisamos destacar a resposta certa. Ponto é igual a respondido. Minuto para definir. Opção é igual a opção um, ponto. Obter string. Dentro da parte else, precisamos destacar a resposta certa também junto com a resposta errada. Para isso, usaremos a opção 1 do DB. Ele tem igual a String. Precisamos definir a cor de fundo para verde. Agora, vamos levar essa lógica funciona ou não. Então, agora vamos clicar em iniciar. Temos quatro opções aqui. Aqui sabemos a resposta certa, então selecionaremos a opção errada. Você pode ver, depois de selecionarmos essa opção, não é possível clicar em nenhuma outra opção. Então, vamos clicar em validar. Você pode ver aqui esta é uma alternativa forte e esta é a opção certa. Vai voltar. Clicamos em Iniciar. Por esta altura, selecionaremos a opção certa. Você pode ver que aqui é a opção certa. 7. Instalando o navegador DB para o SQLite: Agora vamos baixar o processo DB para SQLite, iremos para um chugging aqui digite DB browser para SQLite. Aqui você clica nisso. Vamos rolar para baixo. Aqui temos versões diferentes. Então, iremos para a versão mais recente. Aqui. Um download 100 será baixado. Instalador padrão para Windows. O download está concluído. Vamos instalar isso. Então clique duas vezes, clique em Avançar aqui. Aceito em seguida, e selecionaremos Desktop para SQLite. Se você quiser, você pode alterar o local. Clicaremos em Próximo atalho para o processo DB2. Antes disso. Antes de abrir o navegador DB criará uma pasta nomeando bancos de dados. Pasta. Nomeie bancos de dados. Vamos salvar nosso banco de dados dentro desta pasta. 8. Como criar dados: E abrirei este navegador DB. Então clique duas vezes nele. Aqui, no topo, esperamos um novo banco de dados. Então clique em novo banco de dados. Então, ele está nos pedindo para escolher o local também. Vamos para bancos de dados e vamos nomear o arquivo, pois amostra será consumida. Não, está nos pedindo para criar uma tabela. Nomeie a tabela como nível um ou então não fará o espaço aqui, nível um. Então, precisamos adicionar campos. O primeiro campo fornecerá como ID, número inteiro e não nulo, chave primária, incremento automático e exclusivo. Em seguida, adicionaremos uma pergunta. Em seguida, adicionaremos a opção um ao lado da opção dois, opção três opções. E, finalmente, precisamos adicionar respondido. Clique em OK. Para visualizar esta tabela, precisamos ir para Browse Data. E aqui selecione a tabela. Atualmente, temos apenas o nível um. Aqui você tem ID, opção de pergunta um, opção dois, opção três opções para uma resposta. Então, na parte superior, você insere um novo registro. Você pode ver aqui que temos um novo registro. Insira registros em cada tabela. Criará o nível dois e o nível três. Aqui clique em Criar tabela. Criamos três tabelas e inserimos dez registros em cada tabela. Aqui temos uma pergunta. E se tivermos essa pergunta, copiaremos essa pergunta. Vou colá-lo aqui. Da mesma forma, adicionará mais 29 perguntas a ele. Agora, nós já fomos perguntas. Você pode ver aqui nível um, nível dois, nível três. Antes disso, no banco de dados do Firebase. Vamos abri-lo aqui. Removeremos essa pergunta e lideraremos três registros. Primeiro, digamos nível um, vamos deixá-lo vazio. Da mesma forma, adicionaremos um nível dois. Nível três. Precisamos importar os dados do processo NDB. Além disso. Precisamos exportar aqui File Export, Export As GSM selecionará todos os três. E precisamos escolher o local. Então, vamos economizar em bancos de dados. Selecione a pasta, exporte concluída. Agora podemos ver aqui temos nível 123, DSM-5. Dentro do Firebase, seja chamado de nível um. Selecione Importar DSM. Vá para bancos de dados e nível um. Agora clique em Importar. Você pode ver aqui todas as mais de dez questões importadas aqui. 9. Como adicionar níveis: Isso criará um dever indireto. Apenas três botões, nível 123. Então vá para Arquivo Novo e selecione Atividade. Selecione Atividade vazia nomeará essa atividade no nível de sentido. Dentro do nível de atividade, usaremos apenas o layout de restrição. Aqui vamos apenas criar três botões, botão de status. Imagine, vamos ao topo dos pais. Da esquerda para a esquerda e escrever para cancelar pais também lhe dará uma ideia. Começou o nível um. Nível um. Temos o botão aqui. Então, agora vamos criar uma ferramenta de nível dois e nível três de nível BBN. E precisamos mudar as restrições. Precisamos remover o oposto dos pais. Faça de baixo para cima. Nível um. E da mesma forma, precisamos criar o botão btn nível três. Aqui, nível três, de cima para baixo até o nível dois. Atividade principal. Agora, o que podemos começar a abrir atividade de nível em vez de atividade do Quiz, reabrir nível, atividade. Nível interno que precisamos para criar uma transferência desses três botões. Botão. Início de uma nova intenção. Para fazer essa atividade, precisamos enviar um texto. Ponto. O nome será nome do nível, nome do nível dentro dos bancos de dados 111. Inicie a atividade. Precisamos repetir o mesmo para o nível 23, também, atividade de questionário de insetos. Precisamos ir para o topo e a necessidade de criar uma string. Aqui. Nós respondemos a opção de seleção. Precisamos criar o nome do nível. Obterá o nome do nível da intenção. O nome do nível é igual a obter string extra. O nome do aluno é o nome do nível. Dentro da deferência get. O caminho deve ser o limite de nível de um. Agora recebemos um evento SETR de limite de nível. Se você absorver o banco de dados. Em vez disso, cada nível, temos dez perguntas. Para obter dez perguntas de cada nível. Primeiro, criaremos uma ArrayList. Ajudamos a criá-lo, pelo menos para a opção um, opção dois, opção três, opção para potenciador. Precisamos armazenar os dados nessas áreas. Aqui estamos dando o nome do nível em si, mas se você quiser obter cada instantâneo de perguntas, precisamos usar o snapshot de dados. Cada um dos instantâneos. Ponto instantâneo obter crianças. Em vez de carregar o quadrante diretamente no ArrayList. Pergunta na almofada carregou os dados na lista. Agora precisamos criar a pergunta de que usaremos uma função separada. Digamos Criar pergunta. Aqui. Vamos copiar isso. Em vez de usar o instantâneo, precisamos usar list, dot. Fique bronzeado. Precisamos usar index criará mais duas variáveis. Um é o número da pergunta e outro é o índice. Número da pergunta. Um, índice 0. Usamos a opção três duas vezes. Obter. Aqui. Precisamos dar índice. Uma vez que cinco com base em alguns segundos para carregar os dados inicialmente desativarão todas as opções, basta chamar o DoubleClick no clique duplo inicial. Sempre que criamos nossa pergunta. Sempre que os dados forem carregados, precisamos ativar o clipe simplesmente configurá-lo para dois. Precisamos chamar essa questão de grade para carregar as almofadas. Quando esse loop for concluído, equação, usamos criar pergunta. E mesmo se você absorver dentro do loop for, usamos o snapshot dot child em vez de ds. Então, precisamos usar o DSS desde ds. Ds escreverá cada pergunta individual. Então, a partir disso, cada pergunta individual estamos carregando perguntas separadamente, opção uma separadamente e assim por diante. Vamos verificar se isso funciona ou não. Então, agora vamos selecionar um nível. Nível um. Você pode ver que leva algum tempo e depois fechamos a pergunta. Em vez do banco de dados. Abra o nível um. Então, a primeira pergunta será inferior a 0. Você pode verificar aqui. Na primeira pergunta, selecionaremos a opção. Aqui. Não podemos ir para Próxima pergunta porque ainda não criamos esse botão. Antes de fazer isso, verificaremos outros dois níveis também. Voltaremos, selecionaremos o nível dois. Agora, aqui no nível dois você pode absoluto 00 é a primeira pergunta. Você pode vê-lo aqui. Configure a opção errada desta vez. Já selecionamos a opção correta, então ela é validada. Sem retorno de chamada. Nível três. Desta vez, escolheremos a opção errada. Criará o botão Avançar. 10. Próximo botão: Agora vamos criar o botão Avançar irá para o teste de atividade, mudará o layout linear para o layout de restrição. Layout de restrição. Precisamos remover a orientação. Precisamos adicionar restrições. Em seguida, devemos estar no topo, cima, de cima para cima dos pais. Não é necessário colocar o texto no centro. Como estamos usando com o pai de correspondência de teste, LinearLayout deve estar logo abaixo da pergunta dv. Adicionaremos ID, LinearLayout ID. Digamos LL1. E este deve estar logo abaixo do oceano típico. De cima para baixo para cima, de cima para baixo. Pergunta Tb. Da mesma forma, o segundo LinearLayout dará um ID e isso estaria abaixo da LLVM, abaixo do LL1. E, finalmente, colocaremos a validação e a próxima na parte inferior. Precisamos remover o roteamento de camadas. baixo, de baixo para baixo. Melhor. Validar deve estar no lado esquerdo. Da esquerda para a esquerda. Usaremos os mesmos atributos. Criará btn em seguida. E os diferentes Cs. Em vez de da esquerda para a esquerda, usaremos da direita para a baixa. Id será bonito no próximo texto será o próximo. Aqui. Em vez de da esquerda para a esquerda, precisamos usar da direita à direita da restrição. Logo fora. Você pode ver aqui, validar em seguida, essas são opções. Esta é a questão que reduzirá a lacuna entre as opções. Enquanto isso, vamos conseguir, digamos seis pés. Precisamos criar uma referência para o próximo botão, btn e btn next, FindViewById, BBN x. Agora precisamos criar um botão OnClickListener para botão o próximo clipe. Portanto, sempre que clicarmos no botão Conectar, próxima pergunta precisa ser carregada. Então, para isso, precisamos incrementar o índice e o número da pergunta quando o índice for 0. A primeira pergunta será carregada quando o índice for 1, segunda equação será carregada, então precisamos incrementar o índice. Index plus plus também número da pergunta mais pergunta dv. Antes de definir a pergunta, precisamos exibir o número q e rho plus. Aproximando-se do número plus, plus. E, finalmente, precisamos chamar criar pergunta. Pergunta. Sempre que clicarmos na opção Confirmar, a cor será alterada. Portanto, precisamos remover cores e definir o plano de fundo para transplante para todas as opções. Para isso, criaremos outra função. Então cor branca aqui. Copie isso. Em vez de azul, precisamos definir transparente. Transparente. Sempre que estamos carregando uma nova pergunta. Não deve haver nenhuma cor de fundo para nenhuma das opções. Por enquanto, precisamos chamar essa cor remota. Remova a cor, chamada de cor remota primeiro e depois crie uma pergunta. Agora, vamos clicar no financiamento. Vamos clicar em Iniciar. Escolheremos 1111. Diversão. Temos uma pergunta, selecionaremos a resposta. Também podemos clicar em Avançar sem selecionar nenhuma opção ou sem validá-la. Pergunta 3467 em nove. Se clicarmos em Avançar, agora ele falhará porque não escrevemos a lógica apropriada aqui dentro do btn. Em seguida, precisamos ir para a próxima pergunta. Precisamos incrementar, precisamos remover a cor ou criar uma pergunta. Então, precisamos realizar essas quatro operações. Se o índice for inferior a nove, somente quando o índice for menor que nove, precisamos realizar essas quatro operações. Índice é igual a nove. Precisamos terminar a atividade. Precisamos terminar o teste. Acabamento. Agora clique em Iniciar, selecione o nível. Então, selecionaremos a opção. Em seguida. Nucleotídeo ligado. A atividade do questionário foi concluída. Vamos tomar o mesmo para o nível dois. 11. Calculando a pontuação: Uma pontuação de QI de cálculo de pilha completa. Então, para isso, precisamos entrar no teste de atividades. Aqui. Se você olhar para o design no topo, temos dúvidas. A pergunta. Precisamos ajudar a diminuir e marcar para isso realmente criar outro LinearLayout. Largura do layout linear para corresponder ao conteúdo pai. E isso deve ser de cima ao topo do layout de restrição pai. Imagine, digamos alguns, digamos que alguém dará uma identidade. Como usamos L1 e L2, L3. Esta próxima visualização deve estar abaixo de L3. Direita, de cima para baixo. Precisamos dar orientação, então vamos definir apenas a horizontal. Precisamos ter para texturas 0. Digamos 20. Peso do layout, digamos 0,3. Cor. Desculpe, vamos dizer isso. Em seguida. Cor, tamanho escuro e texto, digamos 20. Exercício. Para isso, precisamos fazer certo? Por mês. Peso do layout usamos 0,2 verde, dado verde e removeremos o texto. Copiaremos essas duas TextViews. O texto terá uma cor pontuada. Deixe-nos sentar. Bleu. pontuação fará a cor preta. Preto. Você pode ver aqui que temos dímero estende código. Agora queremos calcular a pontuação. Para isso, criaremos uma pontuação de Db Db de transposição . Agora precisamos calcular a curva. Isso criará uma variável de pontuação. valor inicial deve ser 0 ao quadrado igual a 0. Precisamos definir a pontuação inicial, ponto de pontuação DB setText, pontuação por dez. Já que temos dez perguntas e as mordemos. A opção selecionada D é igual a incrementos de resposta pontuação mais, mais. Mais uma vez, precisamos definir o texto para a pontuação DVI. Conjunto. O texto deve ser mais. Agora, vamos clicar no arrendamento. Então, agora vamos ser constantes. Selecionaremos os dois níveis, certo? Opção. Você pode ver uma pontuação um por dez por dez. Em seguida, criaremos um temporizador. 12. Cronômetro: Agora vamos criar um temporizador. Temporizador de contagem regressiva. Digamos que n valores iniciais devem ser nulos. Precisamos iniciar nosso temporizador. Para isso, criaremos um temporizador de início de função . Temporizador de início. Precisamos criar um novo temporizador. Temporizador de contagem regressiva. Aqui, precisamos especificar o tempo total. Junto com a lacuna morrendo. tempo total será de dez líquidos, então 600 segundos milissegundos. As lacunas seriam intervalo de 1 segundo, mil milissegundos. Queríamos exibir o temporizador em minutos e segundos. Para isso, usaremos formato de string, string, formato de ponto de string. Precisamos exibir minutos e segundos. Usaremos 0202 significa, por exemplo, se o número for devido, ele exibirá 02 em vez de dois. E então o primeiro é minutos, segundo é segundos. Agora precisamos e obter um minuto dez segundos. O temporizador total é de 600 segundos, o que é de dez minutos. milissegundos de ponto da unidade de tempo. Precisamos converter isso em minutos. A duração está dentro do alelo longo. Agora precisamos exibir segundos. Mais uma vez, unidade de tempo, não milissegundos. Segundos e desta vez. Mas aqui, se deixarmos assim, os segundos mostrarão 600 9598 finitos assim. Mas queremos 5958 e assim por diante. Então, para isso, precisamos converter minutos em segundos. Então precisamos subtrair isso do total de segundos restantes. Unidade de tempo ponto minutos a segundos e um minuto pensado. Milissegundos falam dois minutos. E lei. Ponto do temporizador, ponto. Agora precisamos definir o temporizador para nossa textura. Dímero. dímero está terminado. Precisamos terminar. O teste. Temporizador. Será definido. O texto foi feito. Sempre que terminarmos o teste e antes da hora em que ele for concluído. Nesse caso, precisamos parar o temporizador. Para isso. Criaremos outra função. Vamos dizer isso. Cancelado. Precisamos verificar a hora. Não é igual a nulo. ponto do temporizador cancela sempre que terminarmos o teste e antes da hora em que ele for concluído. Então, nesse caso, precisamos cancelar o temporizador. Cancele o IMA. Da mesma forma, sempre que pressionamos o botão Voltar, mesmo nesse caso, precisamos cancelar. O temporizador. Vai para baixo, logo na parte de trás pressionada. Cancele o timer. Conclua a atividade. Então termine. Agora, precisamos iniciar o temporizador. Criamos a hora de início da função. Precisamos chamar isso. Assim que nossa atividade abrir. Aqui, no início, precisamos ligar. Vamos clicar nisso. Clique no nível inicial. Aqui, no topo, você pode ver o horário em que foi iniciado. Em seguida, criaremos um scorecard final. 13. Cartão de pontuação final: E eu, vamos criar o scorecard final para o nosso teste. Para isso. Vá para Arquivo Novo. E selecionaremos Atividade vazia. Nomeiará isso como correto. Dever. dever no centro deslocará trimestre. E na parte inferior vamos fazer dois botões. Um precisa retomar e outro é terminar. Texto para você. Digamos que corresponda conteúdo de envoltório do tipo pai. Cor extra. Azul, não fornecerá nenhuma ID a este texto. Faremos o id2 próximo. Textview e, em seguida, envolva o conteúdo. Precisamos fornecer um ID, ID, ID dB. Esta imagem você deve ser capaz de financiar de baixo para cima das cotações financeiras. Este deve estar no centro. Top, o topo dos pais. Você pode ver também , digamos 22. Negrito. Seu quadrado final é que aumentaremos o tamanho do texto. Vinte e seis. Você esteve aqui. Aplicará a próxima cor, verde. Desta vez, vou fazer para a pontuação. E até este será ousado. Agora vamos criar para quais anúncios. Eles podem terminar. Botão. O 15050, baixo para baixo, da esquerda para a esquerda. Martin 20. E mesmo para a primeira grande margem, fundo, margem, fundo. Em segundo lugar, criaremos outro botão. Distribua para cancelar o acabamento VPN. E aqui leva esse acabamento. Criaremos uma cerca para visualização de texto e dois botões. Sempre que terminarmos nosso teste, precisamos passar a pontuação e também precisamos passar o nome 11. Então recrie a pontuação. Nível de string chamado Ted Cruz em 2D. Assim, você pode ver sempre que índice igual a nove, estamos terminando o teste e até importamos. Mas agora, naquele momento , está concluído, estamos terminando o teste, criaremos uma nova função e vamos terminar o teste. Conclua o teste. Isso. Precisamos chamar a atividade de pontuação. Precisamos passar a pontuação e o nome do nível. Dot. O primeiro é o quarto. O segundo deve ganhar Nome do nível, ponto de intenção. Para terminar, terminar, terminar o teste. Precisamos fazer o mesmo. Mesmo quando o temporizador estiver concluído. Conclua o teste. Precisamos entrar em atividade pontuada. Então, precisamos definir essa pontuação de coordenadas igual para obter intenção. O nome da variável é pontuação e valor padrão. Faremos 0. Da mesma forma, o nome do nível é igual a get intent. Nome do nível. Precisamos criar uma cerca para DB. Pontuação final. Disse o código financeiro financeiro. Conjunto. Pontuação, conjunto de pontos. Desclique no ouvinte. Sempre que clicarmos no deck, precisamos reiniciar o teste. Intenção, porque textura de ponto de intenção , nível nomeado, nome do nível. Acabamento. Sempre que clicarmos em terminar no ouvinte, precisamos concluir a atividade. Termine aqui. Antes de clicar em Executar. Precisamos converter essa variável inteira em string. Dentro setText simplesmente usará o valor de ponto de cadeia de caracteres de. Como não podemos usar o inteiro diretamente, em vez disso, leva dois, você usará o valor de ponto de cadeia de caracteres de. Vamos clicar em Nancy. Agora clique em Iniciar. Selecione 11 responderá a algumas perguntas e, em seguida, ignoraremos as restantes. Você pode ver aqui o seu quadrado final é, e esta é a pontuação. Se clicarmos em retomar, o teste deve começar de novo. Você pode ver aqui. Você pode ver aqui novamente, você descobrirá que ao quadrado é um. Então, desta vez, clicaremos em Concluir. Agora vamos criar qui-quadrado para cada nível. 14. Pontuação alta para cada nível: Agora vamos criar uma pontuação alta para cada nível, usaremos preferências compartilhadas. Vá para a atividade do Quiz e aqui criaremos impressoras compartilhadas. Digamos que S também criará um editor. Irá dizer a preferência Editar. Agora, precisamos definir valor nessa forma ou cerca, que é chamada sempre que terminamos a atividade, criamos uma função para ela. Em vez disso, termine o teste antes de iniciar a atividade de pontuação, quando for definida a pontuação como Preferência compartilhada. ponto usará o nome do nível de nome em si para pontuação, e o valor deve ser pontuado. Ponto aplicado. Agora precisamos acessar isso dentro da nossa atividade de nível. Então, iremos para a atividade de nível. nível de sublinhado de atividade abaixo cada botão criará uma visualização de texto. Pontuação de nível um. Precisamos colocá-lo no centro, esquerda para a esquerda para a direita. Logo na parte inferior do btn nível um criará uma visualização que deve ser combinada bit. E vamos dizer que precisamos definir o fundo preto, u1. Essa visualização deve estar abaixo do código de nível. Você pode ver aqui que temos 111 visualização de texto. Esse botão deve estar abaixo desta linha, que é a visualização. Este padrão de cima para baixo da vista um. Copie essa visualização e visualização de texto. Este deve ser nivelado para marcar. Deve estar abaixo do nível BBN para este deve estar abaixo do nível para marcar. Da mesma forma, a mediana três deve estar abaixo da vista para. Este será 113 ao quadrado, o que seria amado btn nível três. Este será Bu três. Pontuação de nível três. Obtendo a atividade de Ted Cruz, não podemos aplicar a pontuação diretamente. Primeiro, precisamos verificar se a pontuação atual é maior do que o código anterior ou não. Pontuação maior do que a compartilhada com amigos iniciados e obter um número inteiro será o nome do nível. Valor padrão de 0. Se o quadrado atual for maior que o código anterior, somente inserirá o valor na preferência compartilhada. Agora, a atividade de nível interno, precisamos acessar a preferência compartilhada também criará uma defesa para o TextView. Primeiro, criaremos preferências compartilhadas. Precisamos acessar a referência compartilhada aqui. Acelere se eu acelerar e receber as preferências compartilhadas. Mais privado. Precisamos definir uma pontuação alta para cada nível. Pontuação de nível um, conjunto de pontos. Texto. Highscore criará três variáveis inteiras. E marque LTE. Suporte. L1 é igual, vamos colocar o nome do nível f ponto n. Nível um, o valor padrão é 0. Highscore. Agora vamos clicar em Clique em Iniciar aqui, mas em cada nível estamos recebendo ensino médio. Então, agora vamos começar. Aqui. Não conseguimos ver a pontuação, reabriremos a atividade de nível. Você pode ver o highscore quatro recarregará a atividade de nível sempre que estamos clicando em Finalizar no scorecard usará o gráfico Andres. Neste gráfico simplesmente usará a recriação, que recriará a atividade atual. Vamos clicar em Executar. Então clique em Iniciar aqui, selecione o nível. Então, aqui precisamos obter uma pontuação menor que quatro. Desde anteriormente, temos quatro. Vamos deixá-lo como um só. Você pode ver aqui que sua pontuação final é uma. Acabamento. Highscore para. Agora vamos clicar. Desta vez, obteremos uma pontuação maior que quatro. Você pode ver um quadrado é cinco. Clique em Concluir. Você pode ver aqui o highscore é cinco. 15. Perguntas em ordem aleatória: E agora vamos dividir os quocientes em ordem aleatória. Para isso, criaremos uma lista ArrayList desta vez do tipo inteiro. Integer em perguntas aleatórias usará um loop for. Então eu considero menos do que eu mais mais, já que nosso índice começa com 0. Ponto de pergunta aleatório. Uma vez adicionamos o valor em equação aleatória. Então, precisamos embaralhar a lista de cabeçalho. Para isso, usaremos coleções. Embaralhamento de pontos. Precisamos Shaphan a lista de perguntas aleatórias. Não obteremos o número em uma ordem crescente, mas entraremos em um modelo aleatório. Precisamos ir para criar cautela. Aqui. Em vez de usar o índice GET, precisamos usar e obter esse índice de pontos de almofada Adam. Agora vamos clicar em Executar e você pode ver aqui, primeira pergunta é diferente da que não temos banco de dados. Clique em Avançar. Estamos recebendo quocientes em uma ordem aleatória. 16. Título da barra de ação: Um novo questionário de atividades hoje e ação corretiva, mas título, definiremos o botão inicial para fechar arquivos XML. Então, primeiro, procuramos uma atividade de um nível, e aqui depois de definir a exibição de conteúdo usará e obterá algum botão de proteção que receberá o título. Como este é o nível da atividade dirá Selecionar, selecione 11. Agora precisamos definir o botão Home, obter suporte, barra de ação. A bagunça inteira ativada. Sempre que clicarmos no botão Home, precisamos concluir a atividade. Vai para baixo em opções, itens selecionados. Windows que envolvem o ponto do item, obtém o ID do item. caso precisa ser dot id dot id dot dot dot foam, espuma de sangue materno. Para colocar essa declaração de retorno na parte inferior. Faremos o mesmo para o título da atividade de pontuação e esta pontuação final. Mesmo quando melhor um botão voltar, precisamos terminar a atividade no encosto. Acabamento. Portanto, mesmo para a atividade de nível no acabamento do encosto, copiaremos isso nos itens de opções selecionados. Agora, a atividade do Quiz criará o título definido. Isso vai ser questionário. Em seguida. Defina os formatos de exibição e capaz de ser verdadeiro aqui. Já demos no encosto. Assim, você pode ver com má pressão, Cancelar o Tibre e finalizar as opções. Os itens têm medo de fazermos o mesmo. Agora. Vamos clicar em Executar. Agora clique em Stat. Você pode ver na parte superior temos um botão Voltar e o texto é selecionar nível. Agora volte botão, você vai para a atividade principal. Então clique em Iniciar, selecione um nível. Se clicarmos novamente aqui, voltaremos novamente para a atividade de nível. Então selecione o nível. Mesmo para pontuação. Se clicarmos no botão Home, vamos nivelar a atividade. 17. Botão de saída em um botão: Agora vamos criar um botão Sair para isso. Vá para a atividade principal e a atividade principal fechará todas as atividades restantes. E aqui vamos copiar esse botão. Saída Btn. Para ambos os botões serão usados por asma ou viés vertical. Restrição vertical por nós e digamos 0,4. Agora você pode ver o botão Iniciar subiu um pouco. Vamos dizer 0,45. E para o botão de saída usará vertical por nós 0.5 para isso. Btn, saída btn. E da mesma forma, a saída btn é igual a V raramente ponto e saída btn. Sempre que escolhermos uma saída conveniente, precisamos fechar nosso aplicativo. Ponto de saída Btn. Agora, sempre que clicarmos no botão Sair, precisamos fechar nosso aplicativo. Para isso, criaremos uma caixa de diálogo de alerta. Construtor de pontos. Novo diálogo. Precisamos dar aos contextos atividade principal. Ponto do construtor. quer sair? Precisamos ter dois botões, sim e não. Quando clicamos em Sim, isso deve fechar. E quando clicamos, o diálogo deve ser descartado. Conjunto de pontos do construtor pausa no botão. Vamos dizer que sim. Precisamos definir um OnClickListener. Acabamento. Definitivamente terminar a entidade fechará todas as atividades abertas. Ponto do construtor. Agora precisamos definir o botão negativo, botão negativo. Enviaremos nulo. Quando clicamos, o diálogo deve ser fechado. Portanto, faça uma interface de diálogo e não descarte. Finalmente, precisamos mostrar essa caixa de diálogo. Dot, dot show. Precisamos repetir o mesmo quando pressionamos o botão Voltar também no encosto, e copiaremos o mesmo. Vamos clicar no arrendamento. Então agora primeiro, clicaremos no botão Voltar. Ok, então vamos demonstrar Super com isso pressionado. Agora, vamos clicar no botão voltar primeiro. De volta aqui você tem um diálogo. Você deseja aceitar quando você clica na caixa de diálogo é descartada. Agora, agora vamos clicar em Sim. Isso está fechado. Abrirá o aplicativo novamente. Agora vamos clicar no botão Sair. Aqui você tem diálogo. Eles querem sair. Não. Não, clicaremos em Sim. Você pode ver que o aplicativo é bruto. Sempre que clicamos em Sim, isso fecha. 18. CONCLUSÃO: Os bancos estavam completando essa aula. Fique atento para mais dessas aulas e, por favor, conclua o projeto também.