Buscar

Simulado 2 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS 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 6 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 6 páginas

Prévia do material em texto

1a 
 Questão 
Acerto: 1,0 / 1,0 
 
Em relação ao ambiente de programação para dispositivos móveis, marque a 
alternativa verdadeira. 
 
 
Para testar aplicativos Android, é necessário ter um dispositivo móvel que 
utilize tal sistema operacional. 
 
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. 
 
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. 
 É 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. 
 
O Android Studio é a única IDE que pode ser usada para a codificação de 
aplicativos em React Native. 
 
 
Explicação: 
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. 
 
 
2a 
 Questão 
Acerto: 1,0 / 1,0 
 
A linguagem utilizada no framework React Native é a JSX. A respeito dela, podemos 
afirmar que... 
 
 
JSX é, a exemplo do HTML, uma linguagem composta apenas por tags pré-
definidas. 
 
JSX é uma linguagem composta apenas por tags, sejam elas pré-definidas, 
como no HTML, ou criadas pelo desenvolvedor, como no XML. 
 
A linguagem JSX é uma especificação da linguagem XML destinada à criação 
de aplicativos mobile. 
 
Essa linguagem é interpretada diretamente pelos navegadores web tanto em 
dispositivos móveis quanto em desktops. 
 JSX é uma sintaxe de extensão da linguagem JavaScript que possui 
familiaridade com a XML. Tal linguagem combina a lógica de componentes 
presente no JS e o mark-up DOM em um único código. 
 
 
Explicação: 
A resposta certa é: JSX é uma sintaxe de extensão da linguagem JavaScript que possui 
familiaridade com a XML. Tal linguagem combina a lógica de componentes presente no JS 
e o mark-up DOM em um único código. 
 
 
3a 
 Questão 
Acerto: 1,0 / 1,0 
 
Há três principais modelos de navegação disponíveis em React Native. Sobre esses 
modelos e sua utilização em conjunto, aponte a alternativa verdadeira. 
 
 
Não é possível combinar a utilização desses três modelos, sendo necessário 
utilizar apenas um deles. 
 É possível utilizar um ou mais modelos de navegação em conjunto em um 
aplicativo mobile. Para isso, os containers de cada modelo de navegação 
deverão ser inseridos, no atributo ''component'', na definição dos itens 
(screens) de outro modelo. 
 
Para combinar diferentes tipos de navegação devemos inserir a quantidade 
correspondente do container ''NavigationContainer'' no ponto de entrada de 
nosso aplicativo. 
 
A combinação entre os três modelos é feita por meio de propriedades 
específicas e com a única finalidade de linkar diferentes modelos de 
navegação. 
 
É possível combinar diferentes modelos de navegação em um mesmo 
aplicativo. Para isso, basta codificar cada modelo no mesmo script em que as 
telas/screens são definidas e, em seguida, importar esses modelos para o 
ponto de entrada da aplicação. 
 
 
Explicação: 
A resposta certa é: É possível utilizar um ou mais modelos de navegação em conjunto em 
um aplicativo mobile. Para isso, os containers de cada modelo de navegação deverão ser 
inseridos, no atributo ''component'', na definição dos itens (screens) de outro modelo. 
 
 
 
 
4a 
 Questão 
Acerto: 1,0 / 1,0 
 
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. 
 
 
sections 
 
data 
 
renderItem 
 renderSectionHeader 
 
keyExtractor 
 
 
Explicação: 
A resposta certa é: renderSectionHeader 
 
 
5a 
 Questão 
Acerto: 1,0 / 1,0 
 
Observe o fragmento de código apresentado a seguir, parte de um aplicativo criado 
na plataforma React Native. 
 
 
Qual será o resultado da execução desse trecho de código? 
 
 
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. 
 
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. 
 
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''. 
 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. 
 
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. 
 
 
Explicação: 
A resposta certa é: 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. 
 
 
6a 
 Questão 
Acerto: 1,0 / 1,0 
 
Analise as afirmativas acerca da programação assíncrona no React Native: 
I - O retorno de uma função assíncrona deve ser um objeto da classe Promise. 
II - Uma função assíncrona deve ser definida com o uso da palavra await. 
III - Utilizando o operador then, o retorno da função assíncrona é repassado para o 
fluxo seguinte após o término de sua execução. 
 
 
Somente a III está correta. 
 
Somente a I está correta. 
 
Somente a II está correta. 
 
Todas as afirmativas estão corretas. 
 Somente I e III estão corretas. 
 
 
Explicação: 
A resposta certa é: Somente I e III estão corretas. 
 
 
 
 
7a 
 Questão 
Acerto: 1,0 / 1,0 
 
A utilização de conteúdo externo, disponível através de APIs de terceiros, ou de 
nossas próprias APIs, permite incrementar as funcionalidades disponíveis em um 
aplicativo mobile. Dentre os recursos disponíveis em React Native para a realização 
dessa comunicação, podemos afirmar: 
 
 
Os dados transferidos precisam ser criptografados no aplicativo, já que não 
podem transitar sobre conexões seguras. 
 
Novas bibliotecas precisam ser instaladas para permitir que nosso aplicativo 
se comunique com outras APIs. 
 
As requisições entre o aplicativo e o servidor remoto utilizam um protocolo 
proprietário. 
 O framework React Native dispõe de recursos nativos para a realização de 
conexão remota. 
 
As requisições realizadas são sempre, e somente, síncronas. 
 
 
Explicação: 
No React Native está disponível, nativamente, um componente que permite a conexão com 
recursos remotos, o Fetch API. 
 
 
8a 
 Questão 
Acerto: 1,0 / 1,0 
 
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: 
 
 Aplicativo cliente, Servidor de Recurso externo/API, Servidor de autorização, 
Token; 
 
SSO, Servidor de Criptografia, Algoritmo Criptografia; 
 
Usuário, senha, e-mail; 
 
Chave Privada, Chave Pública, Aplicativo Cliente, Servidor Aplicação. 
 
LDAP, HTTPS, SSL; 
 
 
Explicação: 
O token é uma credencial de acesso obtida a partir de um servidor de autorização. O cliente 
que realiza uma requisição e do outro lado temos o Servidor que recebe, processa e 
devolve uma resposta. 
 
 
9a 
 Questão 
Acerto: 1,0 / 1,0 
 
Técnicas formais para 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? 
 
 
deadlock 
 
starvation 
 
promise rejection 
 
format exception 
 memory leak 
 
 
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. 
 
 
10a 
 Questão 
Acerto: 1,0 / 1,0 
 
De forma geral, o resultado de um processo criptográfico é uma sequência binária, 
que apresenta dificuldades relacionadas à persistência e transmissão em rede, 
requerendo uma transformação para o formato texto. Qual algoritmo é tipicamente 
utilizado na conversão? 
 
 
MD5 
 
SHA1 
 
Runge-Kutta 
 Base64 
 
Euler 
 
 
Explicação: 
A codificação por meio do algoritmo Base64 permite a transformação do vetor de elementos 
binários em uma sequência de texto, o que elimina valores nulos, ou zeros, os quais 
causariam problemas relacionados à persistência e transmissão de dados. Não se trata de 
um algoritmo criptográfico, mas de uma codificação, pois a transformação não requer a 
utilização de uma chave.

Outros materiais