Baixe o app para aproveitar ainda mais
Prévia do material em texto
24/04/2022 13:32 Estácio: Alunos https://simulado.estacio.br/alunos/ 1/5 Teste de Conhecimento avalie sua aprendizagem Em relação à hierarquia de componentes nativos, é correto afirmar que: Em relação ao ambiente de programação para dispositivos móveis, marque a alternativa verdadeira. PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS EM ANDROID Lupa Calc. EEX0141_202001140301_TEMAS Aluno: EDSON DE OLIVEIRA BRITO Matr.: 202001140301 Disc.: PROG DISP MÓVEIS 2022.1 EAD (GT) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. A regra de hierarquias ou de componentes que podem ser utilizados em conjunto é bastante flexível. Entretanto, no caso de componentes de diferentes tipos serem utilizados em conjunto, não é possível estilizá-los individualmente, havendo apenas a possibilidade de que os filhos herdem os mesmos estilos dos elementos-pai. Embora os componentes possam ser usados como contêiner de outros, há uma restrição para esse regra em relação ao componente View, que só pode ser utilizado para outros componentes do mesmo tipo. A hierarquia de componentes em React Native é bastante flexível. Com isso, é possível utilizar em conjunto diferentes componentes, inclusive como contêineres de outros componentes. Um componente só pode ser contêiner de outros componentes do mesmo tipo. Um componente não pode ser usado como contêiner. Consequentemente, ele não pode ter nenhum outro componente aninhado em si. Data Resp.: 24/04/2022 13:29:27 Explicação: A resposta certa é: A hierarquia de componentes em React Native é bastante flexível. Com isso, é possível utilizar em conjunto diferentes componentes, inclusive como contêineres de outros componentes. 2. Quando utilizamos o Expo CLI para criarmos nossas aplicações, não é possível, em um mesmo computador/ambiente, criar aplicações utilizando o React Native CLI. O Android Studio é a única IDE que pode ser usada para a codificação de aplicativos em React Native. É possível existir um ambiente de desenvolvimento heterogêneo, não havendo restrições quanto à utilização apenas de um gerenciador de pacotes, de uma mesma IDE ou mesmo de uma única forma de desenvolver e testar nossos aplicativos. Para testar aplicativos Android, é necessário ter um dispositivo móvel que utilize tal sistema operacional. A utilização de gerenciadores de pacotes facilita a configuração do ambiente de desenvolvimento. Com eles, nenhuma configuração se faz necessária em termos de softwares ou mesmo de configurações no sistema operacional. Data Resp.: 24/04/2022 13:29:32 Explicação: javascript:voltar(); javascript:voltar(); javascript:diminui(); javascript:aumenta(); javascript:calculadora_on(); 24/04/2022 13:32 Estácio: Alunos https://simulado.estacio.br/alunos/ 2/5 Indique qual afirmativa está correta em relação aos componentes de lista disponíveis em React Native. O Stack Navigator permite criar uma ''pilha de telas''. Em relação a seu modelo de navegação, é correto afirmar: Observe o fragmento de código apresentado a seguir, parte de um aplicativo criado na plataforma React Native. A resposta certa é: É possível existir um ambiente de desenvolvimento heterogêneo, não havendo restrições quanto à utilização apenas de um gerenciador de pacotes, de uma mesma IDE ou mesmo de uma única forma de desenvolver e testar nossos aplicativos. 3. Os componentes de lista são elementos otimizados para a exibição de dados nesse formato, possuindo diversas otimizações, que vão desde o consumo de memória até a renderização e a atualização da janela para a exibição dos itens. Embora sejam otimizados em relação à adaptação da janela de rolagem, os componentes de lista possuem problemas de performance no que diz respeito ao consumo de memória. Os componentes de lista são containers simples, como as View, com a única diferença de que permitem a exibição, dentro de um laço de repetição, usando o código JS com o componente React, de seu conteúdo. Os componentes de lista só permitirão a exibição de dados desde que seja possível determinar, antes da renderização deles, sua quantidade. Os componentes de lista disponíveis só podem ser utilizados individualmente, não sendo possível a combinação deles ou até a utilização de um mesmo tipo de forma aninhada. Data Resp.: 24/04/2022 13:29:41 Explicação: A resposta certa é: Os componentes de lista são elementos otimizados para a exibição de dados nesse formato, possuindo diversas otimizações, que vão desde o consumo de memória até a renderização e a atualização da janela para a exibição dos itens. 4. As opções de navegação ficam dispostas em um menu, que, por padrão, fica escondido à esquerda da tela. A navegação no modelo Stack Navigator é realizada apenas por meio do botão de voltar no topo da tela. Após navegar para determinada tela, não é possível voltar à tela anterior sem antes recarregar todo o aplicativo. O Stack Navigator permite a navegação pelas telas do aplicativo por meio do método ''navigate'' ou do botão de voltar, inserido por default no topo de cada tela. Com isso, é possível acessar qualquer uma das telas que tenha sido incluída em seus ''screens''. Os botões de navegação nesse modelo ficam, por padrão, alocados na parte inferior da tela. Data Resp.: 24/04/2022 13:29:46 Explicação: A resposta certa é: O Stack Navigator permite a navegação pelas telas do aplicativo por meio do método ''navigate'' ou do botão de voltar, inserido por default no topo de cada tela. Com isso, é possível acessar qualquer uma das telas que tenha sido incluída em seus ''screens''. 5. 24/04/2022 13:32 Estácio: Alunos https://simulado.estacio.br/alunos/ 3/5 Qual será o resultado da execução desse trecho de código? O banco de dados Realm é manuseado, no React Native, a partir de uma classe com o mesmo nome, concentrando todos os métodos necessários para consultar e modificar os objetos de qualquer coleção incluída no esquema de criação. Qual método da classe Realm seria utilizado para acrescentar um objeto a uma coleção do banco? A conexão remota realizada em aplicativos escritos com o framework React Native através de bibliotecas como Fetch API, Axios, entre outras, implementa o padrão AJAX. Tal padrão caracteriza-se pelo uso do objeto XMLHttpRequest para se comunicar com os recursos disponíveis remotamente. Em relação a essa tecnologia, é correto afirmar: (Adaptado de: Ano: 2019 - Banca: Questões Inéditas - Prova: Questões Inéditas - SOE - Sem Órgão Específico - Carreiras TI - 2º Simulado) Em relação a essa tecnologia, podemos afirmar que O HTTP é um protocolo da camada de Aplicação do modelo OSI (acrônimo do inglês Open System Interconnection). O HTTP, base para a comunicação Web, define em sua estrutura um conjunto de métodos de requisição. Marque a opção abaixo que corresponda a um dos métodos HTTP: Uma conexão será obtida de forma síncrona, sendo utilizada, em seguida, para gerar uma transação e, a partir dela, alterar os dados do aluno 120076. Será criado um banco de dados com o nome ALUNOS, e na sequência os registros 120076 e ''Luiz Paulo'' serão removidos da tabela ''Escola.db''. Será efetuada uma conexão com o banco de dados, configurado para o arquivo ''Escola.db'', e na sequência a tabela ALUNOS é gerada no banco. Uma conexão será obtida de forma assíncrona, sendo utilizada, a seguir, para iniciar uma transação e, a partir dela, inserir um registro no banco de dados. Será criada uma tabela com o nome ''Escola.db'', sendo inserido um registro com o nome ALUNOS, e valores indefinidos, devido ao uso de interrogações. Data Resp.: 24/04/2022 13:30:27 Explicação: A resposta certa é: Uma conexão será obtidade forma assíncrona, sendo utilizada, a seguir, para iniciar uma transação e, a partir dela, inserir um registro no banco de dados. 6. create commitTransaction write beginTransaction objectForPrimaryKey Data Resp.: 24/04/2022 13:30:39 Explicação: A resposta certa é: create 7. Para que seja possível a sua execução, a linguagem JavaScript (ou Typescript) deve ser utilizada tanto no front-end como no back-end. Para verificar se a requisição foi realizada com sucesso, devemos observar se a propriedade 'status' do XMLHttpRequest possui o valor 'OK'. As requisições possuem natureza síncrona, refletindo automaticamente no aplicativo o estado do servidor de aplicação remoto. Pode enviar informações somente no formato XML. Pode receber informações em uma variedade de formatos, incluindo JSON, XML e Texto puro. Data Resp.: 24/04/2022 13:31:39 Explicação: No framework React Native está disponível, nativamente, um componente que permite a conexão com recursos remotos, o Fetch API. Neste é possível consumir e enviar dados utilizando os diferentes métodos HTTP (GET, POST etc) e em diferentes formatos: JSON, XML, texto puro. 8. 24/04/2022 13:32 Estácio: Alunos https://simulado.estacio.br/alunos/ 4/5 Ao efetuar a persistência em banco de dados, pode ser necessário ocultar informações de determinados campos, com a possibilidade de recuperação posterior, ou seja, devem ser adotados algoritmos de criptografia simétrica, em que o AES tem sido a principal opção para as plataformas móveis mais populares. Tendo como base a biblioteca CryptoJS, como podemos utilizar o algoritmo AES no desenvolvimento com React Native? Entre os requisitos de segurança da plataforma Android, atualmente não é aceitável que o mesmo IV seja utilizado na geração sequencial de chaves. Ao utilizar a biblioteca CryptoJS, portada para React Native de sua verão NodeJS, qual comando seria utilizado para criar um IV formado por valores aleatórios? STP IMAP . POP PUT RSTP Data Resp.: 24/04/2022 13:31:10 Explicação: O protocolo HTTP define alguns métodos como, por exemplo, PUT, GET e POST. 9. Basta invocar a classe Base64, pois os valores já são codificados no formato AES. É necessário instanciar um objeto do tipo Cipher, com a passagem do algoritmo AES, chave e IV, e utilizar os métodos encrypt e decrypt do objeto. Devemos invocar o método encrypt, fornecendo o valor original, chave AES e IV, ou o método decrypt, com o valor criptografado, chave e IV, sempre por meio do módulo AES. Precisamos utilizar o método digestStringAsync, fornecendo chave AES e IV, tanto para a criptografia quanto para a recuperação da informação. Não é possível trabalhar com o algoritmo AES no React Native, pois a biblioteca CryptoJS não fornece um gestor apropriado para ele. Data Resp.: 24/04/2022 13:31:20 Explicação: A biblioteca CryptoJS fornece os gestores de criptografia simétrica por meio de módulos, em que estão incluídos AES, DES, TripleDES, Rabbit e RC4, referindo-se aos algoritmos adotados por cada um. Qualquer que seja o gestor escolhido, os métodos encrypt e decrypt ficam disponíveis, respectivamente, para criptografia e recuperação da informação, sendo necessário fornecer a chave e o IV. 10. CryptoJS.lib.generateIV(128/8) CryptoJS.lib.WordArray.random(16) CryptoJS.IV.getVector(128) CryptoJS.lib.ByteArray.createIV([128,16]) CryptoJS.lib.IV.createFrom(''randomBytes'') Data Resp.: 24/04/2022 13:31:27 Explicação: Com o módulo lib, oferecido na biblioteca CryptoJS, temos diversas classes e métodos utilitários para as atividades acessórias de processos criptográficos, como geração de números aleatórios, que podem ser utilizados na construção do IV e do SALT. O método random, de WordArray, acessado no módulo lib de CryptoJS, retorna um vetor de números aleatórios de 32 bits (Word), com o tamanho sendo fornecido como parâmetro. Não Respondida Não Gravada Gravada Exercício inciado em 24/04/2022 13:29:22. 24/04/2022 13:32 Estácio: Alunos https://simulado.estacio.br/alunos/ 5/5
Compartilhar