Prévia do material em texto
Atenção. Este gabarito é para uso exclusivo do aluno e não deve ser publicado ou compartilhado em
redes sociais ou grupo de mensagens.
O seu compartilhamento infringe as políticas do Centro Universitário UNINTER e poderá implicar sanções
disciplinares, com possibilidade de desligamento do quadro de alunos do Centro Universitário, bem como
responder ações judiciais no âmbito cível e criminal.
Questão 1/10 - 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: 0.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.
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 2/10 - Tópicos Avançados em Programação
Sobre classe e orientação a objeto em Kotlin avalie as acertivas abaixo:
I. O construtor primário em Kotlin não pode ter nenhum código, portanto o código foi
inicializado com a palavra init (bloco de inicialização). Para criar uma instância de um
objeto, não é preciso utilizar o famoso operador new como no Java.
II. Para herdar de uma classe, basta utilizar a sintaxe dos dois-pontos, seguida do
nome da classe-mãe. Para que a herança possa ser realizada, a classe mãe foi
anotada como open, pois, no Kotlin, todas as classes são final por padrão, ou seja,
não é possível utilizar herança. O mesmo vale para métodos.
III. Data Classes têm uma sintaxe resumida e não implementa automaticamente as
funções: equals() e hashcode(), toString() e copy().
IV. Métodos estáticos – ou métodos de classe, como são chamados – não permitem
criar métodos que podem ser chamados diretamente com a sintaxe
"Classe.metodo()".
V. Um singleton é um padrão que permite que uma classe tenha apenas uma instância
(objeto) em memória. Para criar um singleton em Java, são necessárias várias linhas
de código, mas, em Kotlin, basta utilizar a palavra reservada object em lugar de class.
VI. Se quisermos que o Kotlin crie essa lista para nós, é possível utilizar a função
mutableListOf(), que retorna uma lista mutável, ou seja, que pode ser alterada. Mas
podemos utilizar as funções mutableListOf() (mutável) ou listOf() (imutável),
conforme a necessidade.
São corretas:
Nota: 10.0
A I, II, III e VI
B I, II, V e VI
Você acertou!
A letra B é a correta, conforme o explicado no Tema 4, da AULA 2.
C II, IV, V e VI
D III, IV e V
E Todas estão corretas.
Questão 3/10 - Tópicos Avançados em Programação
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 , que será
substituído por , 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ê 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
Questão 4/10 - Tópicos Avançados em Programação
A plataforma Android tem toda uma pilha bem definida e com base no Linux. Sobre as
camadas dessa pilha podemos afirmar:
I. Na Camada Native Libraries temos os componentes de hardware, como áudio,
bluetooth, câmera e sensores, e que fornecem uma interface padrão de comunicação
com as APIs do sistema.
II. A camada HAL consiste em módulos de biblioteca, que implementam uma interface
para um tipo específico de componente de hardware, como o módulo de câmera ou
Bluetooth.
III. Android Runtime, que é a máquina virtual capaz de executar os aplicativos Android,
distribuídos por um arquivo com a extensão APK.
IV. Android Framework consiste em um conjunto de APIs que os desenvolvedores
utilizam para acessar todos os recursos disponíveis no Android.
Na Camada Linux Kernel temos os aplicativos de sistema e nossos próprios
aplicativos todos eles são construídos da mesma forma, com as linguagens Java ou
Kotlin e utilizando o Android SDK.
São corretas:
Nota: 10.0
A Apenas II.
B Apenas I e II.
C Apenas II, III e IV.
Você acertou!
A Resposta correta é a letra C. As afirmações II, III e IV, conforme o item 1.2 do Tema 1 da AULA 1.
D Apenas II e III.
E Todas estão corretas.
Questão 5/10 - Tópicos Avançados em Programação
A organização das views na tela pode ser considerado um assunto avançado do
Linear Layout.
Sobre as propriedades avançadas do Linear Layout é correto afirmar:
Nota: 10.0
A Para incluir dos TextView um ao lado do outro e que cada uma ocupe 50% do espaço disponível é utilizado o atributo “layout_weight=0.5” em cada
TextView.
B É necessário alterar a largura para ficar com tamanho layout_width="0" (zero), assim ela pode respeitar o peso adicionado layout_weight="1":
C Adicionando o gravity="central" no TextView o conteúdo ficará centralizado.
D A opção perfeita para descolar as duas views seria adicionar uma margem à esquerda da segunda TextView utilizando o android:layout_marginLeft="24dp".
E Quando ambos os TextView têm a mesma largura, deve-se utilizar o valor peso=1 no atribuito layout_weight.
Você acertou!
A resposta correta é a letra E, conforme Tema 3 da AULA 3.
Questão 6/10 - Tópicos Avançados em Programação
Com base na imagem acima, avalie coloque V ou F sobre Funções em Kotlin:
( ) A função imprimir(String) recebe uma String como parâmetro e a salva na
memória.
( ) A função imprimir(String) não tem retorno, portanto, é identificada como Unit,
semelhante ao void do Java.
( ) A função soma(Int, Int) recebe dois inteiros e retorna dois inteiro sem realizar a
soma.
( ) Quando a função não tem retorno, a palavra Unit pode ser omitida.
( ) A sintaxe resumida ao declarar funções, chamada de Single-Expression
functions. Sempre que uma função tiver apenas uma linha, não será preciso abrir e
fechar chaves { }: basta usar o operador de igual '=' e escrever tudo em uma única
linha.
( ) O tipo do retorno da função pode ser omitido, pois o Kotlin pode descobrir isso
sozinho.
Baseado nas suas respostas, a sequência correta é:
Nota: 10.0
A V F V V F F
B F V F V V V
Você acertou!
A reposta correta é a letra B, conforme explicado na introdução do TEMA 3 da AULA 2.
C V V V F F F
D F V F F F V
E V F F V F V
Questão 7/10 - Tópicos Avançados em Programação
Analisando o código Kotlin acima, avalie as afirmações a seguir:
I. Declaração do pacote: caminho da pasta no computador onde esta a classe, isso
ajudando a separar e organizar os arquivos.
II. Importações: classe que serão utilizadas no código. Importante destacar que sem
essas importações o código funcionará normalmente.
III. Na quarta linha é a declaração de criação da classe, onde a expressão “ :
AppCompactActivity()”significa que a classe MainActivity terá como classe filha a
AppcompactActivity.
IV. A linha que contem a chamada “setcontectView(R. Layout. activity_main) realizará
a apresentação do layout na tela.
V. A expressão override na linha cinco quer dizer que está criando um novo médoto
onCreate sem sobrescrever o método da classe-mãe.
São corretas:
Nota: 10.0
A II, IV e V.
B I, II, IV e V.
C I e II.
D I e IV.
Você acertou!
A resposta correta é a letra D, conforme a introdução do Tema 3 da AULA 1.
E I, II, III e V.
Questão 8/10 - Tópicos Avançados em Programação
Na criação de um Formulário de Login é utilizado um layout simples com poucos
campos.
Sobre a criação de Layout do Formulário é correto afirmar:
Nota: 10.0
A O TextView é um campo de texto e o EditText é o label.
B No campo senha utiliza-se o atribuito “android:inputType="textPassword” para apresentar o caracter “@” quando digitar a senha.
C Para adicionar um espaçamento dentro do formulário, vamos adicionar a propriedade android:padding="16cm" no LinearLayout.
D Adicionando a propriedade layout_gravity="central" no botão para ele ficar centralizado na tela.
E Podemos colocar gerenciadores de layout dentro dos outros, ou seja, ter um LinearLayout vertical raiz (que é chamado de layout root) e um LinearLayout
filho.
Você acertou!
A Resposta correta é a letra E, conforme nos itens introdução, 2.1 e 2.2 do Tema 2 da AULA 3.
Questão 9/10 - Tópicos Avançados em Programação
Os números utilizados para identificar a versão do SDK do Android é chamado de API
Level. Iniciou com Android 1.0 e API Level 1.
Sobre API Level é incorreto afirmar:
Nota: 10.0
A Para testar o aplicativo para verificar com se comporta no Android 5, basta baixar o Android 5.0 (API 21).
B Desenvolvedores trabalham com o número da API, sendo comum falar que o aplicativo é compatível com API 16, 21, 26, etc.
C A partir do Android 6.0 é necessário que o desenvolvedor configure para solicitar ao usuário que aceite as permissões antes de chamar alguma API segura.
D Sempre que for ser utilizado uma biblioteca ou algum código do próprio Android SDK, não é necessário ser validado se esse código é compatível com a
versão do Android que está instalada no celular do usuário.
Você acertou!
A letra D é a incorreta, conforme o explicado da introdução do Tema 5, da AULA 1.
E Cada API Level corresponde ao número de determinada versão do Android.
Questão 10/10 - 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ê acertou!
A letra D é a correta, conforme o explicado no Tema 5, da AULA 2.
E 1, 2, 4, 3