Buscar

2401-PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

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 10 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 10 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 10 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

· Pergunta 1
1 em 1 pontos
	
	
	
	O Redux-Saga é uma biblioteca que, junto com o Redux, permite que possamos compartilhar os estados entre vários componentes. Pensando em um aplicativo que utiliza essa biblioteca, que precise buscar uma informação na internet e compartilhá-la com vários componentes, qual o melhor fluxo a ser seguido:
	
	
	
	
		Resposta Selecionada:
	c. 
O aplicativo, no primeiro componente, deve chamar uma action que por sua vez, chamará um Saga para realizar a conexão. Após finalizar a conexão, o Saga mandará a informação para o reducer que, por fim, distribuirá a informação entre os componentes.
	Respostas:
	a. 
O aplicativo, no primeiro componente, deve chamar uma reducer que por sua vez, chamará um Saga para realizar a conexão. Após finalizar a conexão, o Saga mandará a informação para o action que, por fim, distribuirá a informação entre os componentes.
	
	b. 
O aplicativo, no primeiro componente, deve chamar uma action que por sua vez, chamará um Saga para realizar a conexão. Após finalizar a conexão, o Saga chamará uma action que mandará a informação para o reducer que, por fim, distribuirá a informação entre os componentes.
	
	c. 
O aplicativo, no primeiro componente, deve chamar uma action que por sua vez, chamará um Saga para realizar a conexão. Após finalizar a conexão, o Saga mandará a informação para o reducer que, por fim, distribuirá a informação entre os componentes.
	
	d. 
O aplicativo, no primeiro componente, deve chamar um Saga para realizar a conexão. Após finalizar o Saga mandará a informação para o reducer que, por fim, distribuirá a informação entre os componentes.
	
	e. 
O aplicativo, no primeiro componente, deve chamar um action para realizar a conexão. Após finalizar a conexão, o action mandará a informação para o reducer que, por fim, distribuirá a informação entre os componentes.
	Comentário da resposta:
	Reposta correta: c) O aplicativo, no primeiro componente, deve chamar uma action que por sua vez, chamará um Saga para realizar a conexão. Após finalizar a conexão, o Saga mandará a informação para o reducer que, por fim, distribuirá a informação entre os componentes.
Todas as chamadas para os Sagas e os reducers devem ser realizadas através de uma action. Por isso, o fluxo da alternativa C está correta, pois sempre é chamado o action para distribuir a informação.
	
	
	
· Pergunta 2
1 em 1 pontos
	
	
	
	Quando estamos desenvolvendo em React Native, queremos criar uma tela que mostrará mais de 100 itens que o usuário inseriu. Para realizar essa função, responda: 
Quais seriam os componentes possíveis e, se houver mais de um, qual seria o mais indicado para esse caso?
	
	
	
	
		Resposta Selecionada:
	b. 
O ScrollView e o Flatlist realizam a rolagem de elementos, porém o ScrollView carrega todos os elementos de uma única vez, enquanto o FlatList somente carrega os elementos que estão sendo visualizados na tela. Por este motivo, o FlatList é o mais indicado.
	Respostas:
	a. 
Somente o ScrollView permite a rolagem de elementos com barra de rolagem.
	
	b. 
O ScrollView e o Flatlist realizam a rolagem de elementos, porém o ScrollView carrega todos os elementos de uma única vez, enquanto o FlatList somente carrega os elementos que estão sendo visualizados na tela. Por este motivo, o FlatList é o mais indicado.
	
	c. 
O ScrollView e o Flatlist realizam a rolagem de elementos, porém o ScrollView carrega todos os elementos utilizando a tela inteira da tela, enquanto o FlatList somente carrega os elementos em uma área menor. Por este motivo, o ScrollView é o mais indicado.
	
	d. 
Somente o FlatList permite a rolagem de elementos com barra de rolagem.
	
	e. 
O ScrollView e o Flatlist realizam a rolagem de elementos, porém o ScrollView carrega somente elementos como View enquanto o FlatList todos os tipos de elementos. Por este motivo, o FlatList é o mais indicado.
	Comentário da resposta:
	Reposta correta: b) O ScrollView e o Flatlist realizam a rolagem de elementos, porém o ScrollView carrega todos os elementos de uma única vez, enquanto o FlatList somente carrega os elementos que estão sendo visualizados na tela. Por este motivo, o FlatList é o mais indicado.
