Baixe o app para aproveitar ainda mais
Prévia do material em texto
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS EM ANDROID Lupa Calc. EEX0141_202008236649_TEMAS Aluno: Matr.: 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. O React Native facilita o desenvolvimento híbrido de aplicações mobile. Aponte a alternativa correta em relação aos benefícios apresentados por ele. Os aplicativos desenvolvidos em React Native não são aplicativos mobile reais, e sim aplicativos web que rodam nos navegadores dos dispositivos móveis, o que lhes confere grande velocidade de execução. Os aplicativos desenvolvidos em React Native utilizam uma linguagem de alto nível que é compilada, em tempo de execução, para as linguagens nativas das plataformas Android e iOS. A curva de aprendizagem para utilização do framework é grande, pois ele faz uso de uma linguagem de programação específica: o JSX. O React Native foi criado pela Google com o objetivo de concorrer com o framework React.js desenvolvimento pelo Facebook. Ao utilizar React Native, é possível desenvolver um único código, que será, em sua maior parte, compatível com as plataformas Android e iOS. Data Resp.: 14/04/2022 18:51:00 Explicação: A resposta certa é: Ao utilizar React Native, é possível desenvolver um único código, que será, em sua maior parte, compatível com as plataformas Android e iOS. 2. Há duas formas para se instalar um pacote utilizando o NPM: local e global. Marque a alternativa correspondente ao comando para instalação local do Expo Cli. npm install expo-cli local npm install expo-cli install expo-cli local install expo-cli npx init expo-cli Data Resp.: 14/04/2022 18:55:12 Explicação: A resposta certa é: npm install expo-cli 3. Em uma SectionList, uma propriedade define o ''agrupador'' ou definidor de cada seção a ser exibida. Indique a alternativa que corresponde a esse elemento. renderItem keyExtractor data sections renderSectionHeader Data Resp.: 14/04/2022 18:54:57 Explicação: A resposta certa é: renderSectionHeader 4. Um botão é um elemento de interação que permite ao usuário executar algumas ações ao pressioná-lo. Há alguns componentes disponíveis em React Native com essa função. A respeito deles, escolha a alternativa correta. O componente Button é o que possui a melhor capacidade de ser estilizado, o que permite a alteração completa de sua aparência. O framework React Native possui vários componentes nativos cuja função é permitir a interação do usuário por intermédio do toque/pressionamento sobre tais componentes. Entre as opções disponíveis, devemos dar preferência ao Pressable. A principal limitação desses componentes em React Native é o fato de eles não permitirem a inclusão de ícones com os títulos que indicam a função do componente. Embora estejam disponíveis alguns componentes nativos, como o Pressable, o Button e o TouchableHighLight, entre outros, nem todos estão disponíveis para as plataformas Android e iOS. Os componentes do tipo Pressable, em React Native, permitem ao usuário realizar uma série de ações, exceto controlar outros componentes, como, por exemplo, abrir ou fechar uma janela modal. Data Resp.: 14/04/2022 18:55:29 Explicação: A resposta certa é: O framework React Native possui vários componentes nativos cuja função é permitir a interação do usuário por intermédio do toque/pressionamento sobre tais componentes. Entre as opções disponíveis, devemos dar preferência ao Pressable. 5. As bases de dados NoSQL podem oferecer diferentes formas de armazenamento e representação de dados, normalmente sem um esquema fixo, motivo pelo qual temos a classificação de seus dados como semiestruturados. Qual das opções apresentadas a seguir se refere a um banco de dados NoSQL baseado em documentos? Google Big Quey Hbase SQL Lite MongoDB Neo4J Data Resp.: 14/04/2022 18:55:34 Explicação: A resposta certa é: MongoDB 6. Considere o trecho de código apresentado a seguir, em que db é um objeto da classe Realm, e a conexão com o banco de dados já está aberta. Qual será o resultado da execução desse trecho de código? São excluídos do banco todos os alunos com nome ''Ana Maria'' ou que estudem na sala ''102E''. A tabela Aluno é criada, com 2012981 bytes, sendo incluído, em seguida, o aluno com nome "Ana Maria" e alocado na sala ''102E''. Um aluno é adicionado à coleção existente no banco de dados. Uma pesquisa na coleção de alunos, com filtragem pelo nome e pela sala. Um aluno é recuperado a partir da chave, tendo seu nome e sala alterados. Data Resp.: 14/04/2022 18:55:42 Explicação: A resposta certa é: Um aluno é recuperado a partir da chave, tendo seu nome e sala alterados. 7. Em um aplicativo desenvolvido seguindo o modelo Offline First, é uma boa prática executar o fluxo de sincronização: Após o aplicativo ser encerrado e em ''background''. Com isso é possível otimizar o processo e poupar recursos. Antes do aplicativo ser iniciado. Dessa forma é possível armazenar localmente uma cópia atualizada dos dados. Sob demanda do usuário, deixando sob seu controle tal ação. No momento em que o aplicativo se conectar pela primeira vez à internet e, posteriormente, de forma periódica durante o seu uso. De forma periódica e previamente definida, independente do aplicativo estar em uso ou não. Por ex.: de 15 em 15 minutos. Data Resp.: 14/04/2022 18:55:46 Explicação: Os aplicativos criados utilizando esse modelo Offline First devem seguir um fluxo padrão em seu funcionamento. Dentre este, o aplicativo deve monitorar constantemente o status de conexão do dispositivo para tão breve o mesmo encontre acesso à internet, seja executado o processo de sincronização. 8. O desenvolvimento de um aplicativo multiusuário, considerando o modelo Offline First, faz com que alguns cuidados extras sejam tomados, como a identificação correta do usuário. Isso porque: Cada usuário tem um gosto diferente. Logo, as telas do aplicativo, além de otimistas, precisam agradar a cada um de seus usuários. Os dados, no modelo Offline First, são armazenados localmente e posteriormente sincronizados com os dados existentes remotamente. Não identificar o usuário relativo a cada dado geraria inconsistência nos mesmos, uma vez que não seria possível identificar o responsável por cada informação, por exemplo. Para funcionar corretamente, o aplicativo precisa vincular e armazenar o token de acesso recebido a casa usuário logado. A autenticação é individual. Logo, as credenciais para acesso aos recursos remotos variam de usuário para usuário. Cada usuário tem suas próprias preferências. Logo, cada um poderá optar por sincronizar os dados em momentos distintos. Data Resp.: 14/04/2022 18:55:51 Explicação: Os aplicativos quando iniciados devem verificar se o dispositivo possui acesso à internet, pois em caso negativo, o aplicativo deverá usar um banco de dados embarcado que fica salvo e disponível apenas no dispositivo de cada usuário. A não identificação do usuário relativo a cada dado geraria inconsistência nos mesmos. 9. Técnicas formaispara execução de testes e análise de performance devem ser utilizadas para a garantia da qualidade do produto. Alguns problemas comuns estão relacionados ao tempo de resposta, outros ao consumo de memória, e há ainda os fatores de usabilidade do produto. Qual das alternativas define um problema relacionado ao consumo de memória? promise rejection deadlock format exception starvation memory leak Data Resp.: 14/04/2022 18:55:55 Explicação: Um problema comum em diversos aplicativos é o memory leak, ou vazamento de memória, em que sucessivas chamadas a determinados métodos resultam no consumo de pequenos blocos de memória, os quais são alocados durante o processamento, mas não são desalocados ao final. Com o bloqueio gradativo das posições de memória, o sistema se torna mais lento, impactando diretamente na performance. 10. Muitas vezes, precisamos testar a conexão com um banco de dados ou servidor na rede, antes que ele seja implementado. Qual instrumento de programação poderia ser utilizado para viabilizar os testes na situação descrita? componente mock função test operador toEqual função expect modificador async Data Resp.: 14/04/2022 18:55:57 Explicação: Objetos mock, ou simulados, desviam o fluxo de execução normal, e devem ser utilizados para fornecer as respostas previstas por determinado servidor. O uso de um mock elimina a necessidade de construir um servidor físico para efetuar testes, nas fases iniciais do desenvolvimento, e mantém a compatibilidade com os processos normais de verificação.
Compartilhar