Buscar

PROGRAMACAO_PARA_DISPOSITIVOS_MOVEIS_EM_ANDROID

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS EM ANDROID 
 1. Na definição de papéis existentes no framework OAuth2, é função do proprietário 
 do recurso: 
 A) Provê os recursos e determinar o mecanismo de controle de acesso sob os quais os 
 mesmos serão disponibilizados. 
 B) Fornecer o serviço de autenticação e validação de credenciais. 
 C) Fornecer o serviço de autorização de acessos remotos. 
 D) Conhecer todas as aplicações clientes que desejam utilizar os recursos por ele 
 disponibilizados. 
 E) Gerar novas senhas a cada requisição recebida a partir de clientes externos. 
 CORRETA: A 
 ________________________________________________________________________ 
 2. A resposta de uma requisição realizada com a biblioteca Axios pode ser 
 acessada através do objeto: 
 A) responseText. 
 B) JSONResponse. 
 C) JSON.stringify(). 
 D) innerHTML. 
 E) Response.data. 
 CORRETA: E 
 ________________________________________________________________________ 
 3. Assinale qual destas opções corresponde ao propósito do componente 
 ScrollView. 
 A) O ScrollView é um elemento com a função de container, que pode conter em si vários 
 elementos, mantendo uma altura previamente definida e permitindo a navegação entre os 
 elementos nele contidos por meio de rolagem, que pode ser tanto vertical quanto 
 horizontal. 
 B) Controlar a exibição de textos muito extensos. 
 C) O ScrollView tem como função exibir dados em formato de listas, permitindo a rolagem 
 desses dados de maneira performática. 
 D) O ScrollView é um componente disponível apenas para a plataforma iOS, cuja função 
 é permitir a conteinerização de elementos de forma a manter sempre um tamanho 
 predefinido da tela. 
 E) O propósito do componente ScrollView é permitir o carregamento de conteúdo 
 dinâmico a partir da interação de arrastar e soltar. 
 CORRETA: A 
 ________________________________________________________________________ 
 4. É muito comum carregarmos uma quantidade limitada de dados na renderização 
 inicial de nosso aplicativo e, a partir daí, novos dados. Nesse contexto, assinale a 
 alternativa que corresponde ao comportamento dos componentes de lista no que 
 diz respeito ao carregamento de dados adicionais. 
 A) O VirtualizedList é o único componente que não possui suporte nativo ao carregamento 
 de dados adicionais, uma vez que é otimizado para lidar com dados imutáveis. 
 B) Os componentes de lista disponíveis em React Native possuem um atributo chamado 
 state, definido dentro do componente e responsável pelo controle do estado dos dados 
 atribuídos a uma variável. 
 C) As propriedades ou props recebidas como herança de componentes-pai, como View 
 ou ScrollView, permitem aos componentes de lista monitorar eventuais atualizações nos 
 dados por ele renderizados. 
 D) Todos os componentes de lista presentes no React Native possuem propriedades e 
 métodos nativos para tratar o carregamento de dados adicionais. Por meio deles, é 
 possível tanto monitorar o acréscimo de novos dados como carregá-los sob demanda 
 mediante uma interação por parte do usuário. 
 E) Tal funcionalidade não está disponível nos componentes de lista. Por outro lado, 
 podemos capturar novos dados ''ouvindo'' seu estado (state) em outros componentes do 
 aplicativo. 
 CORRETA: D 
 ________________________________________________________________________ 
 5. As diversas áreas do desenvolvimento de software sempre estão associadas a 
 diversos ferramentais da matemática. No caso específico dos bancos de dados 
 relacionais, quais são os elementos matemáticos que os regem? 
 A) Cálculo Relacional e Álgebra Relacional. 
 B) Lógica Booleana e Álgebra Relacional. 
 C) Cálculo Lambda e Inferência Lógica. 
 D) Cálculo Relacional e Lógica Fuzzy. 
 E) Álgebra Linear e Cálculo Relacional. 
 CORRETA: A 
 ________________________________________________________________________ 
 6. Para trabalhar com as coleções do MongoDB, a partir de um serviço Web, 
 construído com base no Node.js, devemos inicialmente obter uma conexão com a 
 base, através da classe MongoClient, oferecida na biblioteca MongoDB. A partir da 
 conexão, acessamos as coleções, e podemos utilizar os métodos disponibilizados 
 por elas para manipulação e consulta de documentos. Qual desses métodos 
 permite a inclusão de um documento? 
 A) find 
 B) insertOne 
 C) findAll 
 D) create 
 E) persist 
 CORRETA: B 
 ________________________________________________________________________ 
 7. JSX é uma sintaxe de extensão à linguagem JavaScript familiar ao XML. Com 
 base em sua definição e características, é correto afirmar que: 
 A) JSX não é uma linguagem, e sim uma extensão para arquivos JavaScript, a fim de 
 diferenciá-los de arquivos JavaScript que utilizam a extensão ''.js''. 
 B) JSX não permite que o código responsável pela lógica dos componentes e o mark-up 
 de manipulação do DOM coexistam em um mesmo código. 
 C) JSX é a única linguagem disponível para o desenvolvimento híbrido de aplicativos 
 mobile. 
 D) JSX exerce o papel de uma linguagem de estilos que permite a construção de 
 componentes de interface ricos. 
 E) Durante o processo de building da aplicação (seja uma aplicação web utilizando 
 ReactJS ou um aplicativo mobile empregando React Native), há uma etapa na qual o 
 código JSX é convertido em código JavaScript. 
 CORRETA: E 
 ________________________________________________________________________ 
 8. A exemplo do que é possível fazer em aplicações web, também se pode validar 
 dados inseridos em componentes do tipo TextInput em React Native. Normalmente, 
 tal validação é realizada na ocorrência de dois eventos. Marque a alternativa que 
 corresponde a esses eventos. 
 A) Submit e clear. 
 B) Onfocus e onblur. 
 C) Focus e blur. 
 D) Oninit e onexit. 
 E) Onpress e onclick. 
 CORRETA: C 
 ________________________________________________________________________ 
 9. O uso da arquitetura MVC permitiu uma boa organização das responsabilidades 
 de cada tipo de componente utilizado na programação do aplicativo. Segundo o 
 padrão arquitetural, no ambiente do React Native, em que camadas ficariam, 
 respectivamente, uma classe DAO e um componente nativo JSX? 
 A) Controller e View. 
 B) Controller e Model. 
 C) Model e View. 
 D) View e Model. 
 E) View e Controller. 
 CORRETA: C 
 ________________________________________________________________________ 
 10. A camada View, na arquitetura MVC, corresponde às interfaces gráficas, e deve 
 englobar apenas componentes para interação com o usuário e críticas de 
 formatação. Ela depende de uma camada Controller, fazendo com que a obtenção e 
 manipulação de dados sejam sempre intermediadas por um controlador. 
 Considerando um componente FlatList, alimentado por uma coleção de entidades 
 interna, como podemos garantir que a lista seja atualizada, a partir da chamada ao 
 método de consulta do controlador, sempre que a janela é exibida? 
 A) É necessário efetuar uma chamada assíncrona para o método de consulta do 
 controlador, e na cláusula then definir um bloco do tipo componentDidUpdate. 
 B) Devemos invocar o método de consulta do componente DAO, no modelo assíncrono, 
 em um bloco do tipo useIsFocused, filtrado para useEffect. 
 C) Precisamos utilizar uma função na sintaxe Java Script, acionada pelo evento onLoad. 
 D) Devemos invocar o método obterTodos,ou equivalente, a partir do controlador, dentro 
 de um bloco useEffect, filtrado para o ganho de foco, com base em useIsFocused. 
 E) Basta ignorar o controlador e efetuar a chamada ao componente DAO diretamente, 
 mas sempre no bloco componentDidMount. 
 CORRETA: D 
 ________________________________________________________________________ 
 11. Aponte qual alternativa corresponde ao conjunto de propriedades disponível 
 nos três componentes de lista do React Native: 
 A) section - extraData - data 
 B) items - item - index 
 C) height - style - index 
 D) extraData - renderItem - keyExtractor 
 E) foreach -renderItem - getItem 
 CORRETA: D 
 ________________________________________________________________________ 
 12. O React Native possui três principais modelos de navegação. A respeito das 
 características de cada um desses modelos e considerando um aplicativo que 
 possua dez telas, é correto afirmar: 
 A) O Drawer Navigation é o modelo indicado para essa quantidade de ícones, pois 
 permite que todas as opções de navegação fiquem expostas o tempo todo, sem a 
 necessidade de nenhuma ação por parte dos usuários. 
 B) Por padrão de boas práticas, deve-se adotar sempre (e no máximo) dois modelos de 
 navegação, porque os usuários tendem a ter dificuldade quando colocados diante de 
 muitas opções de escolha. 
 C) A adoção dos três modelos de navegação consiste em uma boa estratégia, uma vez 
 que é possível, por exemplo, exibir, por meio de Tab Navigation, os links mais importantes 
 e combinar os demais links nos outros modelos de navegação. Isso permitiria a criação de 
 uma tela e um modelo de navegação concisos. 
 D) Para facilitar a navegação e não confundir o usuário, deve-se adotar apenas um 
 modelo de navegação, como acontece na maioria dos aplicativos mobile. 
 E) Todas as telas do aplicativo devem ser incluídas como itens (screens) de todos os 
 modelos de navegação. Isso, além de deixar o código mais limpo e simples, daria ao 
 usuário a autonomia de escolher como quer navegar pelo aplicativo. 
 CORRETA: C 
 ________________________________________________________________________ 
 13. O armazenamento com SQLite é bastante simples na plataforma React Native, 
 com um conjunto de objetos preparados para a execução de comandos SQL dentro 
 de blocos transacionais. Para iniciar a programação necessária, devemos obter 
 uma conexão com o banco de dados através da função 
 A) transaction. 
 B) openDatabase. 
 C) executeSQL. 
 D) getConnection. 
 E) createTable. 
 CORRETA: B 
 ________________________________________________________________________ 
 14. Os bancos de dados orientados a objetos permitem que utilizemos um sistema 
 de armazenamento com estrutura similar à utilizada pelas linguagens de 
 programação da atualidade, diminuindo a distância semântica do modelo relacional. 
 Qual alternativa se refere a um banco de dados que, embora também use o modelo 
 documental, é reconhecido como orientado a objetos? 
 A) Realm 
 B) SQLite 
 C) MongoDB 
 D) Oracle 
 E) SQL Server 
 CORRETA: A 
 ________________________________________________________________________ 
 15. Pacotes instalados por intermédio de gerenciadores de pacotes são 
 armazenados em que local? 
 A) Na raiz do projeto. 
 B) Na memória do dispositivo móvel. 
 C) O local de armazenamento pode variar, devendo ser indicado no momento da 
 instalação de cada pacote. 
 D) Na pasta ''node_modules'', dentro da pasta do projeto. 
 E) Na pasta Arquivos de Programas do ambiente Windows. No Linux, isso pode variar de 
 acordo com a distribuição, mas os pacotes normalmente são armazenados na pasta /opt/. 
 CORRETA: D 
 ________________________________________________________________________ 
 16. (Vunesp - 2020 - técnico em gestão - informática) Um programador, durante o 
 desenvolvimento de um programa, descobriu que ele não está funcionando de 
 acordo com a especificação. No processo de depuração, ele resolveu inserir um 
 breakpoint nesse programa, o que permite... 
 A) Inspecionar variáveis e conteúdo da memória durante a parada intencional do 
 programa. 
 B) Executar uma rotina de trás para frente, buscando rastrear a forma como as variáveis 
 foram alteradas. 
 C) Fornecer ao programa n conjuntos de entradas de dados e executar, de uma só vez, n 
 vezes o programa, uma para cada conjunto. 
 D) Executar o programa, instrução a instrução, do seu início ao fim. 
 E) Compilar seletivamente o programa, gerando o código executável somente com as 
 partes que realmente serão executadas. 
 CORRETA: A 
 ________________________________________________________________________ 
 17. Ao final do processo de desenvolvimento, com todos os testes executados com 
 sucesso e melhorias de performance implementadas, um aplicativo deve ser 
 empacotado para que possa ser distribuído. Para o ambiente Android, qual será o 
 programa utilizado na criação de uma versão para distribuição em um projeto do 
 tipo nativo? 
 A) Expo 
 B) gradlew 
 C) Expo Client 
 D) XCode 
 E) keytool 
 CORRETA: B 
 ________________________________________________________________________ 
 18. Os padrões de desenvolvimento são muito úteis na construção de sistemas 
 complexos, pois permitem o reuso de soluções para problemas já conhecidos no 
 desenvolvimento de softwares, com modelos padronizados, que recebem um nome, 
 descrição geral acerca de objetivos, contexto de utilização e restrições. Qual 
 padrão busca simplificar a utilização de subsistemas complexos? 
 A) Composite 
 B) Facade 
 C) Flyweight 
 D) Proxy 
 E) Template Method 
 CORRETA: B 
 ________________________________________________________________________ 
 19. Em relação ao ambiente de programação para dispositivos móveis, marque a 
 alternativa verdadeira. 
 A) Para testar aplicativos Android, é necessário ter um dispositivo móvel que utilize tal 
 sistema operacional. 
 B) O Android Studio é a única IDE que pode ser usada para a codificação de aplicativos 
 em React Native. 
 C) É 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. 
 D) 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. 
 E) 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. 
 CORRETA: C 
 ________________________________________________________________________ 
 20. 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. 
 A) npx init expo-cli 
 B) npm install expo-cli local 
 C) local install expo-cli 
 D) npm install expo-cli 
 E) install expo-cli 
 CORRETA: D 
 ________________________________________________________________________ 
 21. O Stack Navigator permite criar uma ''pilha de telas''. Em relação a seu modelo 
 de navegação, é correto afirmar: 
 A) Após navegar para determinada tela, não é possível voltar à tela anterior sem antes 
 recarregar todo o aplicativo. 
 B) As opções de navegaçãoficam dispostas em um menu, que, por padrão, fica 
 escondido à esquerda da tela. 
 C) 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''. 
 D) Os botões de navegação nesse modelo ficam, por padrão, alocados na parte inferior 
 da tela. 
 E) A navegação no modelo Stack Navigator é realizada apenas por meio do botão de 
 voltar no topo da tela. 
 CORRETA: C 
 ________________________________________________________________________ 
 22. 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. 
 A) 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. 
 B) O componente Button é o que possui a melhor capacidade de ser estilizado, o que 
 permite a alteração completa de sua aparência. 
 C) 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. 
 D) 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. 
 E) 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. 
 CORRETA: C 
 ________________________________________________________________________ 
 23. Observe o fragmento de código apresentado a seguir, parte de um aplicativo 
 criado na plataforma React Native. 
 | openDatabase({name: "Escola.db", location:"default"}).then( 
 | (db) => db.transaction( 
 | (tx) => tx.executeSql( 
 | " INSERT INTO ALUNOS (MATRICULA, NOME) "+ 
 | " VALUES(?, ?)", 
 | [120076,"Luiz Paulo"]) 
 | ) 
 | ); 
 Qual será o resultado da execução desse trecho de código? 
 A) 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. 
 B) 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''. 
 C) 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. 
 D) 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. 
 E) 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. 
 CORRETA: C 
 ________________________________________________________________________ 
 24. 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? 
 A) Google Big Quey 
 B) Hbase 
 C) SQL Lite 
 D) Neo4J 
 E) MongoDB 
 CORRETA: E 
 ________________________________________________________________________ 
 25. Assinale, dentre as opções abaixo, a alternativa que representa o conjunto de 
 elementos normalmente presentes em requisições realizadas com controle de 
 acesso utilizando o framework OAuth2: 
 A) Usuário, senha, e-mail; 
 B) LDAP, HTTPS, SSL; 
 C) Chave Privada, Chave Pública, Aplicativo Cliente, Servidor Aplicação. 
 D) Aplicativo cliente, Servidor de Recurso externo/API, Servidor de autorização, Token; 
 E) SSO, Servidor de Criptografia, Algoritmo Criptografia; 
 CORRETA: D 
 ________________________________________________________________________ 
 26. No contexto do modelo Offline First, uma interface otimista pode ser definida 
 como uma interface que: 
 A) Forneça elementos de interação que deem ao usuário a sensação de que a aplicação 
 realizou uma tarefa que dependa de recursos remotos, mesmo sem que tal comunicação 
 já tenha sido concluída. 
 B) Funcione da mesma forma quando o dispositivo esteja ou não conectado à internet. 
 C) Implementa recursos de acessibilidade. 
 D) Possui elementos de interação, como títulos de botões e textos que contenham frases 
 amigáveis, utilizados como resposta a requisições feitas a recursos remotos. 
 E) Seja agradável de utilizar, possuindo um conjunto de cores e elementos visuais que 
 chamem a atenção do usuário. 
 CORRETA: A 
 ________________________________________________________________________ 
 27. 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? 
 A) 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. 
 B) Não é possível trabalhar com o algoritmo AES no React Native, pois a biblioteca 
 CryptoJS não fornece um gestor apropriado para ele. 
 C) É 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. 
 D) Basta invocar a classe Base64, pois os valores já são codificados no formato AES. 
 E) Precisamos utilizar o método digestStringAsync, fornecendo chave AES e IV, tanto 
 para a criptografia quanto para a recuperação da informação. 
 CORRETA: A 
 ________________________________________________________________________ 
 28. 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? 
 A) componente mock 
 B) modificador async 
 C) função test 
 D) operador toEqual 
 E) função expect 
 CORRETA: A

Outros materiais