Baixe o app para aproveitar ainda mais
Prévia do material em texto
A2 - Programação para Dispositivos Móveis 1 - No desenvolvimento de uma aplicação para dispositivos móveis baseada no Android é necessário armazenar em um arquivo, de preferência (SharedPreferences), os valores de entrada da base, da altura em reais e o valor da opção de escolha (opção do tipo inteiro), sendo 1 para Triângulo e 2 para Retângulo. A aplicação possui o layout e a tabela de identificadores e relacionamentos a seguir: Sabe-se que os componentes já foram declarados, os relacionamentos realizados e as bibliotecas já foram importadas. A aplicação precisa armazenar os valores de entrada no arquivo de preferências. Compare e avalie, dentre as opções a seguir, aquela que apresenta corretamente o conjunto de instruções correto para realizar o armazenamento dos dados no arquivo de preferências chamado Geometria. Você deve avaliar: • A abertura do arquivo. • O modo de edição. • A finalização da gravação. Alternativas A) prefs = getSharedPreferences(“Geometria”, MODE _ PRIVATE); SharedPreferences.Editor prefUsuario = prefs.open(); prefUsuario.putFloat(“base”, Float.parseFloat(edt1.getText(). toString())); prefUsuario.putFloat(“altura”, Float.parseFloat(edt2.getText().toString())); if(rd1.isChecked()){ prefUsuario.putInt(“opcao”, 1); } else{ prefUsuario.putInt(“opcao”, 2); } prefUsuario.commit(); B) Marcada pelo aluno prefs = getSharedPreferences(“Geometria”, MODE _ PRIVATE); SharedPreferences.Editor prefUsuario = prefs.edit(); prefUsuario.putFloat(“base”, Float.parseFloat(edt1.getText(). toString())); prefUsuario.putFloat(“altura”, Float.parseFloat(edt2.getText().toString())); if(rd1.isChecked()){ prefUsuario.putInt(“opcao”, 1); } else{ prefUsuario.putInt(“opcao”, 2); } prefUsuario.commit(); C) prefs = getSharedPreferences(“Geometria”, MODE _ PRIVATE); SharedPreferences.Editor prefUsuario = prefs.edit(); prefUsuario.putFloat(“base”, Float.parseFloat(edt1.getText(). toString())); prefUsuario.putFloat(“altura”, Float.parseFloat(edt2.getText().toString())); if(rd1.isChecked()){ prefUsuario.putInt(“opcao”, 1); } else{ prefUsuario.putInt(“opcao”, 2); } prefUsuario.save(); D) prefs = getSharedPreferences(“prefUsuario”, MODE _ PRIVATE); SharedPreferences.Editor Geometria = prefs.edit(); Geometria.putFloat(“base”, Float.parseFloat(edt1.getText(). toString())); Geometria.putFloat(“altura”, Float.parseFloat(edt2.getText().toString())); if(rd1.isChecked()){ Geometria.putInt(“opcao”, 1); } else{ Geometria.putInt(“opcao”, 2); } Geometria.save(); E) prefs = getSharedPreferences(“prefUsuario”, MODE _ PRIVATE); SharedPreferences.Editor Geometria = prefs.edit(); Geometria.putFloat(“base”, Float.parseFloat(edt1.getText(). toString())); Geometria.putFloat(“altura”, Float.parseFloat(edt2.getText().toString())); if(rd1.isChecked()){ Geometria.putInt(“opcao”, 1); } else{ Geometria.putInt(“opcao”, 2); } Geometria.commit(); 2 - É comum a criação de atividades em que o usuário deva realizar uma escolha entre algumas opções apresentadas. Quando o número de opções é muito grande, é comum o uso do componente Spinner, mas quando temos algumas poucas opções, normalmente de duas a cinco opções, é conveniente utilizar os botões de rádio para controlar a escolha realizada pelo usuário. Com base nisso, analise as afirmativas a seguir e a relação proposta entre elas. I. Podemos criar em uma mesma atividade mais de um conjunto de botões de rádio, desde que cada conjunto esteja agrupado ao se utilizar um mesmo identificador para todos os botões de rádio de cada conjunto. PORQUE II. Mais de um conjunto de botões de rádio podem ser utilizados em uma mesma atividade, permitindo que as diferentes escolhas do usuário (em diferentes conjuntos) não interajam entre si, permitindo ao usuário escolher uma opção de cada conjunto de botões de rádio. É correto concluir que: Alternativas A) Marcada pelo aluno A primeira afirmativa é falsa e a segunda é verdadeira. B) As duas afirmativas são verdadeiras e a segunda justifica a primeira. C) A primeira afirmativa é verdadeira e a segunda é falsa. D) As duas afirmativas são falsas. E) As duas afirmativas são verdadeiras e a segunda não justifica a primeira. 3 - 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: Alternativas 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 onRestart(). B) Deve-se usar um arquivo SQLite para o armazenamento e recuperação dos dados e recuperar os dados ao executar o método onCreate(). C) 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(). D) Marcada pelo aluno Deve-se usar um arquivo local para o armazenamento e recuperação dos dados e recuperar os dados ao executar o método onCreate(). E) Deve-se usar um arquivo local para o armazenamento e recuperação dos dados e recuperar os dados ao executar o método onRestart(). 4 - 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: Alternativas A) commit(); B) constains(); C) Marcada pelo aluno apply(); D) remove(); E) clear(); 5 - 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: Alternativas A) Iniciar uma View (tela), uma transmissão (troca de mensagens) ou um acesso a banco de dados. B) Gabarito da questão Iniciar uma atividade, um serviço ou uma transmissão (troca de mensagens). C) Marcada pelo aluno Iniciar uma View (tela), 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 atividade, um serviço ou um acesso a banco de dados. 6 - Uma ONG (organização não governamental) deseja cadastrar os moradores de uma certa região da cidade. Esse cadastramento será feito por meio de um aplicativo para dispositivos móveis disponibilizado na plataforma Android. Serão cadastrados vários tipos de dados de diferentes pessoas de cada família, os dados serão armazenados em tabelas que deverão estar relacionadas. Os dados deverão ser armazenados localmente e enviados para um servidor ao final do expediente pela pessoa que está realizando o cadastramento. Avalie as necessidades aplicadas pela aplicação e selecione a opção que apresenta a forma adequada para armazenar dados e que utilize o método adequado do ciclo de vida de uma aplicação para enviar os dados da aplicação para o servidor.Alternativas A) Deve-se usar um arquivo SQLite para o armazenamento e executar o envio dos dados por meio do método onResume(). B) Deve-se usar um arquivo local para o armazenamento e executar o envio dos dados por meio do método onCreate(). C) Deve-se usar um arquivo local para o armazenamento e executar o envio dos dados por meio do método onDestroy(). D) Marcada pelo aluno Deve-se usar um arquivo SQLite para o armazenamento e executar o envio dos dados por meio do método onDestroy(). E) Deve-se usar um arquivo SQLite para o armazenamento e executar o envio dos dados por meio do método onRestart(). 7 - Um desenvolvedor precisa construir uma aplicação para dispositivos móveis para o Android. A aplicação será usada para calcular a hipotenusa de um triângulo e deverá receber como dados de entrada os valores dos dois catetos e, ao final, apresentar o valor correto calculado da hipotenusa. A bibliotecas dos componentes necessários já foram importadas. Projete a aplicação 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. Modelo: 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. Resposta do aluno A - B - EditText edt1, edt2, edt3 C - edt1 = (EditText) findViewByld(R,id.editText1); edt2 = (EditText) findViewByld(R.editText2); edit3 = (EditText) finfViewByld(R.editText3) D - // onClick do botão button1 = calcularpublic void calcular (View v) {double cateto1, cateto2, hipotenusa; cateto1= Double.parseDouble(edt1.getText().toString());cateto2=Double.parseDouble(edt2.getText().toString()));hip otenusa=Math.sqrt(Math.pow(cateto1,2)+Mat.pow(cateto2,2));edt3.setText(String.valueOf(hipotenusa));} Correção do professor Resposta adequada com o proposto. 8 - Na criação de sistemas para dispositivos móveis, a interface gráfica é produzida separadamente da codificação do sistema. Dessa forma, devemos identificar todos os componentes da interface por meio de um id. Explicite a principal importância da identificação do id de cada componente para o desenvolvimento da codificação do projeto. Resposta do aluno A identificação do ID de cada componente na criação de sistemas para dispositivos móveis é crucial por vários motivos importantes, como por exemplo: Acesso e manipulação precisos; Separação de responsabilidades; Facilita a manutenção e atualizações; Reutiliza os componentes; Facilita a comunicação e colaboração; Debugging simplificado; Acessibilidade e testes. Correção do professor Resposta adequada com o proposto. Resposta do aluno Correção do professor Resposta do aluno Correção do professor
Compartilhar