Buscar

apols prog avançado

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Questão 1/10 - Tópicos Avançados em Programação
Os gerenciadores de Layout são os responsáveis por organizar os componentes do Layout e as Views são os componentes visuais.
Marque a alternativa correta sobre Gerenciadores de Layout e Views:
	
	A
	LinearLayout é um Gerenciador de Layout e permite apenas organizar os componentes na vertical.
	
	B
	FrameLayout é um Gerenciador de Layout e permite organizar os componentes um sobre o outro, como se fossem uma pilha.
Você assinalou essa alternativa (B)
	
	C
	ConstraintLayout é uma View e permite organizar os componentes utilizando o editor visual.
	
	D
	RecyclerView é um gerenciador de Layout e permite criar listas e grids.
	
	E
	CardView é um gerenciador de Layout e permite mostra a interface de um card (cartão).
Questão 2/10 - Tópicos Avançados em Programação
Para adicionar o id em uma view, utilizamos o atributo android:id, a sintaxe que deve ser utilizada é :
	
	A
	android:id=“@+id/codigoIdAqui”
Você assinalou essa alternativa (A)
	
	B
	android:id=“codigoIdAqui”
	
	C
	android:id=“+id/codigoIdAqui”
	
	D
	android:id=“@id/codigoIdAqui”
	
	E
	android:id=“/codigoIdAqui”
Questão 3/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 é:
	
	A
	V F V V F F
	
	B
	F V F V V V
Você assinalou essa alternativa (B)
	
	C
	V V V F F F
	
	D
	F V F F F V
	
	E
	V F F V F V
Questão 4/10 - Tópicos Avançados em Programação
As strings do aplicativo devem ser colocados no arquivo “res/value/strings.xml” para que seja possível realizar a internacionalização do aplicativo.
Em um projeto que deve ser alterado para utilizar o arquivo strings.xml para as strings do aplicativo, deve ser alterado o texto “android:text="Hello World!" do arquivo activity_main.xml para:
	
	A
	android:text="@string/hello" e criado a string hello no arquivo strings.xml.
Você assinalou essa alternativa (A)
	
	B
	android:text="@string=Hello World!, sem necessidade de criação da string no arquivo xml.
	
	C
	android:text="/res/value/strings.xml@hello”, e criado a string hello no arquivo strings.xml.
	
	D
	android:text="strings.xml/@hello”, sem necessidade de criação da string no arquivo xml.
	
	E
	android:text="@hello/strings”, com necessidade de criação da string no arquivo xml.
Questão 5/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:
	
	A
	II, IV e V.
	
	B
	I, II, IV e V.
	
	C
	I e II.
	
	D
	I e IV.
Você assinalou essa alternativa (D)
	
	E
	I, II, III e V.
Questão 6/10 - Tópicos Avançados em Programação
Um dos principais arquivos de configuração do projeto é o AndroidManifest.xml, também conhecido como “arquivo de manifesto”.
A imagem acima é um arquivo Manifesto do projeto criado a partir do Wizard do Androi Studio, com base nestas informações é incorreto afirmar que:
	
	A
	A declaração da tag <application> onde são incluídas as configurações globais do aplicativo.
	
	B
	Quando criada uma nova activities deve ser incluída a tag <activity> correspondente.
	
	C
	Quando criamos uma activity é criada uma dupla de arquivos: Classe Activity + Arquivo Xml de Layout.
	
	D
	As declarações de permissões do sistema não são realizadas no arquivo de Manifesto, por isso não existe a tag <uses-permission>.
Você assinalou essa alternativa (D)
	
	E
	A tag <intent-filter> possui algumas configurações, entre elas a classe de ponto de entrada do aplicativo e indicação do que ícone que ficará visível na Home do Android para o usuário abrir o aplicativo.
Questão 7/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:
	
	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ê assinalou essa alternativa (E)
Questão 8/10 - Tópicos Avançados em Programação
Com base nas imagens acima e atividades de criação de views, avalie coloque V ou F sobre a criação de Views no Android Studio:
(  ) Ao digitar HomeActivity no nome da activity, o próprio wizard vai preencher automaticamente "activity_home" como sugestão do nome do arquivo de layout XML.
(  ) Quando criado com wizard do Android Studio um Empty activity dois arquivos são criado a Classe Kotlin e o XML de layout.
(  ) Criando a Activity pelo Wizard do Android Studio automaticamente é incluída a View nas configurações do arquivo AndroidManifest.xml.
(  ) Os arquivos xml ficam localizados na pasta /res/values/layout.
Baseado nas suas respostas, a sequência correta é:
	
	A
	V V F V
	
	B
	F F V V
	
	C
	V V V F
Você assinalou essa alternativa (C)
	
	D
	F V V F
	
	E
	V F F F
