Baixe o app para aproveitar ainda mais
Prévia do material em texto
Questão 1/10 - Tópicos Avançados em Programação Sobre Solicitação de permissões do usuário, avalie as assertivas abaixo: I.Quando o usuário responder, o método onRequestPermissionsResult() é chamado para validar as permissões II. O alerta de permissão do usuário é mostrado e não fica aguardado a resposta do usuário, podemos deixar neste momento um botão invisível até a resposta do usuário III. Para permissão de utilização de câmera funcionar é necessário adicionar a linha “<uses-permission android:name="android.permission.CAMERA" />” no AndroidManisfest.xml IV. Por questões de segurança, a partir do Android 7 (Nougat), o Android não permite que a câmera ou qualquer outro aplicativo salve arquivos na pasta privada do aplicativo sem darmos acesso São corretas: Nota: 10.0 A Apenas I e IV B Apenas II e III C Apenas I, III e IV Você acertou! A letra C é a correta, conforme o explicado no item 4.3 Tema 4 e TEMA 5, da AULA 5. D Apenas I e II E Apenas II, III e IV Questão 2/10 - Tópicos Avançados em Programação Mostrar um alerta comunicando o usuário sobre determinadas situações é muito comum nos celulares. Sobre mensagens de alerta em celulares é correto afirmar: Nota: 10.0 A Não é necessário fazer import da classe AlertDialog B Criar uma constante que recebe o valor da chamada AlertDialog.Builder(View?).create() C Para mostrar o alert incluímos o cógido abaixo no método onClick(): Você acertou! Gabarito: A resposta correta é a letra C, conforme item 2.1 Tema 2 da AULA 4. D Pode ser criada uma extensão, adicionando métodos em uma classe porém ainda existe a necessidade de criar classes filhas. Para isso a extensão tem uma declaração de método da seguinte forma: E Caso seja criada uma extensão, para utilizar a mesma na classe activity não é necessário fazer o importe do método “alert”. Questão 3/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ê acertou! Gabarito: A Resposta correta é a letra D, conforme introdução do Tema 2 da AULA 4. E id.findViewById<View>(tLogin) Questão 4/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ê 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 5/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: 0.0 A Sempre que sobrescrever um método da classe Activity, chame o 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. A letra E é a incorreta, conforme explicado na introdução do TEMA 2 da AULA 5. Questão 6/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ê 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 7/10 - Tópicos Avançados em Programação O objeto intent é o objeto que contém a "intenção" de abrir a tela, e nela pode ser adicionado parâmetros para a próxima tela. Sobre a utilização a passagem de parâmetros ao navegar entre telas é incorreto afirmar: Nota: 0.0 A É realizada a declaração da variável para o objeto Intent, pois a mesma é passado como parâmetro na chamada do método startActivity(intent). B O comando intent.putExtras(bundle) recebe o objeto Bundle, o qual contém os parâmetros. C Deve-se criar o objeto Bundle declarando “val args = Bundle()”. D Para abrir uma nova tela activity é utilizado o método startActivity(intent) E O objeto bundle é uma ArrayList e, portanto, possui a estrutura de chave e valores. A resposta incorreta é a letra E, conforme introdução Tema 3 da AULA 5. Questão 8/10 - Tópicos Avançados em Programação Sobre o arquivo AndroidManifest.xml, avalie as assertivas abaixo: I. Se chamarmos o método finish() a tela é encerrada; II. Para Removermos o botão de voltar da AppBar é necessário remover a a tag parentActivityName no arquivo de Manifesto. III. Ao clicar no botão voltar nativo do Android, o aplicativo não é fechado, pois não existe nenhuma activity atrás desta. São corretas: Nota: 10.0 A Apenas I. B Apenas II. C Apenas I e III. D Apenas I e II. Você acertou! Gabarito: A letrar D é a correta, conforme o explicado no item 4.2 Tema 4, da AULA 4. E Todas estão corretas. Questão 9/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 Sefor 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ê acertou! A Resposta correta é a letra E, conforme item 2.1 do Tema 2 da AULA 5. Questão 10/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 visualização de erros no LogCat: ( ) No Android, sempre que o aplicativo travar e encerrar, significa que uma exceção foi tratada e lançada, com isso podemos visualizar todos os detalhes desses logs usando o LogCat. ( ) Comentando a configuração da HomeActivity do arquivo de manifesto, pois vamos adicionar um bug proposital apenas para aprendermos a visualizar os logs. Um comentário em XML começa com '<!--' e termina com '-->'. ( ) Será lançada uma exceção, e inclusive a mensagem é bastante clara: "ActivityNotFoundException: Unable to find explicit activity class {HomeActivity}; have you declared this activity in your AndroidManifest.xml?". ( ) O Android não auxilia muito com as mensagens de erro, pois depois de não encontrar a configuração da HomeActivity, ele não pergunta se fizemos a configuração dessa activity no arquivo de manifesto. Baseado nas suas respostas, a sequência correta é: Nota: 10.0 A V V F V B F V V F Você acertou! Gabarito: A reposta correta é a letra B, conforme explicado no item 3.1 do TEMA 3 da AULA 4. C V V V F D F V V V E V F F F
Compartilhar