Ambos realizam a rolagem de elementos, mas o ScrollView carrega todos os elementos. Então em uma lista com 100 itens, ele irá consumir muita memória. Já o FlatList carrega somente os itens que estão na tela, utilizando muito menos memória e, por isso, é o mais indicado.
	
	
	
· Pergunta 3
1 em 1 pontos
	
	
	
	Ao iniciarmos um novo projeto, qual é o melhor caminho que podemos tomar entre o Manage workflow e o Bare Workflow?
	
	
	
	
		Resposta Selecionada:
	a. 
Caso o desenvolvedor queira utilizar todo o recurso de gerenciamento do Expo CLI, a opção é o Manage Workflow.
	Respostas:
	a. 
Caso o desenvolvedor queira utilizar todo o recurso de gerenciamento do Expo CLI, a opção é o Manage Workflow.
	
	b. 
Caso o desenvolvedor queira todo o controle de desenvolvimento, mas não tenha o xCode e Android Studio instalado, a opção é o Manage Workflow.
	
	c. 
Caso o desenvolvedor queira todo o controle de desenvolvimento e tenha o xCode e Android Studio instalado, a opção é o Manage Workflow.
	
	d. 
Caso o desenvolver queira utilizar todo o recurso de gerenciamento do Expo CLI, a opção é o Bare Workflow.
	
	e. 
Caso o desenvolver queira utilizar todo o recurso de gerenciamento do React Native CLI, a opção é o Manage Workflow.
	Comentário da resposta:
	Resposta correta: a) Caso o desenvolvedor queira utilizar todo o recurso de gerenciamento do Expo CLI, a opção é o Manage Workflow.
O Manage workflow utiliza o Expo CLI que realiza o gerenciamento de toda a complexidade de criar aplicativos.
	
	
	
· Pergunta 4
1 em 1 pontos
	
	
	
	Caso seja necessário você criar um objeto simples que possua 15 propriedades e uma dessas propriedades seja iniciada com um outro objeto, qual seria a melhor forma de declarar essa informação?
	
	
	
	
		Resposta Selecionada:
	d. 
Criar um objeto linear com as informações iniciais dessas propriedades cujo conteúdo será inserido diretamente em uma variável.
	Respostas:
	a. 
Criar uma classe em um arquivo separado que será inicializada utilizando o operador new.
	
	b. 
Criar uma classe dentro do próprio arquivo que será inicializada utilizando o operador new.
	
	c. 
Criar um objeto linear em um arquivo separado com as informações iniciais e iniciar esse objeto com o operador new.
	
	d. 
Criar um objeto linear com as informações iniciais dessas propriedades cujo conteúdo será inserido diretamente em uma variável.
	
	e. 
Criar um objeto linear com as informações iniciais e iniciar esse objeto com o operador new.
	Comentário da resposta:
	Resposta correta: d) Criar um objeto linear com as informações iniciais dessas propriedades cujo conteúdo será inserido diretamente em uma variável.
Apesar do número grande de propriedades, como esse objeto não possui métodos, o ideal é utilizar a declaração de objeto linear. E objetos lineares são inseridos diretamente em uma variável.
	
	
	
· Pergunta 5
1 em 1 pontos
	
	
	
	Ao desenvolver um aplicativo que irá mostrar todo o catálogo de produtos de uma empresa em 3-D e será necessário realizar uma animação desses produtos, qual é o melhor tipo de linguagem a ser escolhida?
	
	
	
	
		Resposta Selecionada:
	b. 
A linguagem nativa pela sua performance em aplicativo pesados.
	Respostas:
	a. 
A linguagem Hybrid-WEB pela sua facilidade de desenvolvimento.
	
	b. 
A linguagem nativa pela sua performance em aplicativo pesados.
	
	c. 
A linguagem Hybrid-Native por ter um único código para diversas plataformas.
	
	d. 
A linguagem Hybrid-WEB pela sua performance.
	
	e. 
A linguagem Hybrid-Native apesar de ter um código para cada ambiente.
	Comentário da resposta:
	Reposta correta: b) A linguagem nativa pela sua performance em aplicativo pesados.