Questão 9/10 - Tópicos Avançados em Programação
Kotlin Playground, criada pelos fundadores da linguagem, justamente para você digitar alguns códigos e se acostumar com a sintaxe.
Com base na imagem acima podemos é correto afirmar:
	
	A
	É necessário realizar a instalação no PC.
	
	B
	Quando inicia a ferramenta já abre com uma classe main().
	
	C
	Quando é pressionado o Botão “Run” (item 1 da imagem) é mostrado o resultado “Hello, world!!!” (item 2 da imagem)
Você assinalou essa alternativa (C)
	
	D
	Para que seja possível executar a linha 2 (item 3 da imagem) é necessário desenvolver a função println.
	
	E
	O Item 2 da imagem pode ser alterado apenas clicando em cima.
Questão 10/10 - Tópicos Avançados em Programação
Sobre utilização das View RadioButton e CheckBox, avalie as assertivas abaixo:
I. Para criação do RadioButton não é necessário que esteja aninhado dentro de uma tag RadioGroup.
II. É necessário criar um RadioButton para cada opção que desejamos e cada opção deve possuir um id único.
III. Para que os RadioButtons fiquem um ao lado do outro utiliza o atributo android:orientation="horizontal" no RadioGroup.
IV. O RadioGroup também precisa de um id único.
V. O Texto que aparecerá ao lado do Checkbox utiliza o atributo android:text.
Baseado nas suas respostas são corretas:
	
	A
	Apenas I, IV e V
	
	B
	Apenas II e III
	
	C
	Apenas II,III e V
Você assinalou essa alternativa (C)
	
	D
	Todas estão corretas
	
	E
	Apenas a I
Questão 1/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:
	
	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)
	
	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 2/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:
	
	A
	Apenas I,II e IV
	
	B
	Apenas II, III e IV
Você assinalou essa alternativa (B)
	
	C
	Apenas II e III
	
	D
	Todas estão corretas
	
	E
	Apenas a I
Questão 3/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:
	
	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)
Questão 4/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 é:
	
	A
	V V F V
	
	B
	F V V F
Você assinalou essa alternativa (B)
	
	C
	V V V F
	
	D
	F V V V
	
	E
	V F F F
Questão 5/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:
	
	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.
Você assinalou essa alternativa (E)
Questão 6/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:
	
	A
	Apenas I e IV
	
	B
	Apenas II e III
	
	C
	Apenas I, III e IV
Você assinalou essa alternativa (C)
	
	D
	Apenas I e II
	
	E
	Apenas II, III e IV
Questão 7/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 é:
	
	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)
Questão 8/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:
	
	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)
	
	E
	id.findViewById<View>(tLogin)
Questão 9/10 - Tópicos Avançados em Programação
Uma Intent é o coração do Android e está presente em todos os lugares, ela representa uma mensagem do aplicativo para o sistema operacional, solicitando que algoseja realizado. Com uma intent, podemos abrir telas de outros aplicativos como o de um email, SMS, mapas etc.
Sobre Intents, avalie as assertivas abaixo:
I. Podemos criar uma intent simples para chamar o browser com: “val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://google.com"))”
II. Podemos criar uma intent passando como parametro uma localização com: “val intent = Intent(Intent.ACTION_VIEW, Uri.parse("geo://@-25.3848941,-49.2763565,15z"))
III. Para chamar a intent segura “val intent = Intent(Intent.ACTION_CALL, Uri.parse("tel:987654321"))” é necessário adicionar uma tag <uses-permission android:name="android.permission.CALL_PHONE" /> no AndroidManigest.xml
IV. Solicitar permissão dentro do aplicativo e mostrar ao usuário o alerta de permissão, não é considerada uma melhor alternativa e boa prática.
Baseado nas suas respostas são corretas:
	
	A
	Apenas I, II e IV
	
	B
	Apenas II e IV
	
	C
	Apenas I, II e III
Você assinalou essa alternativa (C)
	
	D
	Todas estão corretas
	
	E
	Apenas a I
Questão 10/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:
	
	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)
	
	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 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:
	
	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)
Questão 2/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
	
	A
	onRestart > onStart > onResume
Você assinalou essa alternativa (A)
	
	B
	onCreate > onStart > onResume
	
	C
	onCreate > onResume > onStart
	
	D
	onRestart > onResume > onStart
	
	E
	onStart > onCreate > onResume
