Prévia do material em texto
Local: Sala 1 - Paralela - Prova On-line / Andar / Polo Paralela - Prédio I / EAD - UNIDADE PARALELA
Acadêmico: 030TDS5AM
Aluno: TÂMARA DE OLIVEIRA GONÇALVES
Avaliação: A2
Matrícula: 203002159
Data: 16 de Setembro de 2021 - 08:00 Finalizado
Correto Incorreto Anulada Discursiva Objetiva Total: 1,70/10,00
1 Código: 36740 - Enunciado: Um projeto de desenvolvimento de uma aplicação para dispositivos móveis
precisa definir uma interface gráfica para entrada dos seguintes atributos, sabendo-se que os valores
não possuem valores predeterminados:- CR (média de notas do aluno).- Nome do aluno.- Tipo de curso
(presencial ou EaD).- Possui conhecimento de língua estrangeira?
A criação da interface gráfica deverá utilizar um determinado grupo de componentes. Analise as opções
de conjuntos de componentes a seguir e selecione aquela que atenderá corretamente às necessidades
do projeto de interface.
a) Deverão ser utilizadas duas caixas de textos (EditText) e quatro botões de rádio (RadioButton).
b) Deverão ser utilizadas uma caixa de textos (EditText), uma caixa de números (EditNumber), dois
botões de rádio (RadioButton) e uma caixa de seleção (CheckBox).
c) Deverão ser utilizadas duas caixas de textos (EditText), dois botões de rádio (RadioButton) e uma
caixa de seleção (CheckBox).
d) Deverão ser utilizadas uma caixa de textos (EditText), uma caixa de números (EditNumber), um
botão de rádio (RadioButton) e uma caixa de seleção (CheckBox).
e) Deverão ser utilizadas duas caixas de textos (EditText), um botão de rádio (RadioButton) e uma
caixa de seleção (CheckBox).
Alternativa marcada:
d) Deverão ser utilizadas uma caixa de textos (EditText), uma caixa de números (EditNumber), um botão
de rádio (RadioButton) e uma caixa de seleção (CheckBox).
Justificativa: Resposta correta: Deverão ser utilizadas duas caixas de textos (EditText), dois botões de
rádio (RadioButton) e uma caixa de seleção (ChechBox).Para a entrada de dados de texto ou de números
(CR e nome do aluno) o correto é a utilização de duas caixas de texto (EditText). Para as opções do tipo
de curso, como são duas opções, mas sem uma pergunta do tipo Sim ou Não, deverão ser utilizados dois
botões de rádio, uma para a opção “Presencial” e outra para a opção “EaD”. Já para o conhecimento de
língua estrangeira, temos uma pergunta e a resposta é do tipo Sim ou Não, deve ser utilizado uma caixa
de seleção (CheckBox). Distratores:Deverão ser utilizadas duas caixas de textos (EditText), um botão de
rádio (RadioButton) e uma caixa de seleção (CheckBox). Errada. Devemos usar duas caixas de texto
(EditText), dois botões de rádio, um para cada opção do tipo de curso (Presencial ou EaD), e não apenas
um, além de uma caixa de seleção (CheckBox) para o conhecimento de língua estrangeira, temos uma
pergunta e a resposta é do tipo Sim ou Não.Deverão ser utilizadas uma caixa de textos (EditText), uma
caixa de números (EditNumber), dois botões de rádio (RadioButton) e uma caixa de seleção (ChechBox).
Errada. Não temos um componente específico para a digitação de valores, devemos usar uma caixa de
texto e converter o texto (digitado em numérico) em um tipo de dado numérico.Deverão ser utilizadas
uma caixa de textos (EditText), uma caixa de números (EditNumber), um botão de rádio (RadioButton) e
uma caixa de seleção (ChechBox). Errada. Não temos um componente específico para a digitação de
valores, devemos usar uma caixa de texto e converter o texto (digitado em numérico) em um tipo de
dado numérico, além disso, são necessários dois botões de rádio, um para cada opção do tipo de
curso.Deverão ser utilizadas duas caixas de textos (EditText) e quatro botões de rádio (RadioButton).
Errada. Não devemos utilizar botões de rádio para perguntas do tipo Sim ou Não, a caixa de seleção
criada é usada intuitivamente para esse propósito.
0,00/ 1,00
2 Código: 36741 - Enunciado: No desenvolvimento de projetos de aplicações para dispositivos móveis, a
utilização de intentes (Intent) para acessar outros recursos do Android serve para diferentes propósitos.
Como visto, a Intent é um objeto para troca de mensagens em aplicações móveis. Por meio do uso de
Intents, é possível solicitar a execução de um outro componente do aplicativo ou de outra
aplicação.Analise as opções a seguir e selecione aquela que apresenta as três maneiras pelas quais as
Intents são utilizadas normalmente:
0,50/ 0,50
a) Iniciar uma View (tela), um serviço ou uma transmissão (troca de mensagens).
b) Iniciar uma atividade, um serviço ou um acesso a banco de dados.
c) Iniciar uma atividade, um serviço ou uma transmissão (troca de mensagens).
d) Iniciar uma atividade, uma transmissão (troca de mensagens) ou um acesso a banco de dados.
e) Iniciar uma View (tela), uma transmissão (troca de mensagens) ou um acesso a banco de dados.
Alternativa marcada:
c) Iniciar uma atividade, um serviço ou uma transmissão (troca de mensagens).
Justificativa: Resposta correta: Iniciar uma atividade, um serviço ou uma transmissão (troca de
mensagens).Uma intente (Intent) pode iniciar uma nova atividade, que pode conter uma nova tela
(View), um serviço do Android que pode executar em segundo plano ou uma transmissão, realizando a
troca de mensagens entre diferentes aplicativos.
Distratores:Iniciar uma atividade, um serviço ou um acesso a banco de dados. Incorreta. Um acesso a
banco de dados é realizado a partir de um serviço, que pode ser local ou remoto. Uma intente (Intent)
também é utilizada para a iniciação de serviços, que podem ser executados em segundo plano pelo
sistema operacional.Iniciar uma View (tela), uma transmissão (troca de mensagens) ou um acesso a
banco de dados. Incorreta. A inicialização de uma View pode ser realizada a qualquer momento, apenas
alterando o contexto para a nova View. Uma atividade é composta não apenas pela View, mas também
por uma Controller própria, que são iniciadas em conjunto quando iniciamos a atividade. Um acesso a
banco de dados é realizado a partir de um serviço, que pode ser local ou remoto.Iniciar uma atividade,
uma transmissão (troca de mensagens) ou um acesso a banco de dados. Incorreta. Um acesso a banco
de dados é realizado a partir de um serviço, que pode ser local ou remoto.Iniciar uma View (tela), um
serviço ou uma transmissão (troca de mensagens). Incorreta. A inicialização de uma View pode ser
realizada a qualquer momento, apenas alterando o contexto para a nova View. Uma atividade é
composta não apenas pela View, mas também por uma Controller própria, que são iniciadas em
conjunto quando iniciamos a atividade.
3 Código: 36604 - Enunciado: Usando o modelo MVC, é importante realizar o relacionamento entre os
componentes da tela (View) e da codificação (Controler) de um aplicativo móvel para o Android. Observe
a tabela de relacionamento a seguir:
Sabe-se que os componentes já foram declarados, os relacionamentos realizados e as bibliotecas já
foram importadas. A aplicação precisa calcular a área do triângulo ou do retângulo e, para isso, as
fórmulas são:Área do triângulo = Área do retângulo = Analise as opções a seguir e assinale a que faz
corretamente a criação dos métodos para obter os dados, identificar a ação de cálculo e apresentar o
resultado:
a) public void calcularArea(View v){double base, altura, area;base =
Double.parseDouble(edt1.getText().toString());altura =
Double.parseDouble(edt2.getText().toString());if(rd1.isChecked()){area = base * altura / 2;} else
{area = base * altura;}edt3.setText(String.valueOf(area));}
b) public void calcularArea(View v){double base, altura, area;base =
Double.parseDouble(edt1.getText().toString());altura =
Double.parseDouble(edt2.getText().toString());if(rd1.isChecked()){area = base * altura;} else {area
= base * altura / 2;}edt3.setText(String.valueOf(area));}
c) public void bt1.onClick(View v){double base, altura, area;base =
Double.parseDouble(edt1.getText().toString());altura =
Double.parseDouble(edt2.getText().toString());if(rd1.isChecked()){area = base* altura;} else {area
= base * altura / 2;}edt3.setText(String.valueOf(area));}
d) public void bt1.onClick(View v){double base, altura, area;base =
Double.parseDouble(edt1.getText().toString());altura =
Double.parseDouble(edt2.getText().toString());if(rd1.isChecked()){area = base * altura / 2;} else
{area = base * altura;}edt3.setText(String.valueOf(area));}
e) public void button1.onClick(View v){double base, altura, area;base =
Double.parseDouble(edt1.getText().toString());altura =
Double.parseDouble(edt2.getText().toString());if(rd1.isChecked()){area = base * altura / 2;} else
{area = base * altura;}edt3.setText(String.valueOf(area));}
0,00/ 1,00
Alternativa marcada:
b) public void calcularArea(View v){double base, altura, area;base =
Double.parseDouble(edt1.getText().toString());altura =
Double.parseDouble(edt2.getText().toString());if(rd1.isChecked()){area = base * altura;} else {area
= base * altura / 2;}edt3.setText(String.valueOf(area));}
Justificativa: Resposta correta:public void calcularArea(View v){double base, altura, area;base =
Double.parseDouble(edt1.getText().toString());altura =
Double.parseDouble(edt2.getText().toString());if(rd1.isChecked()){area = base * altura / 2;} else {area =
base * altura;}edt3.setText(String.valueOf(area));} O nome do método está correto em função da
propriedade onClick do componente de tela (View) button1. A identificação do cálculo da área também
está correta, realizando o cálculo da área do triângulo se o botão de rádio rd1 for
selecionado. Distratores: public void calcularArea(View v){double base, altura, area;base =
Double.parseDouble(edt1.getText().toString());altura =
Double.parseDouble(edt2.getText().toString());if(rd1.isChecked()){area = base * altura;} else {area = base
* altura / 2;}edt3.setText(String.valueOf(area));}O nome do método está correto em função da
propriedade onClick do componente de tela (View) button1, mas a identificação do cálculo da área não
está correta, pois está realizando o cálculo da área do retângulo se o botão de rádio rd1 for selecionado,
e não para botão de rádio rd2.
public void bt1.onClick(View v){double base, altura, area;base =
Double.parseDouble(edt1.getText().toString());altura =
Double.parseDouble(edt2.getText().toString());if(rd1.isChecked()){area = base * altura;} else {area = base
* altura / 2;}edt3.setText(String.valueOf(area));}O nome do método não está correto em função da
propriedade onClick do componente de tela (View) button1, pois o método deveria se chamar
calcularArea e não bt1.onclick, além disso, a identificação do cálculo da área também não está correta,
pois está realizando o cálculo da área do retângulo se o botão de rádio rd1 for selecionado, e não para
botão de rádio rd2.
public void button1.onClick(View v){double base, altura, area;base =
Double.parseDouble(edt1.getText().toString());altura =
Double.parseDouble(edt2.getText().toString());if(rd1.isChecked()){area = base * altura / 2;} else {area =
base * altura;}edt3.setText(String.valueOf(area));}O nome do método não está correto em função da
propriedade onClick do componente de tela (View) button1, pois o método deveria se chamar
calcularArea, e não button1.onclick. Já a identificação do cálculo da área está correta, realizando o
cálculo da área do triângulo se o botão de rádio rd1 for selecionado.
public void bt1.onClick(View v){double base, altura, area;base =
Double.parseDouble(edt1.getText().toString());altura =
Double.parseDouble(edt2.getText().toString());if(rd1.isChecked()){area = base * altura / 2;} else {area =
base * altura;}edt3.setText(String.valueOf(area));}O nome do método não está correto em função da
propriedade onClick do componente de tela (View) button1, pois o método deveria se chamar
calcularArea, e não bt1.onclick. Já a identificação do cálculo da área está correta, realizando o cálculo da
área do triângulo se o botão de rádio rd1 for selecionado.
4 Código: 36810 - Enunciado: Você faz parte da equipe de desenvolvimento de uma empresa que está
fazendo uma aplicação móvel para o sistema operacional Android. A aplicação deverá armazenar o
nome e um conjunto de notas (A1, A2 e A3) de cinco disciplinas de um semestre. A aplicação deverá
trabalhar com as notas de apenas um aluno.Avalie as necessidades da aplicação e selecione a opção que
apresenta a forma adequada para armazenar e recuperar os dados da aplicação e o método do ciclo de
vida da atividade que seja adequado para realizar a carga dos dados:
a) Deve-se usar um arquivo de preferências para o armazenamento e recuperação dos dados e
recuperar os dados ao executar o método onCreate().
b) Deve-se usar um arquivo local para o armazenamento e recuperação dos dados e recuperar os
dados ao executar o método onCreate().
c) Deve-se usar um arquivo local para o armazenamento e recuperação dos dados e recuperar os
dados ao executar o método onRestart().
d) Deve-se usar um arquivo SQLite para o armazenamento e recuperação dos dados e recuperar os
dados ao executar o método onCreate().
0,00/ 1,50
e) Deve-se usar um arquivo de preferências para o armazenamento e recuperação dos dados e
recuperar os dados ao executar o método onRestart().
Alternativa marcada:
d) Deve-se usar um arquivo SQLite para o armazenamento e recuperação dos dados e recuperar os
dados ao executar o método onCreate().
Justificativa: Resposta correta: Deve-se usar um arquivo local para o armazenamento e recuperação
dos dados e recuperar os dados ao executar o método onCreate().Como são cinco disciplinas com três
notas cada, não é adequado o uso de um arquivo de preferências, que é usado para dados de
configuração da aplicação. O uso de um banco de dados é adequado quando temos uma quantidade
grande de dados e uma estrutura com mais de uma tabela, o que não é o caso. O método adequado para
a carga deve ser algum dos três iniciais (onCreate(), onStart() ou onResume(). O método onRestart() só
será executado após a aplicação carregar e retornando a atividade. Dessa forma, os dados só serão
carregados após o uso e o usuário não terá os dados disponíveis no início da aplicação.Distratores:
Deve-se usar um arquivo SQLite para o armazenamento e recuperação dos dados e recuperar os dados
ao executar o método onCreate(). Incorreta. Método correto, mas tipo de armazenamento
inadequado.Deve-se usar um arquivo local para o armazenamento e recuperação dos dados e recuperar
os dados ao executar o método onRestart(). Incorreta. Tipo de armazenamento adequado, mas método
de carregamento dos dados inadequado, pois os dados não estarão disponíveis no início do uso do
aplicativo.Deve-se usar um arquivo de preferências para o armazenamento e recuperação dos dados e
recuperar os dados ao executar o método onCreate(). Incorreta. Arquivos de preferência são adequados
para armazenamento de configurações dos aplicativos e para poucos dados. O uso do método
onCreate() é adequado, porque este é executado antes de a aplicação estar disponível para o
usuário.Deve-se usar um arquivo de preferências para o armazenamento e recuperação dos dados e
recuperar os dados ao executar o método onRestart(). Incorreta. Arquivos de preferência são adequados
para armazenamento de configurações dos aplicativos e para poucos dados, mas o método de
carregamento dos dados é inadequado, pois os dados não estarão disponíveis no início do uso do
aplicativo.
5 Código: 36758 - Enunciado: Uma aplicação para dispositivos móveis precisa chamar para execução o
recurso de envio de SMS, para o envio de uma mensagem. Para isso, devemos definir a chamada de uma
Intent para a realização da tarefa. Compare e avalie, dentre as opções a seguir, aquela que apresenta
corretamente a definição da Intent, envio dos dados (troca de mensagens entre as aplicações) e a
execução da Intent.
a) uri = Uri.parse(“sms: +5521900000001”); Intent(Intent. ACTION_VIEW, uri);
intent.putExtra(“sms_body”, “Corpo de conteúdo do SMS”); startActivity(intent);
b) uri = Uri.parse(“sms: +5521900000001”); Intent(Intent.ACTION_VIEW, uri);
intent.putExtra(“sms_body”,“Corpo de conteúdo do SMS”); initializeActivity(intent);
c) uri = Uri.parse(“sms: +5521900000001”); intent = new Intent(Intent. ACTION_VIEW, uri);
intent.getExtra(“sms_body”, “Corpo de conteúdo do SMS”); initializeActivity(intent);
d) uri = Uri.parse(“sms: +5521900000001”); intent = new Intent(Intent.ACTION_VIEW, uri);
intent.putExtra(“sms_body”, “Corpo de conteúdo do SMS”); startActivity(intent);
e) uri = Uri.parse(“sms: +5521900000001”); intent = new Intent(Intent.ACTION_VIEW, uri);
intent.getExtra(“sms_body”, “Corpo de conteúdo do SMS”); startActivity(intent);
Alternativa marcada:
b) uri = Uri.parse(“sms: +5521900000001”); Intent(Intent.ACTION_VIEW, uri);
intent.putExtra(“sms_body”, “Corpo de conteúdo do SMS”); initializeActivity(intent);
Justificativa: Resposta correta:- Na codificação a seguir, a Intent é instanciada, isso é necessário porque
uma Intent é um objeto; o dado é enviado através do método putExtra(), responsável pelo envio de
mensagens de uma aplicação para outra; por final o forma correta de executar uma atividade através de
um Intent é através do método startActivity(). uri = Uri.parse(“sms: +5521900000001”); intent = new
Intent(Intent.ACTION_VIEW, uri); intent.putExtra(“sms_body”, “Corpo de conteúdo do SMS”);
startActivity(intent); Distratores:- Na codificação a seguir, o envio dos dados através de mensagens de
uma aplicação para outra deve ser feita através do método putExtra(). Apesar das demais instruções
estarem corretas. uri = Uri.parse(“sms: +5521900000001”); intent = new Intent(Intent.ACTION_VIEW,
0,00/ 1,50
uri); intent.getExtra(“sms_body”, “Corpo de conteúdo do SMS”); startActivity(intent); - Na
codificação a seguir, o objeto da Intent não foi instanciado, como o Intent é uma classe, a mesma deve
ser instaciada para que o objeto criado partir dela possa ser utilizado; Além disso, o método para
executar uma Intent é o startActivity() e não o initializeActivity(). uri = Uri.parse(“sms:
+5521900000001”); Intent(Intent.ACTION_VIEW, uri); intent.putExtra(“sms_body”, “Corpo de
conteúdo do SMS”); initializeActivity(intent); - Na codificação a seguir, o envio dos dados através de
mensagens de uma aplicação para outra deve ser feita através do método putExtra(); Além disso, o
método para executar uma Intent é o startActivity() e não o initializeActivity(). uri = Uri.parse(“sms:
+5521900000001”); intent = new Intent(Intent. ACTION_VIEW, uri); intent.getExtra(“sms_body”,
“Corpo de conteúdo do SMS”); initializeActivity(intent); - Na codificação a seguir, o objeto da Intent
não foi instanciado, como o Intent é uma classe, a mesma deve ser instaciada para que o objeto possa
ser utilizado. uri = Uri.parse(“sms: +5521900000001”); Intent(Intent. ACTION_VIEW, uri);
intent.putExtra(“sms_body”, “Corpo de conteúdo do SMS”); startActivity(intent);
6 Código: 36521 - Enunciado: Na programação de aplicações para dispositivos móveis, o uso de
SharedPreferences permite o armazenamento e a recuperação de dados na forma de identificador /
valor. Ao desenvolvermos aplicações com o uso desse recurso, devemos conhecer bem os seus
principais métodos.Indique o método capaz de efetuar o armazenamento das preferências no arquivo,
de forma nova, onde não é utilizada a thread principal da aplicação para realizar as alterações:
a) apply();
b) clear();
c) constains();
d) commit();
e) remove();
Alternativa marcada:
a) apply();
Justificativa: Resposta correta: apply();.Assim como o método commit(), o método apply() é usado para
realizar o armazenamento das preferências no arquivo, sendo esse um método mais recente da classe,
que não utiliza a thread principal para realizar essa ação.
Distratores:clear();. Incorreta. Esse método é utilizado para realizar a limpeza do arquivo de
preferências.commit();. Incorreta. Esse método, apesar de também ser utilizado para realizar o
armazenamento das preferências no arquivo, é mais antigo e utiliza a thread principal para realizar a
ação de armazenamento.constains();. Incorreta. Esse método é utilizado para verificar se um
determinado identificador está presente no arquivo de preferência relacionado.remove();. Incorreta.
Esse método é utilizado para remover um par identificador / valor do arquivo de preferências, por meio
do nome do identificador.
0,50/ 0,50
7 Código: 36868 - Enunciado: Uma empresa especializada no desenvolvimento de aplicativos para
Android foi contratada para construir uma aplicação para dispositivos móveis baseada na linguagem
Java. A aplicação deverá calcular a quantidade de tijolos para a construção de uma parede. Para isso,
são necessários: a altura da parede, a largura da parede, se a parede será construída em ½ vez ou 1 vez.
Paredes em meia vez utilizam o tijolo em pé (maior largura para o alto) e paredes em uma vez utilizam o
tijolo deitado (menor largura para o alto). Isso faz com que, ao dividirmos a área da parede para a área
do tijolo, paredes em ½ vez não tenham alteração, mas paredes em 1 vez devem ter a quantidade de
tijolos dobrada. Para isso, devemos realizar uma pergunta ao usuário: parede em ½ vez?, do tipo sim ou
não. Além disso, devemos deixar que o usuário escolha um entre os dois tipos de tijolos (tijolo 20X20 ou
tijolo 20X30), podendo ser escolhido apenas um tipo. Sabe-se:1. Deve-se primeiro calcular a área da
parede: área da parede = altura da parede * largura da parede2. Depois, deve-se calcular a área do
tijolo:- Tipo 20X20 : área do tijolo = 0.20 * 0.20- Tipo 20X30 : área do tijolo = 0.20 * 0.303. Por final, deve-se
calcular a quantidade de tijolos: - Quantidade de tijolos = área da parede/área do tijolo Projete o
aplicativo para o Android, sendo necessário que sejam criados:a) O layout da tela e a tabela com as
identificações dos componentes e seus respectivos identificadores para a View e para a Controller.b) A
declaração dos componentes de entrada e saída da codificação (Controller).c) Os relacionamentos entre
os componentes da tela (View) e da codificação (Controller).d) O método responsável por realizar as
entradas de dados, calcular e apresentar o resultado.
0,00/ 2,50
Resposta:
NÃO SEI
Justificativa: Expectativa de resposta:a) b)EditText edt1, edt2, edt3;CheckBox chk1;RadioButton
rad1, rad2;c)edt1 = (EditText) findViewById(R.id.editText1);edt2 = (EditText)
findViewById(R.id.editText2);edt3 = (EditText) findViewById(R.id.editText3);chk1 = (CheckBox)
findViewById(R.id.check1);rad1 = (RadioButton) findViewById(R.id.radio0);rad2 = (RadioButton)
findViewById(R.id.radio1);d)// onCLick do botão button1 = calcularTijolospublic void
calcularTijolos(View v){ double comprimento, altura, quantidadeTijolos, areaTijolo, areaParede;
altura = Double.parseDouble(edt1.getText().toString()); largura =
Double.parseDouble(edt2.getText().toString()); areaParede = comprimento * altura;
if(rad1.isChecked()){ areaTijolo = 0.20 * 0.20; } else { areaTijolo = 0.20 * 0.30; }
quantidadeTijolos = areaParede / areaTijolo; if(chk1.isChecked()){
edt3.setText(String.valueOf(quantidadeTijolos)); } else {
edt3.setText(String.valueOf(quantidadeTijolos * 2)); }}
8 Código: 36523 - Enunciado: Na criação de interfaces gráficas para uso em aplicações para dispositivos
móveis, caso o usuário precise escolher apenas uma entre um conjunto de opções, é importante que os
componentes do tipo RadioButton utilizados na interface estejam agrupados.a) Cite o nome do
componente responsável por esse agrupamento.b) Explique qual é a importância de agrupar esse tipo
de componentes.
Resposta:
a) RadioButtonGroup.
b)
Justificativa: Expectativa de resposta: a) O componente responsável pelo agrupamento de botões de
rádio (RadioButton) é o RadioGroup. b) Esse agrupamento é importante para que a característica de
escolher umaopção e as outras serem desmarcadas ocorra. Além disso, é necessário para a criação de
mais de um conjunto de opções de escolha em uma mesma interface.
0,70/ 1,50