Como o aplicativo vai exigir uma grande performance para rodar o conteúdo e animações 3-D, o mais indicado nesses casos é utilizar o aplicativo nativo.· Pergunta 6
1 em 1 pontos
	
	
	
	O React-Redux possui alguns componentes que ajudam no compartilhamento de estados. Analisando o código abaixo, qual a melhor explicação para o ponto 1 e para o ponto 2 do código:
const loginLoading = useSelector((state) => state.auth.loginLoading); //Ponto 1
const dispatch = useDispatch();
dispatch(login(loginInfo, passInfo)); //Ponto 2
	
	
	
	
		Resposta Selecionada:
	b. 
Ponto 1: coleta a informação e monitora mudanças da variável loginLoading no módulo auth.
Ponto 2: chama a action login, passando por parâmetros o logInfo e passInfo.
	Respostas:
	a. 
Ponto 1: coleta a informação da variável loginLoading no módulo auth 
Ponto 2: chama a action login, passando por parâmetros o logInfo e passInfo.
	
	b. 
Ponto 1: coleta a informação e monitora mudanças da variável loginLoading no módulo auth.
Ponto 2: chama a action login, passando por parâmetros o logInfo e passInfo.
	
	c. 
Ponto 1: coleta a informação e monitora mudanças da variável loginLoading no módulo auth.
Ponto 2: chama a função login, passando por parâmetros o logInfo e passInfo.
	
	d. 
Ponto 1: coleta a informação da variável loginLoading no módulo auth 
Ponto 2: chama a função login, passando por parâmetros o logInfo e passInfo.
	
	e. 
Ponto 1: coleta a informação da variável loginLoading no módulo auth 
Ponto 2: cancela a chamada da função login, clicada anteriormente.
	Comentário da resposta:
	Resposta correta: b) 
Ponto 1: coleta a informação e monitora mudanças da variável loginLoading no módulo auth.
Ponto 2: chama a action login, passando por parâmetros o logInfo e passInfo.
O useSelect recebe a infomação inicial e monitora caso ocorra alguma mudança da variável no reducer. Já o dispatch é utilizado para realizar chamados das actions no Redux.
	
	
	
· Pergunta 7
1 em 1 pontos
	
	
	
	Uma das grandes diferenças do React para as outras linguagens são os states.
Utilizados em diversas áreas do código, quais as suas principais funções?
	
	
	
	
		Resposta Selecionada:
	c. 
Armazenar uma informação durante todo ciclo de vida do componente e realizar uma nova renderização quando seu valor é alterado.
	Respostas:
	a. 
 Receber aviso sobre as mudanças dos valores de uma determinada variável.
	
	b. 
Armazenar uma informação durante todo ciclo de vida do componente, mas não renderiza a tela quando seu valor é alterado.
	
	c. 
Armazenar uma informação durante todo ciclo de vida do componente e realizar uma nova renderização quando seu valor é alterado.
	
	d. 
Armazena a instância de um objeto para enviar a outro componente.
	
	e. 
Armazena as informações somente enquanto o componente realiza a renderização.
	Comentário da resposta:
	Resposta correta: c) Armazenar uma informação durante todo ciclo de vida do componente e realizar uma nova renderização quando seu valor é alterado.
Os states armazenam as informações durante o ciclo de vida de um componente e força uma nova renderização caso o seu valor seja alterado.
	
	
	
· Pergunta 8
1 em 1 pontos
	
	
	
	Analisando o código a seguir, temos uma classe em Javascript com algumas propriedades privadas e outras públicas. 
 
Qual será o resultado obtido no console do debug utilizando o comando console.log? 
	
	
	
	
		Resposta Selecionada:
	e. 
O aplicativo rodará sem nenhum erro e serão exibidos no console os valores 1 e undefined, porque a propriedade fechar é privada.
	Respostas:
	a. 
O aplicativo rodará sem nenhum erro e serão exibidos no console os valores 1 e 0.
	
	b. 
O aplicativo apresentará erro porque o caractere # não é reconhecido pelo Javascript.
	
	c. 
O aplicativo apresentará erro porque faltou o caractere # na propriedade abrir.
	
	d. 
