Baixe o app para aproveitar ainda mais
Prévia do material em texto
Questão 1/10 - Tópicos Avançados em Programação Quando utilizamos a função do GPS em um aplicativo para obter localização do usuário, o app entrará em um nova tela para mostrar a localização. Ao realizar a chamada do GPS terá um aumento significativo de consumo de bateria, caso o usuário clique no botão Home neste momento o Android realizará a parada e deixará em segundo plano a abertura da tela de GPS para economizar recursos de bateria. Marque a alternativa incorreta sobre o ciclo de vida de uma Activity: Nota: 10.0 A O método onCreate(bundle) é chamado uma única vez. O objetivo desse método é fazer a inicialização necessária para executar o aplicativo. B O método onStart() é chamado quando a activity está ficando visível ao usuário e já tem uma view. C O método onRestart() é chamado quando uma activity foi parada temporariamente e está sendo iniciada outra vez. D O método onResume() é chamado quando a activity está no topo da pilha “activity stack” e, dessa forma, já está executando como a activity principal e interagindo com o usuário. E O método onPause() será chamado apenas uma vez quando a tela da activity fechar. Isso pode acontecer se o usuário pressionar o botão Home ou o botão voltar do Android. Você assinalou essa alternativa (E) Você acertou! A reposta incorreta é a letra E, conforme explicado na introdução do TEMA 1 da AULA 5. Questão 2/10 - Tópicos Avançados em Programação A classe Activity representa uma tela do aplicativo e é responsável por controlar os eventos e a lógica dessa tela. Marque a alternativa incorreta sobre a criação de uma Activity: Nota: 10.0 A Para criar uma activity, devemos ter uma classe filha de Activity ou AppCompatActivity. B Criando uma classe filha de Activity, como é embarcada no sistema operacional terá uma versão diferente do código em um Android 5.0 e um Android 10. C O Google criou um pacote que é chamado de biblioteca de compatibilidade, porém não recomenda que as classes desse pacote sejam utilizadas no lugar das nativas. Você assinalou essa alternativa (C) Você acertou! Gabarito: A reposta incorreta é a letra C, conforme explicado na introdução do TEMA 1 da AULA 4. D Ao criarmos o projeto com wizard, o Android Studio cria a MainActivity como filha de AppCompatActivity. E A vantagem de utilizar a biblioteca de compatibilidade é que ela é adicionada no arquivo app/build.gradle e pode ser atualizada sempre que o Google lançar versões mais novas. Questão 3/10 - Tópicos Avançados em Programação Sobre os itens circulados na imagem acima, referente ao debug do código, avalie as assertivas abaixo: I. Foi adicionado um breakpoint na linha 40. II. Para executar o debug através do Botão Debug , automaticamente o breakpoint será acionado quando o trecho do código for chamado. III. No canto inferior esquerdo, Janela Pilha, é apresentada a pilha com as chamadas do código IV. Na Janela variables podemos ver o valor das variáveis e depurar o código passo a passo Baseado nas suas respostas são corretas: Nota: 10.0 A Apenas I,II e IV B Apenas II e IV Você assinalou essa alternativa (B) Você acertou! Gabarito: A reposta correta é a letra B, conforme explicado no item 3.2 do TEMA 3 da AULA 4. C Apenas II e III D Todas estão corretas E Apenas a I Questão 4/10 - Tópicos Avançados em Programação Ao girar a tela do celular da vertical para a horizontal, o Android vai destruir a activity atual e recriá-la logo em seguida. O Android faz isso porque ele precisa recriar todas as views e aplicar espaçamentos e margens adequadas para a nova orientação (vertical ou horizontal). Sobre o método onSaveInstanceState(bundle), assinale a alternativa correta: Nota: 10.0 A Esse método recebe um objeto do tipo android.os.Bundle como argumento que deve ser utilizado para armazenar os dados em uma estrutura de String. B Mesmo que o aplicativo salve valores no Bundle (estrutura de chave e valor) lá no método onSaveInstanceState(bundle), não é possível recuperar esses valores no bundle que vem como parâmetro no método onCreate(bundle?). C Se for a primeira vez que a activity é executada, o parâmetro bundle pode não estar nulo, por isso ele contém a sintaxe da interrogação (? – pode ser nulo). D Se o aplicativo faz uma busca em um web service para mostrar uma lista de produtos, caso o usuário gire a tela do celular, a lista não será perdida, mesmo com a tela sendo destruída e recriada. E Pode ser salvar uma lista dentro do bundle (HashTable), e depois pode recuperar essa lista já pronta quando o método onCreate(bundle) for chamado. Você assinalou essa alternativa (E) Você acertou! A Resposta correta é a letra E, conforme item 2.1 do Tema 2 da AULA 5. Questão 5/10 - Tópicos Avançados em Programação Para navegar de uma tela para outra no aplicativo deve ser chamado o método startActivity(intent). Ao clicar no botão voltar, a tela atual será destruída e a MainActivity, assinale a sequência correta que será utilizada para reiniciar a MainActity Nota: 10.0 A onRestart > onStart > onResume Você assinalou essa alternativa (A) Você acertou! A resposta correta é a letra A, conforme item 2.2 Tema 2 da AULA 5. B onCreate > onStart > onResume C onCreate > onResume > onStart D onRestart > onResume > onStart E onStart > onCreate > onResume Questão 6/10 - Tópicos Avançados em Programação Pode ser realizadas algumas melhorias nos formulários e tratamentos, avalie os itens abaixo e coloque V ou F: ( ) Para incluir uma ação quando clicamos no botão Ok de uma mensagem de alerta, podemos passar como parâmetro uma função que popularmente chamamos de callback, utilizando a sintaxe: callback: () -> Unit = {} ( ) Um ScrollView é um gerenciador de layout que pode ter várias tags filha, e geralmente são LinearLayout (vertical), o qual possui todas as views uma embaixo da outra. Essa view fará a rolagem (scroll) automaticamente caso a tela seja pequena e não consiga mostrar todos os campos do formulário. ( ) Para descobrir se o CheckBox está selecionado, basta chamar o método isChecked() que retorna um boolean. ( ) A lógica para ler o valor do RadioGroup (grupo) é chamar o método getCheckedRadioButtonId() que retorna um int referente ao id do RadioButton que está selecionado. Para descobrir qual item está selecionado (M o F), esse id pode ser comparado com as constantes da classe R, que nesse caso são R.id.radioMasculino e R.id.radioFeminino, ambas definidas como id do RadioButton lá no XML. Baseado nas suas respostas, a sequência correta é: Nota: 10.0 A V V F V B F V V F C V V V F D F V V V E V F V V Você assinalou essa alternativa (E) Você acertou! Gabarito: A letra E é a correta, conforme o explicado nos itens 4.4, 5.1, 5.2 dos Tema 4 e 5, da AULA 4. Questão 7/10 - Tópicos Avançados em Programação Com base no trecho de código apresentado na imagem acima, avalie coloque V ou F sobre a passagem de objeto como parâmetro: ( ) É uma boa prática passar a variável "nome" isoladamente, mesmo que seja necessário passar outros dados do usuário, como o e-mail. ( ) Se tivermos muitos parâmetros, será necessário adicionar várias linhas e isso pode até resultar em algum erro de lógica. ( ) A boa prática recomenda a criação de um objeto, que pode ser chamado de Usuário, que contenha os atributos que são os parâmetros que deseja ser passado. ( ) Para que seja possível passar o objeto Usuário como parâmetro é necessário marcar o objeto com Serializable. Baseado nas suas respostas, a sequência correta é: Nota: 10.0 A V V F V B F V V V Você assinalou essa alternativa (B) Você acertou! A reposta correta é a letra B, conforme explicado no item 3.1 do TEMA 3 da AULA 5. C V V V F D F V F F E V F F F Questão 8/10 - Tópicos Avançados em Programação Avalie o trecho de código acima e assinale a alternativa incorreta sobre os métodos do ciclo de vida de uma activity: Nota: 10.0 A Sempre que sobrescrever um método da classe Activity, chameo método da classe-mãe com o super; caso contrário, uma exceção será lançada em tempo de execução. B No início da classe, foi declarada a propriedade className e foi sobrescrito o método get() para que ela tenha um retorno, facilitando o seu uso no código. C Essa classe imprime um log quando algum método do ciclo de vida é chamado, por exemplo o método onCreate(bundle). D O log é criado com a tag “android”, portanto, é necessário criar um filtro para essa tag na janela do LogCat. Também deve ser alterado a classe MainActivity para ser filha de LogActivity, assim, ela vai herdar todos os métodos que foram customizados na sua classe-mãe. E Na primeira vez que o aplicativo executar os métodos onResume(), onCreate() e onStart() são chamados exatamente nesta sequência. Você assinalou essa alternativa (E) Você acertou! A letra E é a incorreta, conforme explicado na introdução do TEMA 2 da AULA 5. Questão 9/10 - Tópicos Avançados em Programação Com a utilização do LogCat pode ser categorizado os logs utilizando tags, também pode ser selecionado o nível de severidade. Sobre a utilização do LogCat é CORRETO afirmar: Nota: 10.0 A Não é necessário fazer o import da classe Log: import android.util.Log B Por padrão, o LogCat não mostra todos os logs do sistema operacional do Android e o que precisamos é encontrar a mensagem que foi escrita com a tag criada no código. C Na janela do LogCat, clique no combo que filtra os logs (lá na direita), e selecione a opção Verbose, onde é realizada a criação do Filtros. D Também podemos logar mensagens no LogCat com outros níveis de severidade, exemplo, Log.i (info), Log.w (warning), Log.d (debug), Log.v (verbose), Log.e (erro). Você assinalou essa alternativa (D) Você acertou! Gabarito: A resposta incorreta é a letra D, conforme introdução Tema 3 da AULA 4. E No centro da janela do LogCat, você verá um combo que está escrito Verbose, onde pode ser criados os filtros com apenas o nível de severidade que estamos interessados. Questão 10/10 - Tópicos Avançados em Programação Para leitura dos textos que são digitados pelo usuário na tela é necessário a criação de um identificado para cada View que será realizada a leitura do valor. Sobre a localização dos identificadores na classe activity, assinale a alternativa que contem o código correto para encontrar a view: Nota: 10.0 A findViewById(id.tLogin) B findViewById(R.tLogin) as <TextView> C findViewById<TextView>(R.id) D findViewById<TextView>(R.id.tLogin) Você assinalou essa alternativa (D) Você acertou! Gabarito: A Resposta correta é a letra D, conforme introdução do Tema 2 da AULA 4. E id.findViewById<View>(tLogin)
Compartilhar