Questão 3/10 - Tópicos Avançados em Programação
Quando criamos um Projeto no Android Studio é criada uma estrutura de pastas e arquivos de configurações. Sobre a criação de um projeto é correto afirmar
(   ) Na pasta “/res/mipmap” contém o ícone do aplicativo.
(   ) Na pasta “res/drawable” pode ser adicionado as figuras para mostrar no aplicativo.
(   ) O ícone e nome do aplicativo é configurado no arquivo manifesto e para indicar o ícone que será utilizado utiliza a notação “@mipmap/ic_launcher”
(   ) O arquivo “res/value/strings.xml” possui vários textos separados por chave e valor, onde a ideia do arquivo é deixar apenas os textos mais utilizados no aplicativo.
(   ) O arquivo “res/value/colors.xml” são as cores como variáveis em notação binária, incluidas para serem utilizadas de forma pontual no aplicativo.
(   ) O arquivo “res/value/styles.xml” é o arquivo que define o tema do aplicativo.
Baseado nas suas respostas, a sequência correta é:
	
	A
	V F V V F F
	
	B
	F F V F V V
	
	C
	V V V F F F
	
	D
	V V V F F V
Você assinalou essa alternativa (D)
	
	E
	V F F V F V
Questão 4/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:
	
	A
	II, IV e V.
	
	B
	I, II, IV e V.
	
	C
	I e II.
	
	D
	I e IV.
Você assinalou essa alternativa (D)
	
	E
	I, II, III e V.
Questão 5/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 <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 é
	
	A
	3, 1, 4, 2
Você assinalou essa alternativa (A)
	
	B
	1, 3, 4, 2
	
	C
	3, 2, 4, 1
	
	D
	1, 4, 2, 3
	
	E
	2, 1, 3, 4
Questão 6/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 é:
	
	A
	V V F V
	
	B
	F V V V
Você assinalou essa alternativa (B)
	
	C
	V V V F
	
	D
	F V F F
	
	E
	V F F F
Questão 7/10 - Tópicos Avançados em Programação
Sobre o arquivo AndroidManifest.xml, avalie as assertivas abaixo:
I. O atributo android:parentActivityName=".MainActivity" em todas as novas activities, onde a MainActivity é a activity-pai e que o botão de voltar deve voltar para essa tela.
II. A tag android:name define o nome da tela.
III. A tag android:label define o título que será exibido na AppBar.São corretas:
	
	A
	Apenas a I
	
	B
	Apenas II
	
	C
	Apenas I e II
	
	D
	Apenas I e III
Você assinalou essa alternativa (D)
	
	E
	Todas estão corretas.
Questão 8/10 - Tópicos Avançados em Programação
Para adicionar o id em uma view, utilizamos o atributo android:id, a sintaxe que deve ser utilizada é :
	
	A
	android:id=“@+id/codigoIdAqui”
Você assinalou essa alternativa (A)
	
	B
	android:id=“codigoIdAqui”
	
	C
	android:id=“+id/codigoIdAqui”
	
	D
	android:id=“@id/codigoIdAqui”
	
	E
	android:id=“/codigoIdAqui”
Questão 9/10 - Tópicos Avançados em Programação
Com base nas imagens acima e atividades de criação de views, avalie coloque V ou F sobre a criação de Views no Android Studio:
(  ) Ao digitar HomeActivity no nome da activity, o próprio wizard vai preencher automaticamente "activity_home" como sugestão do nome do arquivo de layout XML.
(  ) Quando criado com wizard do Android Studio um Empty activity dois arquivos são criado a Classe Kotlin e o XML de layout.
(  ) Criando a Activity pelo Wizard do Android Studio automaticamente é incluída a View nas configurações do arquivo AndroidManifest.xml.
(  ) Os arquivos xml ficam localizados na pasta /res/values/layout.
Baseado nas suas respostas, a sequência correta é:
	
	A
	V V F V
	
	B
	F F V V
	
	C
	V V V F
Você assinalou essa alternativa (C)
	
	D
	F V V F
	
	E
	V F F F
Questão 10/10 - Tópicos Avançados em Programação
1 – onCreate(bundle)
2 – onStart()
3 – onRestart()
4 – onResume()
5 – onPause()
6 – onStop()
7 – onDestroy()
Relacione cada item acima com sua respectiva definição:
(  ) chamado sempre que a tela da activity fechar.
(  ) realizar a inicialização necessária para executar o aplicativo.
(  ) quando chamado encerra a execução de uma activity. Ele pode ser chamado automaticamente pelo sistema operacional para liberar recursos ou pode ser chamado pelo aplicativo com o método finish() da classe Activity.
(  ) chamado quando uma activity foi parada temporariamente e está sendo iniciada outra vez.
(  ) 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.
(  ) chamado logo depois do método onPause() e indica que a activity está sendo encerrada e não está mais visível ao usuário.
(  ) raramente utilizado, chamado quando a activity ficará visível ao usuário é já tem um view.
A sequência correta é:
	
	A
	5, 1, 7, 3, 4, 6, 2
Você assinalou essa alternativa (A)
	
	B
	7, 3, 4, 6, 2, 5, 1
	
	C
	5, 1, 7, 4, 3, 6, 2
	
	D
	6, 2, 5, 1, 7, 4, 3
	
	E
	5, 1, 7, 2, 6, 3, 4

Outros materiais