O aplicativo rodará sem nenhum erro e serão exibidos no console os valores undefined e 0, porque a propriedade abrir é privada.
	
	e. 
O aplicativo rodará sem nenhum erro e serão exibidos no console os valores 1 e undefined, porque a propriedade fechar é privada.
	Comentário da resposta:
	Resposta correta: e) O aplicativo rodará sem nenhum erro e serão exibidos no console os valores 1 e undefined, porque a propriedade fechar é privada.
O caractere # informa que a propriedade fechar é privada e, por isso, ao tentar acessar a informação, será exibido no console o valor undefined.
	
	
	
· Pergunta 9
1 em 1 pontos
	
	
	
	O React Navigation permite que uma tela possa compartilhar informações de um componente original para o componente que será inicializado.
Com base nessa funcionalidade, quais dos códigos abaixo é a maneira correta de realizar essa troca de informação?
	
	
	
	
		Resposta Selecionada:
	c. 
navigation.navigate('Screen2', {info: 2}).
	Respostas:
	a. 
navigation.open('Screen2', {info: 2}).
	
	b. 
navigation.open(<Screen2 info=2 />).
	
	c. 
navigation.navigate('Screen2', {info: 2}).
	
	d. 
navigation.navigate(<Screen2 info=2 />).
	
	e. 
navigation.open(['Screen2', info: 2]).
	Comentário da resposta:
	Resposta correta: c) navigation.navigate('Screen2', {info: 2}).
O comando para navegar entre as telas é o navigate e os parâmetros desse componente são nome da tela de acordo com o declarado no React Navigation e o objeto com as informações a serem passadas.
	
	
	
· Pergunta 10
1 em 1 pontos
	
	
	
	O Redux-Saga é muito utilizado para gerenciar o controle das conexões com APIs e banco de dados internos e compartilhar a informação com os componentes. Analisando o código abaixo, qual a melhor explicação para os pontos 1, 2 e 3.
        //Ponto 1
        const address = yield select(state => state.address.address);
        //Ponto 2
        yield put(loginStart());
        //Ponto 3
        const dataReturn = yield call(FakerServices.get, 'persons?_quantity=1');
	
	
	
	
		Resposta Selecionada:
	e. 
Ponto 1: busca a informação da variável address no reducer do módulo address;
Ponto 2: chama a action loginStart e aguarda a execução;
Ponto 3: realiza a chamada do FakerServices e, ao terminar a conexão, retorna os dados da API.
	Respostas:
	a. 
Ponto 1: monitora a informação da variável address no reducer do módulo address;
Ponto 2: chama a função loginStart declarada nesse componente;
Ponto 3: realiza a chamada do FakerServices e, ao terminar a conexão, retorna os dados da API.
	
	b. 
Ponto 1: monitora a informação da variável address no reducer do módulo address;
Ponto 2: chama a função loginStart declarada nesse componente;
Ponto 3: realiza a chamada do FakerServices e, ao terminar a conexão, retorna o http code da conexão.
	
	c. 
Ponto 1: busca a informação da variável address no reducer do módulo address;
Ponto 2: chama a função loginStart declarada nesse componente;
Ponto 3: realiza a chamada do FakerServices e, ao terminar a conexão, retorna os dados da API.
	
	d. 
Ponto 1: busca a informação da variável address no reducer do módulo address;
Ponto 2: chama a action loginStart e aguarda a execução;
Ponto 3: realiza a chamada do FakerServices e, ao terminar a conexão, retorna o http code da conexão.
	
	e. 
Ponto 1: busca a informação da variável address no reducer do módulo address;
Ponto 2: chama a action loginStart e aguarda a execução;
Ponto 3: realiza a chamada do FakerServices e, ao terminar a conexão, retorna os dados da API.
	Comentário da resposta:
	Resposta correta: e)  
Ponto 1: busca a informação da variável address no reducer do módulo address;
Ponto 2: chama a action loginStart e aguarda a execução;
Ponto 3: realiza a chamada do FakerServices e, ao terminar a conexão, retorna os dados da API.
O select é utilizado para buscar a informação no reducer, já o put é utilizado para chamar o action e o call realiza uma função e, após o término, retorna o andamento do componente, trazendo o retorno da API.

Outros materiais