Buscar

Topicos Avancados em Programacao - APOL 1 - Atividade Pratica

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 20 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 20 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 20 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
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 2/10 - Tópicos Avançados em Programação
Com base no código acima é correto afirmar:
	
	A
	A linha 4 está incorreta pois para imprimir o valor do nome deveria ser utilizada a sintaxe ${nome}.
	
	B
	A linha 5 está incorreta pois deveria utiliza “+” para concatenar o caractere “>” com o valor da constante “nomeCompleto”.
	
	C
	São declaradas 2 variáveis (nome e sobremone) e 1 constante (nomeCompleto).
	
	D
	A declaração das 3 constantes estão incompletas pois obrigatoriamente deve ser informado qual o tipo da constante com “:” após o nome da constante.
	
	E
	Se utilizada a palavra “val” na declaração da variável ela será tratada como uma constante e não poderá ser alterada.
Você assinalou essa alternativa (E)
Questão 3/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 4/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 5/10 - Tópicos Avançados em Programação
No Kotlin é possível omitir o tipo da variável na sua declaração quando se atribui um valor.
Sobre a criação uma lista de Strings é correto afirmar:
	
	A
	Para criar deve ser utilizada obrigatoriamente a sintaxe abaixo:
val nomes:ArrayList<String> = ArrayList<String>()
	
	B
	A única forma de incluir itens na lista é utilizado a sintaxe abaixo:
nomes.add("Fulano")
	
	C
	É possível criar uma lista e na declaração atribuir os todos os valores, utilizando a sintaxe abaixo:
val nomes:List<String> = listOf("Fulano", "Beltrano", "Sicrano")
Você assinalou essa alternativa (C)
	
	D
	Após utilizado o listOf na declaração da lista do tipo val é possível incluir mais itens utilizando a sintaxe nomes.add("Fulano2").
	
	E
	Para incluir novos itens na lista abaixo, basta utilizar o método add
val nomes:List<String> = listOf("Fulano", "Beltrano", "Sicrano")
Questão 6/10 - Tópicos Avançados em Programação
É muito comum na programação precisarmos converter um Int para um String, esse processo de conversão é chamado de Cast.
Sobre a conversão de tipos em Kotlin é correto afirmar:
	
	A
	É necessário realizar a validação de tipo antes de utilizar a chamada de Cast, da mesma forma que é feita em Java.
	
	B
	Utilizando o operador “is” é realizada a verificação do tipo e o Cast é realizado ao mesmo tempo.
Você assinalou essa alternativa (B)
	
	C
	Utilizando o operador “as” será lançada uma exceção do tipo TypeCastException.
	
	D
	Utilizando o operador “as?” lança uma exceção ClassCastException e retorna null.
	
	E
	O Kotlin não realiza o cast automaticamente o chamado Smart Cast, como em outras linguagens de programação.
Questão 7/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:
	
	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)
	
	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 8/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 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
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/20 - 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: 5.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 2/20 - 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: 5.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 3/20 - 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: 5.0
	
	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.
Questão 4/20 - 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: 5.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ê assinalou essa alternativa (D)
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 5/20 - 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: 5.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ê assinalou essa alternativa (E)
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 6/20 - 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: 5.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 7/20 - 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: 5.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 deAppCompatActivity.
	
	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 8/20 - 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:
Nota: 5.0
	
	A
	android:text="@string/hello" e criado a string hello no arquivo strings.xml.
Você assinalou essa alternativa (A)
Você acertou!
A letra A é a correta, conforme o explicado da introdução do Tema 4, da AULA 1.
	
	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 9/20 - Tópicos Avançados em Programação
No Kotlin é possível omitir o tipo da variável na sua declaração quando se atribui um valor.
Sobre a criação uma lista de Strings é correto afirmar:
Nota: 5.0
	
	A
	Para criar deve ser utilizada obrigatoriamente a sintaxe abaixo:
val nomes:ArrayList<String> = ArrayList<String>()
	
	B
	A única forma de incluir itens na lista é utilizado a sintaxe abaixo:
nomes.add("Fulano")
	
	C
	É possível criar uma lista e na declaração atribuir os todos os valores, utilizando a sintaxe abaixo:
val nomes:List<String> = listOf("Fulano", "Beltrano", "Sicrano")
Você assinalou essa alternativa (C)
Você acertou!
A resposta correta é a letra C, conforme item2.3 do Tema 2 da AULA 2.
	
	D
	Após utilizado o listOf na declaração da lista do tipo val é possível incluir mais itens utilizando a sintaxe nomes.add("Fulano2").
	
	E
	Para incluir novos itens na lista abaixo, basta utilizar o método add
val nomes:List<String> = listOf("Fulano", "Beltrano", "Sicrano")
Questão 10/20 - 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: 5.0
	
	A
	V F V V F F
	
	B
	F V F V V V
Você assinalou essa alternativa (B)
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 11/20 - Tópicos Avançados em Programação
Com base no código acima é correto afirmar:
Nota: 5.0
	
	A
	A linha 4 está incorreta pois para imprimir o valor do nome deveria ser utilizada a sintaxe ${nome}.
	
	B
	A linha 5 está incorreta pois deveria utiliza “+” para concatenar o caractere “>” com o valor da constante “nomeCompleto”.
	
	C
	São declaradas 2 variáveis (nome e sobremone) e 1 constante (nomeCompleto).
	
	D
	A declaração das 3 constantes estão incompletas pois obrigatoriamente deve ser informado qual o tipo da constante com “:” após o nome da constante.
	
	E
	Se utilizada a palavra “val” na declaração da variável ela será tratada como uma constante e não poderá ser alterada.
Você assinalou essa alternativa (E)
Você acertou!
A Resposta correta é a letra E, conforme o item 2.1 e 2.2 do Tema 2 da AULA 2.
Questão 12/20 - 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: 5.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 13/20 - 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:
Nota: 5.0
	
	A
	Apenas I, IV e V
	
	B
	Apenas II e III
	
	C
	Apenas II, III e V
Você assinalou essa alternativa (C)
Você acertou!
A reposta correta é a letra C, conforme explicado no item 5.3 do TEMA 5 da AULA 3.
	
	D
	Todas estão corretas
	
	E
	Apenas a I
Questão 14/20 - 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:
Nota: 5.0
	
	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)
Você acertou!
A reposta correta é a letra B, conforme explicado na introdução do TEMA 1 da AULA 3.
	
	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 15/20 - 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: 5.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 comboque está escrito Verbose, onde pode ser criados os filtros com apenas o nível de severidade que estamos interessados.
Questão 16/20 - 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 é :
Nota: 5.0
	
	A
	android:id=“@+id/codigoIdAqui”
Você assinalou essa alternativa (A)
Você acertou!
A letra A é a correta, conforme o explicado no item 5.4 do Tema 5, da AULA 3.
	
	B
	android:id=“codigoIdAqui”
	
	C
	android:id=“+id/codigoIdAqui”
	
	D
	android:id=“@id/codigoIdAqui”
	
	E
	android:id=“/codigoIdAqui”
Questão 17/20 - Tópicos Avançados em Programação
O operador ternário existente em várias linguagens e é utilizado para evitar o uso do if/else em várias linhas. Existe outro operador o Elvis para responder a pergunta: se valor da variável for nullo qual valor eu mostro.
Sobre a utilização do operador ternário e Elvis, marque a alternativa correta:
Nota: 0.0
	
	A
	Como no Java deve ser utilizado interrogação '?' seguida de dois-pontos ‘:’’, não sendo possível escrever todo if/else na mesma linha.
	
	B
	Quando a função tem apenas uma linha podemos colocar o símbolo “?” logo após a declaração da função.
	
	C
	O operador Elvis é identificado por “?:”, quando utilizado se o valor da variável não for nulo, usa seu próprio valor; caso contrário, use outro valor padrão do kotlin.
Você assinalou essa alternativa (C)
	
	D
	Nos parâmetros da função também pode ser utilizado o operador “?”, após o tipo do parâmetro “String?”, é para aceitar valores nulos e caso não seja informado nenhum valor.
A resposta correta é a letra D, conforme itens 2.5 e 2.6 do Tema 2 da AULA 2.
	
	E
	Não é possível utiliza default arguments em Kotlin.
Questão 18/20 - 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: 5.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 19/20 - 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 é:
Nota: 5.0
	
	A
	V V F V
	
	B
	F F V V
	
	C
	V V V F
Você assinalou essa alternativa (C)
Você acertou!
A reposta correta é a letra C, conforme explicado na introdução do TEMA 5 da AULA 3.
	
	D
	F V V F
	
	E
	V F F F
Questão 20/20 - Tópicos Avançados em Programação
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: 5.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.

Continue navegando