Prévia do material em texto
Questão 1/12 - Tópicos Avançados em Programação 1. Higher-Order Functions e Lambdas 2. Extensões 3. Coleções e lambdas: map e filter 4. Null Safety Relacione cada recurso de funções com sua respectiva definição: ( ) permitem adicionar métodos em classes sem utilizar herança. ( ) permite que funções recebam outras funções como parâmetro, além de permitir que uma função retorne outra função. ( ) não permite que variáveis e objetos tenham valores nulos, a não ser que isso seja explicitamente indicado no código para isso é obrigatório declarar o seu tipo e utilizar o operador da interrogação '?'. ( ) Há várias funções nativas da linguagem que são criadas para processar e filtrar listas, sets, mapas, dentre outras coisas. Ao utilizar lambdas, a sintaxe fica muito simples. A sequência correta é Nota: 10.0 A 1, 4, 2, 3 B 3, 2, 1, 4 C 4, 1, 2, 3 D 2, 1, 4, 3 Você assinalou essa alternativa (D) Você acertou! A letra D é a correta, conforme o explicado no Tema 5, da AULA 2. E 1, 2, 4, 3 Questão 2/12 - 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 3/12 - 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ê assinalou essa alternativa (C) 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 4/12 - Tópicos Avançados em Programação Relacione cada elementos da imagem com sua função, respectivamente: ( ) representa o id do aplicativo do GooglePlay. ( ) configurações das bibliotecas utilizadas no aplicativo. ( ) Representa a API Level no qual o projeto será compilado. ( ) Corresponde a versão do SDK BluidTools instalado no Android SDK. ( ) mostrar o número de versão amigável para o usuário. ( ) Configuração dos plugins para habilitar os módulos de compilação Android e Kotlin no gradle. ( ) representa a API Level minima suportada pelo aplicativo. ( ) número inteiro que representa o número da versão de um build do aplicativo. ( ) configuração das opções de build: debug e release. ( ) precisa ser igual ao compileSdkVersion. A sequência correta é: Nota: 10.0 A 1, 2, 3, 6, 4, 7, 5, 10, 8, 9 B 2, 3, 6, 1, 4, 7, 5, 10, 8, 9 C 4, 10, 2, 8, 3, 1, 7, 5, 9, 6 D 4, 10, 2, 3, 8, 1, 5, 7, 9, 6 Você assinalou essa alternativa (D) Você acertou! A reposta correta é a letra D, conforme explicado no item 3.8 do TEMA 3 da AULA 1. E 1, 2, 5, 10, 8, 9, 3, 6, 4, 7 Questão 5/12 - Tópicos Avançados em Programação Cada membro da OHA está fortemente comprometido com uma maior abertura no ecossistema móvel. A maior abertura permitirá que todos em nosso setor inovem mais rapidamente e respondam melhor às demandas dos consumidores. Nosso primeiro projeto conjunto como uma nova aliança é o Android ™. O Android foi desenvolvido do zero com o objetivo explícito de ser a primeira plataforma aberta, completa e gratuita criada especificamente para dispositivos móveis. Fonte: http://www.openhandsetalliance.com/oha_overview.html Sobre a OHA é correto afirmar: Nota: 10.0 A Em meados de 2007, o Google não quis se juntar a outras empresas gigantes da tecnologia, que futuramente chamada de OHA (Open Handset Alliance). B O objetivo da aliança era criar desenvolve um sistema operacional móvel único para monopolizar o mercado de celular. C Na época existiam apenas 88 empresas integrantes do grupo, entre elas: Samsung, Intel, LG, Motorola, ASUS, Acer, Dell, dentre outras. Ficaram de fora a Aliança Google e Sony Ericsson. D Com a união se a Samsung fizesse melhorias no software da câmera, isso ficaria disponível no código-fonte aberto do Android, e todos os fabricantes participantes da aliança poderiam se beneficiar disso. Você assinalou essa alternativa (D) Você acertou! A letra D é a correta, conforme explicado no Tema 1, da AULA 1. E Como a Sony ficou fora da União, caso ela fizesse melhorias nos wiadgets que ficam na Home do Android, ela não passaria isso para as outras empresas. Questão 6/12 - Tópicos Avançados em Programação Kotlin é uma linguagem de programação desenvolvida pela JetBrains, mesma empresa que criou o Android Studio. Marque a alternativa correta sobre programação Kotlin: Nota: 10. A Não tem uma sintaxe simples e agradável. B É compilada para executar na JVM. Você assinalou essa alternativa (B) Você acertou! A reposta correta é a letra B, conforme explicado na introdução do TEMA 1 da AULA 2. C Não tem interoperabilidade com o Java. D Não pode ser utilizadas classes escritas em Java. E Quando comparamos uma Classe em Java e Kotlin, para escrever o mesmo código, a quantidade de linhas do código não muda. Você assinalou essa alternativa (E) Questão 7/12 - Tópicos Avançados em Programação Como pode ser visto na imagem acima, uma activity possui o método onCreate(bundle), que é chamado ao inicializar a tela. E que o método setContentView(layout) é usado para configurar o XML que será usado como layout da tela. Existem várias formas de implementar o tratamento dos eventos dentro da activity, assinale a alternativa incorreta: Nota: 0.0Você não pontuou essa questão A Para implementar uma interface, usamos uma vírgula logo seguida da definição da classe mãe e colocamos o nome da interface View.OnClickListener. Quando implementa uma interface é necessário implementar o método onClick(view: View?). Neste caso passamos como parametro a palavra “this” no método setOnClickListener, para indicar que estamos passando a classe como parâmetro. B Criando uma classe anônima utilizando a palavra reservada “object:” seguida da interface e todos os métodos que ela possui. C Uma opção menos utilizada e não recomentada, seria a utilização do Lambda, pois a interface possui apenas um método. Gabarito: A letra C é a incorreta, conforme explicado nos itens 1.2, 1.3, 1.4, 1.5 e 1.6 do Tema 1, da AULA 4. D Criando um método separado para cada evento, e incluir a chamada do método, que deve ter o nome com a sintaxe onClick«nomebotão»(), dentro do lambda para cada evento. Você assinalou essa alternativa (D) E Adicionar a tag onClick diretamente no XML, configurando método que vai tratar o evento e adicionar apenas a implementação do método na classe activity. Questão 8/12 - 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, 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 Noiní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/12 - Tópicos Avançados em Programação O Android Studio facilita a criação de apps Android em vários formatos, como celulares, tablets, TVs e dispositivos Wear. Sobre a criação de projetos no Android Studio é correto afirmar: Nota: 10.0 A Para criar um projeto no Android Studio, é necessário realizar a importação dos arquivos de configuração clique no botão Start a new Android Studio Project. B O template "Empty Activity" indica que será criada uma tela vazia apenas com o template básico de uma tela. Você assinalou essa alternativa (B) Você acertou! A resposta correta é a letra B, conforme introdução do Tema 2 da AULA 1. C Uma Activity é um único arquivo que contém: classe que contem o código e uma lógica de uma tela. D Package name não é utilizado como base dos imports para as classes Java ou Kotlin. E Uma instituição financeira ou qualquer empresa que tenha altos padrões de segurança, deve deixar a API 23 (Android 6.0) como a máxima suportada, pois foram feitas significantes melhorias de segurança do sistema operacional nessa versão. Questão 10/12 - 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ê assinalou essa alternativa (C) 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 11/12 - Tópicos Avançados em Programação (questão opcional) Java Platform, Micro Edition (Java ME) oferece um ambiente robusto e flexível para aplicativos executados em dispositivos móveis e integrados: celulares, set-top boxes, reprodutores de discos Blu-ray, dispositivos de mídia digital, módulos M2M, impressoras etc. A tecnologia Java ME foi originalmente criada para lidar com as restrições associadas à criação de aplicativos para pequenos dispositivos. Para essa finalidade, a Oracle definiu o básico para a tecnologia Java ME para acomodar esse ambiente limitado e possibilitar a criação de aplicativos Java executados em dispositivos pequenos com memória, vídeo e capacidade de processamento limitados. Fonte:https://www.java.com/pt-BR/download/help/whatis_j2me_pt-br.html Marque a alternativa INCORRETA sobre celulares que utilizavam J2ME: Nota: 10.0 A A ideia do J2ME era usufruir do grande lema da linguagem Java (Write Once Run Everywhere – escreva uma vez, execute em qualquer lugar) e criar uma plataforma única de desenvolvimento que executasse em diversos dispositivos, independentemente do fabricante. B Os celulares Java eram embarcados com uma JVM (Java Virtual Machine) capaz de executar esses aplicativos. C O J2ME tinha um problema: era uma especificação, e não uma implementação. D Na especificação (criada pela Sun Microsystems – criadora do Java e hoje comprada pela Oracle), apenas citava-se que, para criar a interface do aplicativo, era preciso existir um componente de Botão, outro para um Campo de Texto, Checkbox, Imagem etc., porém cada fabricante podia implementar esses componentes visuais como quisesse. E A interface de um botão e checkbox de um celular do fabricante X ficava diferente do celular que foi feito pelo fabricante Y, e isso era aceitável por grandes empresas e as empresas queria que existissem essas diferenças. Você assinalou essa alternativa (E) Você acertou! A reposta incorreta é a letra e, conforme explicado no TEMA 1 da AULA 1. As diferenças eram inaceitáveis pelas empresas, pois elas queriam que a interface respeite todas as cores e todo o guia de interface da empresa. Questão 12/12 - Tópicos Avançados em Programação (questão opcional) 1 – default arguments 2 – named arguments 3 – varargs 4 – Tipos genéricos Relacione cada recurso de funções com sua respectiva definição: ( ) parâmetro (normalmente o último) que pode receber um ou mais parâmetros separados por vírgula. ( ) os parâmetros das funções podem ter valores-padrão, o que evita ter de criar vários métodos com a mesma assinatura (method overloading). ( ) na declaração da função ou variável, define-se o tipo genérico <T>, que será substituído por <String>, <Int> etc, podendo ser omitido o tipo na declaração. ( ) nome dos parâmetros pode ser utilizado no momento de chamar uma função, possibilitando inclusive que a passagem de parâmetros seja feita fora de ordem. A sequência correta é Nota: 10.0 A 3, 1, 4, 2 Você assinalou essa alternativa (A) Você acertou! A reposta correta é a letra A, conforme explicado nos itens 3.1, 3.2, 3.3, 3.4 do TEMA 3 da AULA 2. B 1, 3, 4, 2 C 3, 2, 4, 1 D 1, 4, 2, 3 E 2, 1, 3, 4