Você está na página 1de 119

Sistemas operacionais de outros equipamentos

1. 

O Android foi desenvolvido, inicialmente, para quais tipos de dispositivos?

Resposta incorreta.

A. 
PC e Laptops.
O Android foi concebido inicialmente para atender às necessidades de
dispositivos móveis.

Resposta incorreta.

B. 
Linux e Windows.
Tanto o Linux quanto o Windows são sistemas operacionais utilizados
em computadores, porém há versão do Windows para smartphones.

Você acertou!

C. 
Smartphones e Tablets.
A maioria dos smartphones e tablets utilizam o Android como sistema
operacional.

Resposta incorreta.

D. 
Impressoras e Scanners.
Normalmente, os softwares desses equipamentos são desenvolvidos
pelos próprios fabricantes.

Resposta incorreta.

E. 
Monitores touchscreen.
Os monitores são hardwares, que necessitam de softwares para funcionar
com o recurso de touchscreen.

_________________________________________________________
_________________
2. 

Qual empresa que desenvolve a versão original do Android?

Resposta incorreta.

A. 
Microsoft.
A Microsoft é a empresa que desenvolve o sistema operacional
Windows e outros softwares aplicativos.

Resposta incorreta.

B. 
Apple.
A Apple desenvolve o sistema operacional IOS, que é específico para
o hardware da Apple.

Você acertou!

C. 
Google.
A Google desenvolve e mantém o código aberto do sistema operacional
Android.

Resposta incorreta.

D. 
Yahoo.
A Yahoo é uma empresa cujo o foco é o desenvolvimento de negócios
para internet.

Resposta incorreta.

E. 
Facebook.
A Facebook é a empresa que desenvolve a rede social Facebook e
recentemente comprou o app Whatsapp.

_________________________________________________________
_________________

3. 
Qual o nome da camada do sistema operacional Android que é responsável
por disponibilizar aos desenvolvedores as APIs de programação?

Você acertou!

A. 
Framework.
Esta camada é responsável por disponibilizar aos desenvolvedores as
APIs (Applications Programming Interface). A partir dessas interfaces de
programação, é possível desenvolver aplicações para rodar no sistema
operacional Android.

Resposta incorreta.

B. 
Aplicações.
A camada de aplicativos é a que está no topo da pirâmide da arquitetura
do sistema operacional Android, nessa camada que ficam as aplicações
(desenvolvidas em Java).

Resposta incorreta.

C. 
Bibliotecas e Serviços.
Nesta camada, estão as bibliotecas básicas do sistema como a Bionic, a
OpenGL/ES para trabalhar com gráficos, e a SQLite para trabalhar com
Banco de Dados.

Resposta incorreta.

D. 
Android Runtime.
A partir do Android Runtime, é possível que cada thread rode a sua
própria máquina virtual, pois as aplicações mesmo que sejam
desenvolvidas em java, não rodam em uma máquina virtual Java
tradicional.

Resposta incorreta.

E. 
Java Virtual Machine.
Máquina virtual Java é um programa que carrega e executa os
aplicativos Java, convertendo os bytecodes em código executável de
máquina.

_________________________________________________________
_________________

4. 

Qual diretório do sistema de arquivos do Android que armazena as


informações do cartão de memória não removível do dispositivo?

Resposta incorreta.

A. 
/Cache.
Esse diretório armazena informações usadas com frequência, como
arquivos temporários que devem ser lidos com rapidez pelo sistema.

Resposta incorreta.

B. 
/Init.
Esse diretório contém um programa especializado em inicializar os
elementos do sistema Android.

Resposta incorreta.

C. 
/System.
Esse diretório armazena o sistema operacional em uma partição
separada que é montada na inicialização.

Resposta incorreta.

D. 
/Tmp.
Esse diretório armazena os arquivos temporários.

Você acertou!

E. 
/Sdcard.
O diretório "/Sdcard" armazena os dados do cartão SD não removível do
Android.

_________________________________________________________
_________________

5. 
Qual a utilidade do software Cisco Packet Tracer?

Resposta incorreta.

A. 
Simular o funcionamento do sistema operacional Android.
A simulação do funcionamento do Android pode ser realizada através da
instalação de uma máquina virtual.

Resposta incorreta.

B. 
Monitorar os processos que estão rodando em um sistema operacional Android.
O monitoramento dos processos rodando no Android pode ser realizado
através do aplicativo CPU Monitor.

Resposta incorreta.

C. 
Simular a inicialização de um computador que possui dois sistemas operacionais.
Esse tipo de simulação pode ser feito utilizando máquina virtual no
VirtualBox ou VmWare.

Você acertou!

D. 
Simular o funcionamento de ambientes de rede.
O simulador permite aos administradores de redes realizar projetos de
redes sem possuir os equipamentos.

Resposta incorreta.

E. 
Monitorar a utilização do disco no sistema operacional Android.
O Android possui uma opção nas configurações que permite
acompanhar a utilização do espaço de armazenamento em disco.

_________________________________________________________
_________________

Projeto de software para dispositivos móveis

1. 

Para desenvolver softwares móveis de qualidade, deve-se analisar os


diferentes contextos da aplicação, suas interações, sua usabilidade, a
privacidade e a segurança. Para isso, testes devem ser realizados, como, por
exemplo, o funcional, que busca conferir:

Resposta incorreta.

A. 
a experiência do usuário, a facilidade e a possibilidade de realizar as ações pretendidas.
O teste funcional visa certificar que todos os requisitos foram
implementados e funcionam da maneira que deveriam. Para eliminar
lentidão, teste de desempenho deve ser realizados. Para verificar a
experiência do usuário, testes de usabilidades devem ser feitos. Testes
de mobilidade e compatibilidade visam garantir que os aplicativos se
conectem a diferentes redes e interajam com diferentes hardwares.

Você acertou!

B. 
a implementação e o funcionamento de todos os requisitos, que devem corresponder ao esperado. 
O teste funcional visa certificar que todos os requisitos foram
implementados e funcionam da maneira que deveriam. Para eliminar
lentidão, teste de desempenho deve ser realizados. Para verificar a
experiência do usuário, testes de usabilidades devem ser feitos. Testes
de mobilidade e compatibilidade visam garantir que os aplicativos se
conectem a diferentes redes e interajam com diferentes hardwares.

Resposta incorreta.

C. 
o tempo de resposta,  eliminando lentidão ou travamento do aplicativo.
O teste funcional visa certificar que todos os requisitos foram
implementados e funcionam da maneira que deveriam. Para eliminar
lentidão, teste de desempenho deve ser realizados. Para verificar a
experiência do usuário, testes de usabilidades devem ser feitos. Testes
de mobilidade e compatibilidade visam garantir que os aplicativos se
conectem a diferentes redes e interajam com diferentes hardwares.

Resposta incorreta.

D. 
a capacidade de comunicação do seu aplicativo com outros aplicativos e redes.
O teste funcional visa certificar que todos os requisitos foram
implementados e funcionam da maneira que deveriam. Para eliminar
lentidão, teste de desempenho deve ser realizados. Para verificar a
experiência do usuário, testes de usabilidades devem ser feitos. Testes
de mobilidade e compatibilidade visam garantir que os aplicativos se
conectem a diferentes redes e interajam com diferentes hardwares.

Resposta incorreta.

E. 
a interação do aplicativo com hardware e todos os tipos de rede de maneira satisfatória.
O teste funcional visa certificar que todos os requisitos foram
implementados e funcionam da maneira que deveriam. Para eliminar
lentidão, teste de desempenho deve ser realizados. Para verificar a
experiência do usuário, testes de usabilidades devem ser feitos. Testes
de mobilidade e compatibilidade visam garantir que os aplicativos se
conectem a diferentes redes e interajam com diferentes hardwares.

_________________________________________________________
_________________

2. 

O desenvolvimento de softwares móveis apresenta peculiaridades em


relação a softwares desktops, por exemplo. Qual das dificuldades técnicas no
desenvolvimento não compreende o desenvolvimento móvel ?

Resposta incorreta.

A. 
Diversas plataformas de hardware e software.
No desenvolvimento de software móveis, os ciclos de desenvolvimento
tendem a ser curtos.

Resposta incorreta.

B. 
Diversas linguagens de programação.
No desenvolvimento de software móveis, os ciclos de desenvolvimento
tendem a ser curtos.

Resposta incorreta.

C. 
Uso de bateria.
No desenvolvimento de software móveis, os ciclos de desenvolvimento
tendem a ser curtos.

Você acertou!
D. 
Ciclos de desenvolvimento longos.
No desenvolvimento de software móveis, os ciclos de desenvolvimento
tendem a ser curtos.

Resposta incorreta.

E. 
Uso do contexto da aplicação.
No desenvolvimento de software móveis, os ciclos de desenvolvimento
tendem a ser curtos.

_________________________________________________________
_________________

3. 

No projeto de desenvolvimento de softwares móveis, uma das atividades


importantes é projetar as interfaces. Os projetos de interfaces podem ser
feitos à mão ou com ferramentas de software. Para um protótipo de tela
com alta fidedignidade, uma ferramenta indicada é:

Você acertou!

A. 
Figma.
O Figma é uma ferramenta online e colaborativa para desenvolvimento
de protótipos de alta fidedignidade.

Resposta incorreta.

B. 
Xcode.
O Figma é uma ferramenta online e colaborativa para desenvolvimento
de protótipos de alta fidedignidade.

Resposta incorreta.

C. 
Android Studio.
O Figma é uma ferramenta online e colaborativa para desenvolvimento
de protótipos de alta fidedignidade.

Resposta incorreta.
D. 
MarvenApp.
O Figma é uma ferramenta online e colaborativa para desenvolvimento
de protótipos de alta fidedignidade.

Resposta incorreta.

E. 
Balsamiq.
O Figma é uma ferramenta online e colaborativa para desenvolvimento
de protótipos de alta fidedignidade.

_________________________________________________________
_________________

4. 

Existem várias regras para o desenvolvimento de aplicativos móveis e de


aplicativos em determinadas plataformas como iOS e Android. Essa
variedade, às vezes, dificulta a publicação do seu software em uma Store. É
uma boa prática no desenvolvimento:

Resposta incorreta.

A. 
usar sempre cores neutras, buscando baixo contraste entre fontes e fundos.
Os rótulos devem ser limpos e coerentes: os rótulos de widget devem
ser de fácil reconhecimento e de tamanho adequado. Evite rótulos com
textos grandes e use abreviações com cautela.

Resposta incorreta.

B. 
fazer uso de barras de rolagens com formulários extensos.
Os rótulos devem ser limpos e coerentes: os rótulos de widget devem
ser de fácil reconhecimento e de tamanho adequado. Evite rótulos com
textos grandes e use abreviações com cautela.

Resposta incorreta.

C. 
evitar a possibilidade de personalização do software.
Os rótulos devem ser limpos e coerentes: os rótulos de widget devem
ser de fácil reconhecimento e de tamanho adequado. Evite rótulos com
textos grandes e use abreviações com cautela.
Resposta incorreta.

D. 
ignorar o contexto da aplicação nos dispositivos móveis.
Os rótulos devem ser limpos e coerentes: os rótulos de widget devem
ser de fácil reconhecimento e de tamanho adequado. Evite rótulos com
textos grandes e use abreviações com cautela.

Você acertou!

E. 
serem os rótulos de widget de fácil reconhecimento e de tamanho adequado.
Os rótulos devem ser limpos e coerentes: os rótulos de widget devem
ser de fácil reconhecimento e de tamanho adequado. Evite rótulos com
textos grandes e use abreviações com cautela.

_________________________________________________________
_________________

5. 

O projeto de desenvolvimento de software pode ser descrito em


seis fases: formulação, planejamento, análise, engenharia, implementações
e testes e, por fim, avaliação do usuário. A fase de engenharia envolve:

Resposta incorreta.

A. 
elucidar os custos envolvidos e os riscos que o projeto tem.
As seis fases descritas são as seguintes:  
Formulação: envolve projeto arquitetural, projeto de navegação; as
metas, os recursos e as funções do aplicativo móvel.
Planejamento: visa elucidar os custos envolvidos e os riscos que o
projeto possui.
Análise: visa à especificação dos requisitos do software móvel e dos
conteúdos necessários. 
A fase de engenharia: envolve a análise do projeto de interface, de
arquitetura, navegação e conteúdo.
A fase de implementação e testes: realizam-se a codificação e testes.
Por fim, a avaliação do usuário, que visa garantir a usabilidade e a
acessibilidade.

Resposta incorreta.

B. 
estabelecer o cronograma e a documentação dos próximos incrementos.
As seis fases descritas são as seguintes:  
Formulação: envolve projeto arquitetural, projeto de navegação; as
metas, os recursos e as funções do aplicativo móvel.
Planejamento: visa elucidar os custos envolvidos e os riscos que o
projeto possui.
Análise: visa à especificação dos requisitos do software móvel e dos
conteúdos necessários. 
A fase de engenharia: envolve a análise do projeto de interface, de
arquitetura, navegação e conteúdo.
A fase de implementação e testes: realizam-se a codificação e testes.
Por fim, a avaliação do usuário, que visa garantir a usabilidade e a
acessibilidade.

Resposta incorreta.

C. 
avaliar a usabilidade e acessibilidade.
As seis fases descritas são as seguintes:  
Formulação: envolve projeto arquitetural, projeto de navegação; as
metas, os recursos e as funções do aplicativo móvel.
Planejamento: visa elucidar os custos envolvidos e os riscos que o
projeto possui.
Análise: visa à especificação dos requisitos do software móvel e dos
conteúdos necessários. 
A fase de engenharia: envolve a análise do projeto de interface, de
arquitetura, navegação e conteúdo.
A fase de implementação e testes: realizam-se a codificação e testes.
Por fim, a avaliação do usuário, que visa garantir a usabilidade e a
acessibilidade.

Resposta incorreta.

D. 
realizar a codificação e testes.
As seis fases descritas são as seguintes:  
Formulação: envolve projeto arquitetural, projeto de navegação; as
metas, os recursos e as funções do aplicativo móvel.
Planejamento: visa elucidar os custos envolvidos e os riscos que o
projeto possui.
Análise: visa à especificação dos requisitos do software móvel e dos
conteúdos necessários. 
A fase de engenharia: envolve a análise do projeto de interface, de
arquitetura, navegação e conteúdo.
A fase de implementação e testes: realizam-se a codificação e testes.
Por fim, a avaliação do usuário, que visa garantir a usabilidade e a
acessibilidade.

Você acertou!

E. 
analisar o projeto de interface, de arquitetura, navegação e conteúdo.
As seis fases descritas são as seguintes:  
Formulação: envolve projeto arquitetural, projeto de navegação; as
metas, os recursos e as funções do aplicativo móvel.
Planejamento: visa elucidar os custos envolvidos e os riscos que o
projeto possui.
Análise: visa à especificação dos requisitos do software móvel e dos
conteúdos necessários. 
A fase de engenharia: envolve a análise do projeto de interface, de
arquitetura, navegação e conteúdo.
A fase de implementação e testes: realizam-se a codificação e testes.
Por fim, a avaliação do usuário, que visa garantir a usabilidade e a
acessibilidade.

_________________________________________________________
_________________

Funcionalidades nativas
1. 

Quando se fala em desenvolvimento específico para cada plataforma, é


possível chamar essa abordagem de desenvolvimento nativo.
Sendo assim, marque a alternativa que melhor corresponde a esse tipo de
desenvolvimento.

Você acertou!

A. 
É quando toda e qualquer funcionalidade de uma determinada plataforma fica à disposição, sem restrições,
podendo implementar padrões de interface gráfica e de experiência com o usuário.
É quando toda e qualquer funcionalidade de uma determinada
plataforma fica à disposição. A grande vantagem das aplicações nativas
é a capacidade que elas têm de se comunicar com os dispositivos do
aparelho, como câmera, acelerômetro, entre outros. Isso faz com que a
aplicação fique mais completa.
Resposta incorreta.

B. 
É quando algumas funcionalidades de uma plataforma ficam à disposição, podendo implementar padrões
específicos de interface gráfica.
É quando toda e qualquer funcionalidade de uma determinada
plataforma fica à disposição. A grande vantagem das aplicações nativas
é a capacidade que elas têm de se comunicar com os dispositivos do
aparelho, como câmera, acelerômetro, entre outros. Isso faz com que a
aplicação fique mais completa.

Resposta incorreta.

C. 
É quando toda e qualquer funcionalidade de uma determinada plataforma fica à disposição, com restrições
relativamente consideráveis, sem a possibilidade de implementar algum padrão de experiência com o usuário.
É quando toda e qualquer funcionalidade de uma determinada
plataforma fica à disposição. A grande vantagem das aplicações nativas
é a capacidade que elas têm de se comunicar com os dispositivos do
aparelho, como câmera, acelerômetro, entre outros. Isso faz com que a
aplicação fique mais completa.

Resposta incorreta.

D. 
É quando algumas funcionalidades de uma plataforma ficam à disposição, sem a possibilidade de implementar
algum padrão de interface gráfica.
É quando toda e qualquer funcionalidade de uma determinada
plataforma fica à disposição. A grande vantagem das aplicações nativas
é a capacidade que elas têm de se comunicar com os dispositivos do
aparelho, como câmera, acelerômetro, entre outros. Isso faz com que a
aplicação fique mais completa.

Resposta incorreta.

E. 
É quando algumas funcionalidades de uma determinada plataforma ficam à disposição, com algumas restrições
quanto à possibilidade de implementar algum padrão de interface gráfica e de experiência com o usuário.
É quando toda e qualquer funcionalidade de uma determinada
plataforma fica à disposição. A grande vantagem das aplicações nativas
é a capacidade que elas têm de se comunicar com os dispositivos do
aparelho, como câmera, acelerômetro, entre outros. Isso faz com que a
aplicação fique mais completa.

_________________________________________________________
_________________
2. 

Além do desenvolvimento nativo, é possível elencar o desenvolvimento


híbrido, o qual pode ser descrito como uma mistura do desenvolvimento
nativo, utilizando os recursos mais complexos de hardware, com o
desenvolvimento Web, utilizando HTML5, CSS e JavaScript.
Sendo assim, marque a alternativa que melhor conceitualiza o
desenvolvimento híbrido.

Resposta incorreta.

A. 
Uma aplicação híbrida pode oferecer uma funcionalidade semelhante a um aplicativo. A maior desvantagem de
usar uma aplicação híbrida é que a aplicação não pode ser vista por meio de uma loja de aplicativos.
Uma aplicação híbrida é desenvolvida para funcionar em múltiplas
plataformas. É preciso utilizar uma única linguagem de programação
(como Java ou uma combinação de HTML5 e Javascript) e, após a
aplicação, pode ser compilada para ser executada em cada uma das
plataformas (como iOS e Android, por exemplo). A maior vantagem de
aplicativos híbridos é que eles permitem o suporte a vários sistemas
operacionais com um custo mais razoável do que desenvolver vários
aplicativos nativos.

Resposta incorreta.

B. 
Um aplicativo híbrido é projetado para trabalhar em múltiplas plataformas, não podendo ser executado em um
dispositivo que não utilize o mesmo sistema operacional.
Uma aplicação híbrida é desenvolvida para funcionar em múltiplas
plataformas. É preciso utilizar uma única linguagem de programação
(como Java ou uma combinação de HTML5 e Javascript) e, após a
aplicação, pode ser compilada para ser executada em cada uma das
plataformas (como iOS e Android, por exemplo). A maior vantagem de
aplicativos híbridos é que eles permitem o suporte a vários sistemas
operacionais com um custo mais razoável do que desenvolver vários
aplicativos nativos.

Resposta incorreta.

C. 
Um aplicativo híbrido necessita ser atualizado a cada nova atualização de versão do sistema operacional do
dispositivo, sendo necessário realizar as atualizações via loja de aplicativos.
Uma aplicação híbrida é desenvolvida para funcionar em múltiplas
plataformas. É preciso utilizar uma única linguagem de programação
(como Java ou uma combinação de HTML5 e Javascript) e, após a
aplicação, pode ser compilada para ser executada em cada uma das
plataformas (como iOS e Android, por exemplo). A maior vantagem de
aplicativos híbridos é que eles permitem o suporte a vários sistemas
operacionais com um custo mais razoável do que desenvolver vários
aplicativos nativos.

Resposta incorreta.

D. 
Uma aplicação híbrida permite que seu uso seja semelhante ao de um aplicativo móvel. No entanto, deve ser
executada em dispositivo que não utilize o mesmo sistema operacional.
Uma aplicação híbrida é desenvolvida para funcionar em múltiplas
plataformas. É preciso utilizar uma única linguagem de programação
(como Java ou uma combinação de HTML5 e Javascript) e, após a
aplicação, pode ser compilada para ser executada em cada uma das
plataformas (como iOS e Android, por exemplo). A maior vantagem de
aplicativos híbridos é que eles permitem o suporte a vários sistemas
operacionais com um custo mais razoável do que desenvolver vários
aplicativos nativos.

Você acertou!

E. 
Uma aplicação híbrida é desenvolvida para funcionar em múltiplas plataformas, sendo que os custos de apoio a
uma aplicação híbrida podem ser maiores que os custos de apoio a uma aplicação nativa.
Uma aplicação híbrida é desenvolvida para funcionar em múltiplas
plataformas. É preciso utilizar uma única linguagem de programação
(como Java ou uma combinação de HTML5 e Javascript) e, após a
aplicação, pode ser compilada para ser executada em cada uma das
plataformas (como iOS e Android, por exemplo). A maior vantagem de
aplicativos híbridos é que eles permitem o suporte a vários sistemas
operacionais com um custo mais razoável do que desenvolver vários
aplicativos nativos.

_________________________________________________________
_________________

3. 

Devido ao não acesso direto às funcionalidades nativas do dispositivo,


algumas das interações mais específicas, serão, por padrão, controladas
pelo auxílio de alguns plugins e/ou ferramentas desenvolvidas para o
sistema operacional específico.
Qual das opções a seguir é um possível exemplo de framework que
possibilita a comunicação com as funcionalidades nativas do dispositivo?

Resposta incorreta.

A. 
Ionic Framework.
O Apache Cordova é uma estrutura de desenvolvimento móvel de
código aberto. Ele permite que sejam utilizadas tecnologias padrões da
Web, como HTML5, CSS3 e JavaScript, para o desenvolvimento em
várias plataformas. Todos os recursos oferecidos por ele são nativos e
suportados por qualquer navegador de Internet, possibilitando, assim, o
acesso de recursos do aparelho, tais como câmera, contatos, GPS e
diversos outros.

Você acertou!

B. 
Apache Cordova.
O Apache Cordova é uma estrutura de desenvolvimento móvel de
código aberto. Ele permite que sejam utilizadas tecnologias padrões da
Web, como HTML5, CSS3 e JavaScript, para o desenvolvimento em
várias plataformas. Todos os recursos oferecidos por ele são nativos e
suportados por qualquer navegador de Internet, possibilitando, assim, o
acesso de recursos do aparelho, tais como câmera, contatos, GPS e
diversos outros.

Resposta incorreta.

C. 
APIs do Android.
O Apache Cordova é uma estrutura de desenvolvimento móvel de
código aberto. Ele permite que sejam utilizadas tecnologias padrões da
Web, como HTML5, CSS3 e JavaScript, para o desenvolvimento em
várias plataformas. Todos os recursos oferecidos por ele são nativos e
suportados por qualquer navegador de Internet, possibilitando, assim, o
acesso de recursos do aparelho, tais como câmera, contatos, GPS e
diversos outros.

Resposta incorreta.

D. 
SDK do Java.
O Apache Cordova é uma estrutura de desenvolvimento móvel de
código aberto. Ele permite que sejam utilizadas tecnologias padrões da
Web, como HTML5, CSS3 e JavaScript, para o desenvolvimento em
várias plataformas. Todos os recursos oferecidos por ele são nativos e
suportados por qualquer navegador de Internet, possibilitando, assim, o
acesso de recursos do aparelho, tais como câmera, contatos, GPS e
diversos outros.

Resposta incorreta.

E. 
Framework AngularJS.
O Apache Cordova é uma estrutura de desenvolvimento móvel de
código aberto. Ele permite que sejam utilizadas tecnologias padrões da
Web, como HTML5, CSS3 e JavaScript, para o desenvolvimento em
várias plataformas. Todos os recursos oferecidos por ele são nativos e
suportados por qualquer navegador de Internet, possibilitando, assim, o
acesso de recursos do aparelho, tais como câmera, contatos, GPS e
diversos outros.

_________________________________________________________
_________________

4. 

A grande vantagem em utilizar o Cordova é devido ao pacote


de plugins que ele fornece. Além dos plugins oferecidos pelo
próprio framework, há também outros plugins de terceiros que são
compatíveis com a plataforma.
Conforme a arquitetura de uma aplicação Cordova, quais são os seus
principais componentes?

Resposta incorreta.

A. 
LocalStorage, IndexedDB e WebSQL.
O Web App é o local que armazena o código da aplicação.O WebView é
responsável por fornecer à aplicação toda a interface do usuário.
O Cordova Plugins fornece uma interface para que o Cordova e os
demais componentes nativos consigam se comunicar entre si,
possibilitando a vinculação com as APIs do dispositivo.

Resposta incorreta.

B. 
Web App, LocalStorage e WebSQL.
O Web App é o local que armazena o código da aplicação.O WebView é
responsável por fornecer à aplicação toda a interface do usuário.
O Cordova Plugins fornece uma interface para que o Cordova e os
demais componentes nativos consigam se comunicar entre si,
possibilitando a vinculação com as APIs do dispositivo.

Resposta incorreta.

C. 
IndexedDB, WebView e Cordova Plugins.
O Web App é o local que armazena o código da aplicação.O WebView é
responsável por fornecer à aplicação toda a interface do usuário.
O Cordova Plugins fornece uma interface para que o Cordova e os
demais componentes nativos consigam se comunicar entre si,
possibilitando a vinculação com as APIs do dispositivo.

Você acertou!

D. 
Web App, WebView e Cordova Plugins.
O Web App é o local que armazena o código da aplicação.O WebView é
responsável por fornecer à aplicação toda a interface do usuário.
O Cordova Plugins fornece uma interface para que o Cordova e os
demais componentes nativos consigam se comunicar entre si,
possibilitando a vinculação com as APIs do dispositivo.

Resposta incorreta.

E. 
Web App, WebView e LocalStorage.
O Web App é o local que armazena o código da aplicação.O WebView é
responsável por fornecer à aplicação toda a interface do usuário.
O Cordova Plugins fornece uma interface para que o Cordova e os
demais componentes nativos consigam se comunicar entre si,
possibilitando a vinculação com as APIs do dispositivo.

_________________________________________________________
_________________

5. 

Existe um conjunto de plugins padrões básicos, os quais fornecem à


aplicação a possibilidade de acessar os recursos do dispositivo, como o
acelerômetro, o GPS, a bateria, a câmera, os contatos, etc.
Como é chamado esse conjunto de plugins, conforme a documentação
oficial do Apache Cordova?
Você acertou!

A. 
Core Plugins.
O projeto Apache Cordova mantém um conjunto de plugins chamado
de Core Plugins. Esses plugins básicos fornecem seu aplicativo para
acessar os recursos do dispositivo, como bateria, câmera, contatos, etc.
É um conjunto de ferramentas de desenvolvimento, que tem APIs de
dispositivos disponíveis para cada plataforma.

Resposta incorreta.

B. 
Plugins Framework.
O projeto Apache Cordova mantém um conjunto de plugins chamado
de Core Plugins. Esses plugins básicos fornecem seu aplicativo para
acessar os recursos do dispositivo, como bateria, câmera, contatos, etc.
É um conjunto de ferramentas de desenvolvimento, que tem APIs de
dispositivos disponíveis para cada plataforma.

Resposta incorreta.

C. 
NPM Plugins.
O projeto Apache Cordova mantém um conjunto de plugins chamado
de Core Plugins. Esses plugins básicos fornecem seu aplicativo para
acessar os recursos do dispositivo, como bateria, câmera, contatos, etc.
É um conjunto de ferramentas de desenvolvimento, que tem APIs de
dispositivos disponíveis para cada plataforma.

Resposta incorreta.

D. 
Plugins APIs Guide.
O projeto Apache Cordova mantém um conjunto de plugins chamado
de Core Plugins. Esses plugins básicos fornecem seu aplicativo para
acessar os recursos do dispositivo, como bateria, câmera, contatos, etc.
É um conjunto de ferramentas de desenvolvimento, que tem APIs de
dispositivos disponíveis para cada plataforma.

Resposta incorreta.

E. 
Cordova Plugins NPM.
O projeto Apache Cordova mantém um conjunto de plugins chamado
de Core Plugins. Esses plugins básicos fornecem seu aplicativo para
acessar os recursos do dispositivo, como bateria, câmera, contatos, etc.
É um conjunto de ferramentas de desenvolvimento, que tem APIs de
dispositivos disponíveis para cada plataforma.

_________________________________________________________
_________________

WebApps
1. 

WebApps estão no mercado mobile para preencher uma lacuna deixada


pelos aplicativos nativos de dispositivos móveis no que diz respeito
à portabilidade e à facilidade de desenvolvimento. Sobre
WebApps, site responsivo e aplicativos nativos, assinale a alternativa
correta:

Resposta incorreta.

A. 
Site responsivo e WebApp são a mesma coisa, mas o WebApp permite criar atalhos.
WebApps são aplicativos que ficam disponíveis off-line e interagem com
componentes nativos dos dispositivos. Aplicativos nativos são
acessíveis apenas no sistema operacional para o qual foram
desenvolvidos (por exemplo, no Android). Além disso, não são
acessíveis em navegador. Sites responsivos não são a mesma coisa que
os WebApps, sendo que estes têm características particulares. Por
exemplo, os WebApps são acessíveis off-line, e os sites responsivos
não.

Resposta incorreta.

B. 
Sites responsivos e WebApps não são acessíveis off-line.
WebApps são aplicativos que ficam disponíveis off-line e interagem com
componentes nativos dos dispositivos. Aplicativos nativos são
acessíveis apenas no sistema operacional para o qual foram
desenvolvidos (por exemplo, no Android). Além disso, não são
acessíveis em navegador. Sites responsivos não são a mesma coisa que
os WebApps, sendo que estes têm características particulares. Por
exemplo, os WebApps são acessíveis off-line, e os sites responsivos
não.
Você não acertou!

C. 
WebApps se assemelham a aplicativos, mas não interagem com elementos nativos dos dispositivos (ex: câmera
e GPS).
WebApps são aplicativos que ficam disponíveis off-line e interagem com
componentes nativos dos dispositivos. Aplicativos nativos são
acessíveis apenas no sistema operacional para o qual foram
desenvolvidos (por exemplo, no Android). Além disso, não são
acessíveis em navegador. Sites responsivos não são a mesma coisa que
os WebApps, sendo que estes têm características particulares. Por
exemplo, os WebApps são acessíveis off-line, e os sites responsivos
não.

Resposta incorreta.

D. 
Aplicativos nativos são acessíveis em qualquer navegador e em qualquer tamanho de tela.
WebApps são aplicativos que ficam disponíveis off-line e interagem com
componentes nativos dos dispositivos. Aplicativos nativos são
acessíveis apenas no sistema operacional para o qual foram
desenvolvidos (por exemplo, no Android). Além disso, não são
acessíveis em navegador. Sites responsivos não são a mesma coisa que
os WebApps, sendo que estes têm características particulares. Por
exemplo, os WebApps são acessíveis off-line, e os sites responsivos
não.

Resposta correta.

E. 
WebApps são aplicativos que são disponíveis off-line e interagem com componentes nativos dos dispositivos.
WebApps são aplicativos que ficam disponíveis off-line e interagem com
componentes nativos dos dispositivos. Aplicativos nativos são
acessíveis apenas no sistema operacional para o qual foram
desenvolvidos (por exemplo, no Android). Além disso, não são
acessíveis em navegador. Sites responsivos não são a mesma coisa que
os WebApps, sendo que estes têm características particulares. Por
exemplo, os WebApps são acessíveis off-line, e os sites responsivos
não.

_________________________________________________________
_________________

2. 
Um recurso que pode ser adicionado ao seu aplicativo web é push
notification. Esse tipo de notificação está disponível na maioria dos
aplicativos comerciais. Sobre essas notificações, assinale a alternativa
correta: 

Resposta incorreta.

A. 
Um exemplo de push notification são as mensagens exibidas para confirmar ou cancelar uma ação, por exemplo,
ao fechar o aplicativo.
Push notification são mensagens que o usuário do aplicativo recebe sem
que ele tenha feito nenhuma ação para isso. As mensagens de
confirmação e cancelamento são exemplos de alert,e não de push
notification. Atualmente, é possível adicionar push notification aos
PWAs; não é preciso utilizar nenhum tipo de emulador. As push
notifications estão disponíveis em todos os sistemas operacionais. Um
exemplo de push notification são notificações de chegada de mensagens,
porque elas chegam sem o usuário programá-las, são exibidas na tela
de bloqueio e, quando clica nelas, é direcionado para o aplicativo de
origem.

Resposta incorreta.

B. 
Push notification são mensagens agendadas pelo usuário que, posteriormente, são exibidas, como, por exemplo,
um despertador.
Push notification são mensagens que o usuário do aplicativo recebe sem
que ele tenha feito nenhuma ação para isso. As mensagens de
confirmação e cancelamento são exemplos de alert,e não de push
notification. Atualmente, é possível adicionar push notification aos
PWAs; não é preciso utilizar nenhum tipo de emulador. As push
notifications estão disponíveis em todos os sistemas operacionais. Um
exemplo de push notification são notificações de chegada de mensagens,
porque elas chegam sem o usuário programá-las, são exibidas na tela
de bloqueio e, quando clica nelas, é direcionado para o aplicativo de
origem.

Resposta incorreta.

C. 
É possível inserir push notification em PWA. Contudo, para isso, é necessário fazer uso de um emulador.
Push notification são mensagens que o usuário do aplicativo recebe sem
que ele tenha feito nenhuma ação para isso. As mensagens de
confirmação e cancelamento são exemplos de alert,e não de push
notification. Atualmente, é possível adicionar push notification aos
PWAs; não é preciso utilizar nenhum tipo de emulador. As push
notifications estão disponíveis em todos os sistemas operacionais. Um
exemplo de push notification são notificações de chegada de mensagens,
porque elas chegam sem o usuário programá-las, são exibidas na tela
de bloqueio e, quando clica nelas, é direcionado para o aplicativo de
origem.

Resposta incorreta.

D. 
Push notification é um resurso exclusivo do sistema operacional Android.
Push notification são mensagens que o usuário do aplicativo recebe sem
que ele tenha feito nenhuma ação para isso. As mensagens de
confirmação e cancelamento são exemplos de alert,e não de push
notification. Atualmente, é possível adicionar push notification aos
PWAs; não é preciso utilizar nenhum tipo de emulador. As push
notifications estão disponíveis em todos os sistemas operacionais. Um
exemplo de push notification são notificações de chegada de mensagens,
porque elas chegam sem o usuário programá-las, são exibidas na tela
de bloqueio e, quando clica nelas, é direcionado para o aplicativo de
origem.

Você acertou!

E. 
Um exemplo de push notification são notificações de chegada de mensagens.
Push notification são mensagens que o usuário do aplicativo recebe sem
que ele tenha feito nenhuma ação para isso. As mensagens de
confirmação e cancelamento são exemplos de alert,e não de push
notification. Atualmente, é possível adicionar push notification aos
PWAs; não é preciso utilizar nenhum tipo de emulador. As push
notifications estão disponíveis em todos os sistemas operacionais. Um
exemplo de push notification são notificações de chegada de mensagens,
porque elas chegam sem o usuário programá-las, são exibidas na tela
de bloqueio e, quando clica nelas, é direcionado para o aplicativo de
origem.

_________________________________________________________
_________________

3. 

Um site responsivo já construído pode ser utilizado como porta de entrada


para o desenvolvimento de um WebApp. Para isso, algumas ações precisam
ser tomadas. Sobre essas ações, assinale a alternativa correta:

Resposta incorreta.

A. 
É necessário criar um arquivo manifest.json, que é usado para disponibilizar o aplicativo nas lojas, por exemplo,
no Google Play.
O que precisa ser inserido no index da aplicação é uma referência ao
arquivo service worker.Além disso, o arquivo utilizado para, antes de
fazer um request, buscar as informações no cache, para que seja feito
um request apenas quando não existe no cache, também é o service
worker. Já o arquivo manifest.json é usado para configurações iniciais do
aplicativo como, por exemplo, a definição do ícone do aplicativo e a
permissão para que o aplicativo seja instalado e, consequentemente,
com a exibição de uma mensagem pra isso. Esse arquivo não tem
relação com a possibilidade de disponibilização do aplicativo no Google
Play.

Resposta incorreta.

B. 
É necessário criar um arquivo service worker para que seja exibida uma mensagem para o usuário instalar o
aplicativo no dispositivo.
O que precisa ser inserido no index da aplicação é uma referência ao
arquivo service worker.Além disso, o arquivo utilizado para, antes de
fazer um request, buscar as informações no cache, para que seja feito
um request apenas quando não existe no cache, também é o service
worker. Já o arquivo manifest.json é usado para configurações iniciais do
aplicativo como, por exemplo, a definição do ícone do aplicativo e a
permissão para que o aplicativo seja instalado e, consequentemente,
com a exibição de uma mensagem pra isso. Esse arquivo não tem
relação com a possibilidade de disponibilização do aplicativo no Google
Play.

Resposta correta.

C. 
O icone que será utilizado pelo aplicativo é informado no arquivo manifest.json.
O que precisa ser inserido no index da aplicação é uma referência ao
arquivo service worker.Além disso, o arquivo utilizado para, antes de
fazer um request, buscar as informações no cache, para que seja feito
um request apenas quando não existe no cache, também é o service
worker. Já o arquivo manifest.json é usado para configurações iniciais do
aplicativo como, por exemplo, a definição do ícone do aplicativo e a
permissão para que o aplicativo seja instalado e, consequentemente,
com a exibição de uma mensagem pra isso. Esse arquivo não tem
relação com a possibilidade de disponibilização do aplicativo no Google
Play.

Resposta incorreta.

D. 
O arquivo manifest.json é utilizado para, antes de fazer um request, buscar as informações no cache para que
seja feito um request apenas quando não existe no cache.
O que precisa ser inserido no index da aplicação é uma referência ao
arquivo service worker.Além disso, o arquivo utilizado para, antes de
fazer um request, buscar as informações no cache, para que seja feito
um request apenas quando não existe no cache, também é o service
worker. Já o arquivo manifest.json é usado para configurações iniciais do
aplicativo como, por exemplo, a definição do ícone do aplicativo e a
permissão para que o aplicativo seja instalado e, consequentemente,
com a exibição de uma mensagem pra isso. Esse arquivo não tem
relação com a possibilidade de disponibilização do aplicativo no Google
Play.

Você não acertou!

E. 
É preciso, por fim, associar o manifest.json no site por meio da inserção de uma referência
ao manifest.json no index.htm da sua aplicação.
O que precisa ser inserido no index da aplicação é uma referência ao
arquivo service worker.Além disso, o arquivo utilizado para, antes de
fazer um request, buscar as informações no cache, para que seja feito
um request apenas quando não existe no cache, também é o service
worker. Já o arquivo manifest.json é usado para configurações iniciais do
aplicativo como, por exemplo, a definição do ícone do aplicativo e a
permissão para que o aplicativo seja instalado e, consequentemente,
com a exibição de uma mensagem pra isso. Esse arquivo não tem
relação com a possibilidade de disponibilização do aplicativo no Google
Play.

_________________________________________________________
_________________

4. 

UmWebApp também pode ser chamado de PWA. Porém, para ser


considerado um PWA, o site precisa ter algumas características bem
específicas. Sobre elas, assinale a alternativa correta:
Resposta incorreta.

A. 
Progressivo: deve ser adaptável a qualquer computador desktop, celular e tablet,independente do tamanho de
tela. 
As principais características de um PWA são:
Progressivo: deve funcionar para qualquer navegador.Responsivo: deve
ser adaptável a qualquer computador desktop, celular
e tablet, independente do tamanho de tela.Seguro: deve utilizar o
protocolo HTTPS para evitar invasões e garantir que o conteúdo não
seja adulterado.Reenvolvente: facilita o reengajamento com recursos
como notificações push.Linkável: deve permitir compartilhamento por
URL; não requer instalação complexa.

Resposta incorreta.

B. 
Responsivo: deve funcionar para qualquer navegador.
As principais características de um PWA são:
Progressivo: deve funcionar para qualquer navegador.Responsivo: deve
ser adaptável a qualquer computador desktop, celular
e tablet, independente do tamanho de tela.Seguro: deve utilizar o
protocolo HTTPS para evitar invasões e garantir que o conteúdo não
seja adulterado.Reenvolvente: facilita o reengajamento com recursos
como notificações push.Linkável: deve permitir compartilhamento por
URL; não requer instalação complexa.

Você acertou!

C. 
Reenvolvente: facilita o reengajamento com recursos nativos do dispositivo como, por exemplo,
notificações push.
As principais características de um PWA são:
Progressivo: deve funcionar para qualquer navegador.Responsivo: deve
ser adaptável a qualquer computador desktop, celular
e tablet, independente do tamanho de tela.Seguro: deve utilizar o
protocolo HTTPS para evitar invasões e garantir que o conteúdo não
seja adulterado.Reenvolvente: facilita o reengajamento com recursos
como notificações push.Linkável: deve permitir compartilhamento por
URL; não requer instalação complexa.

Resposta incorreta.

D. 
Localizável: deve permitir compartilhamento por URL; não requer instalação complexa.
As principais características de um PWA são:
Progressivo: deve funcionar para qualquer navegador.Responsivo: deve
ser adaptável a qualquer computador desktop, celular
e tablet, independente do tamanho de tela.Seguro: deve utilizar o
protocolo HTTPS para evitar invasões e garantir que o conteúdo não
seja adulterado.Reenvolvente: facilita o reengajamento com recursos
como notificações push.Linkável: deve permitir compartilhamento por
URL; não requer instalação complexa.

Resposta incorreta.

E. 
Seguro: deve utilizar o protocolo HTTP para evitar invasões e garantir que o conteúdo não seja adulterado.
As principais características de um PWA são:
Progressivo: deve funcionar para qualquer navegador.Responsivo: deve
ser adaptável a qualquer computador desktop, celular
e tablet, independente do tamanho de tela.Seguro: deve utilizar o
protocolo HTTPS para evitar invasões e garantir que o conteúdo não
seja adulterado.Reenvolvente: facilita o reengajamento com recursos
como notificações push.Linkável: deve permitir compartilhamento por
URL; não requer instalação complexa.

_________________________________________________________
_________________

5. 

Uma das principais características de um PWA é estar sempre disponível


mesmo off-line; para que isso seja possível, é necessário efetuar a
programação de um componente específico no seu PWA, chamado de
Service Worker. Assinale a alternativa que contém a descrição correta de
alguma característica desse componente:

Você acertou!

A. 
Service Worker é um script executado pelo navegador em segundo plano.
Service Worker é um script executado pelo navegador em segundo
plano. É preciso associar o Service Worker ao site por meio da inserção
dele no arquivo index.htm. O cache de um aplicativo é versionado pela
variável CACHE_NAME. O Service Worker permite interceptar e tratar
solicitações de rede, respondendo com um cache quando o aplicativo
tiver. Atualmente, os Service Workers têm recursos de notificações
de push.
Resposta incorreta.

B. 
Os Service Workers não incluem recursos de notificações push.
Service Worker é um script executado pelo navegador em segundo
plano. É preciso associar o Service Worker ao site por meio da inserção
dele no arquivo index.htm. O cache de um aplicativo é versionado pela
variável CACHE_NAME. O Service Worker permite interceptar e tratar
solicitações de rede, respondendo com um cache quando o aplicativo
tiver. Atualmente, os Service Workers têm recursos de notificações
de push.

Resposta incorreta.

C. 
O Service Worker atua para que não seja possível interceptar e tratar solicitações de rede, respondendo
com cache.
Service Worker é um script executado pelo navegador em segundo
plano. É preciso associar o Service Worker ao site por meio da inserção
dele no arquivo index.htm. O cache de um aplicativo é versionado pela
variável CACHE_NAME. O Service Worker permite interceptar e tratar
solicitações de rede, respondendo com um cache quando o aplicativo
tiver. Atualmente, os Service Workers têm recursos de notificações
de push.

Resposta incorreta.

D. 
O Service Worker tem uma versão chamada CACHE_VERSION, que é utilizada para versionar o  cache do
aplicativo.
Service Worker é um script executado pelo navegador em segundo
plano. É preciso associar o Service Worker ao site por meio da inserção
dele no arquivo index.htm. O cache de um aplicativo é versionado pela
variável CACHE_NAME. O Service Worker permite interceptar e tratar
solicitações de rede, respondendo com um cache quando o aplicativo
tiver. Atualmente, os Service Workers têm recursos de notificações
de push.

Resposta incorreta.

E. 
O Service Worker precisa ser linkado ao site no arquivo propert.xml.
Service Worker é um script executado pelo navegador em segundo
plano. É preciso associar o Service Worker ao site por meio da inserção
dele no arquivo index.htm. O cache de um aplicativo é versionado pela
variável CACHE_NAME. O Service Worker permite interceptar e tratar
solicitações de rede, respondendo com um cache quando o aplicativo
tiver. Atualmente, os Service Workers têm recursos de notificações
de push.

_________________________________________________________
_________________

Plataformas de desenvolvimento: IDE e


emulador Android
1. 

Na atualidade, um desenvolvedor de software tem disponível para


utilização uma grande variedade de linguagens de programação e cada
uma tem suas características. Em dispositivos móveis, as plataformas de
desenvolvimento normalmente utilizam uma linguagem de programação
como linguagem nativa. Considerando o sistema operacional Android, qual
é a sua linguagem de programação nativa?

Resposta incorreta.

A. 
Html
Java é a linguagem de programação nativa da plataforma Android. Swift
é a linguagem nativa da plataforma iOS concorrente do Android. C#,
Delphi e Html são linguagens de programação de IDEs que também
possibilitam o desenvolvimento de aplicativos para Android, porém não
são nativas da plataforma.

Resposta incorreta.

B. 
C#
Java é a linguagem de programação nativa da plataforma Android. Swift
é a linguagem nativa da plataforma iOS concorrente do Android. C#,
Delphi e Html são linguagens de programação de IDEs que também
possibilitam o desenvolvimento de aplicativos para Android, porém não
são nativas da plataforma.

Resposta incorreta.

C. 
Swift
Java é a linguagem de programação nativa da plataforma Android. Swift
é a linguagem nativa da plataforma iOS concorrente do Android. C#,
Delphi e Html são linguagens de programação de IDEs que também
possibilitam o desenvolvimento de aplicativos para Android, porém não
são nativas da plataforma.

Resposta incorreta.

D. 
Delphi
Java é a linguagem de programação nativa da plataforma Android. Swift
é a linguagem nativa da plataforma iOS concorrente do Android. C#,
Delphi e Html são linguagens de programação de IDEs que também
possibilitam o desenvolvimento de aplicativos para Android, porém não
são nativas da plataforma.

Você acertou!

E. 
Java
Java é a linguagem de programação nativa da plataforma Android. Swift
é a linguagem nativa da plataforma iOS concorrente do Android. C#,
Delphi e Html são linguagens de programação de IDEs que também
possibilitam o desenvolvimento de aplicativos para Android, porém não
são nativas da plataforma.

_________________________________________________________
_________________

2. 

Uma IDE poderosa ajuda o desenvolvedor de software na confecção do


aplicativo, gerenciando-o, organizando a estrutura do projeto e
automatizando processos nos quais o usuário, sem a ajuda dela, teria de
realizar manualmente. Dentre as plataformas a seguir, qual é a plataforma
indicada pela Android para desenvolver aplicativos?

Resposta incorreta.

A. 
Visual Studio
Android Studio é a IDE indicada e mantida pela Android para
desenvolvimento de aplicativos para a sua plataforma. Visual Studio,
NetBeans, Eclipse e RAD Studio são IDEs que têm a possibilidade de
desenvolver aplicativos para a plataforma Android, mas não são
reconhecidas pela Android como uma plataforma indicada para esse
fim.

Resposta incorreta.

B. 
NetBeans
Android Studio é a IDE indicada e mantida pela Android para
desenvolvimento de aplicativos para a sua plataforma. Visual Studio,
NetBeans, Eclipse e RAD Studio são IDEs que têm a possibilidade de
desenvolver aplicativos para a plataforma Android, mas não são
reconhecidas pela Android como uma plataforma indicada para esse
fim.

Você acertou!

C. 
Android Studio
Android Studio é a IDE indicada e mantida pela Android para
desenvolvimento de aplicativos para a sua plataforma. Visual Studio,
NetBeans, Eclipse e RAD Studio são IDEs que têm a possibilidade de
desenvolver aplicativos para a plataforma Android, mas não são
reconhecidas pela Android como uma plataforma indicada para esse
fim.

Resposta incorreta.

D. 
Eclipse
Android Studio é a IDE indicada e mantida pela Android para
desenvolvimento de aplicativos para a sua plataforma. Visual Studio,
NetBeans, Eclipse e RAD Studio são IDEs que têm a possibilidade de
desenvolver aplicativos para a plataforma Android, mas não são
reconhecidas pela Android como uma plataforma indicada para esse
fim.

Resposta incorreta.

E. 
RAD Studio
Android Studio é a IDE indicada e mantida pela Android para
desenvolvimento de aplicativos para a sua plataforma. Visual Studio,
NetBeans, Eclipse e RAD Studio são IDEs que têm a possibilidade de
desenvolver aplicativos para a plataforma Android, mas não são
reconhecidas pela Android como uma plataforma indicada para esse
fim.

_________________________________________________________
_________________

3. 

Em um ecossistema de dispositivos muito variados (variação está


relacionada aos recursos ou até mesmo as suas características físicas, como
tamanho e formas de interação), é complexo prever em que tipo de
dispositivo um determinado aplicativo será executado. Ter diversos
dispositivos reais para realização de testes pode não ser uma opção viável,
logo a emulação é uma opção muito utilizada. O Android disponibiliza em
seu SDK um emulador oficial. Selecione a opção que representa essa
ferramenta:

Resposta incorreta.

A. 
BlueStacks
Android Emulator é o emulador disponibilizado pela Android no SDK da
plataforma. BlueStacks, Android X84 e GenyMotion são emuladores do
Android desenvolvidos por terceiros, já o Virtual Box é uma ferramenta
de virtualização, na qual é possível executar os mais diversos sistemas
operacionais.

Você acertou!

B. 
Android Emulator
Android Emulator é o emulador disponibilizado pela Android no SDK da
plataforma. BlueStacks, Android X84 e GenyMotion são emuladores do
Android desenvolvidos por terceiros, já o Virtual Box é uma ferramenta
de virtualização, na qual é possível executar os mais diversos sistemas
operacionais.

Resposta incorreta.

C. 
Android X84
Android Emulator é o emulador disponibilizado pela Android no SDK da
plataforma. BlueStacks, Android X84 e GenyMotion são emuladores do
Android desenvolvidos por terceiros, já o Virtual Box é uma ferramenta
de virtualização, na qual é possível executar os mais diversos sistemas
operacionais.

Resposta incorreta.

D. 
GenyMotion
Android Emulator é o emulador disponibilizado pela Android no SDK da
plataforma. BlueStacks, Android X84 e GenyMotion são emuladores do
Android desenvolvidos por terceiros, já o Virtual Box é uma ferramenta
de virtualização, na qual é possível executar os mais diversos sistemas
operacionais.

Resposta incorreta.

E. 
Virtual Box
Android Emulator é o emulador disponibilizado pela Android no SDK da
plataforma. BlueStacks, Android X84 e GenyMotion são emuladores do
Android desenvolvidos por terceiros, já o Virtual Box é uma ferramenta
de virtualização, na qual é possível executar os mais diversos sistemas
operacionais.

_________________________________________________________
_________________

4. 

Para identificar problemas em um código-fonte, as IDEs disponibilizam


funcionalidades para ajudar o desenvolvedor a encontrar tais falhas.
Existem recursos em que o aplicativo para o seu fluxo de execução em um
determinado local e disponibiliza ao usuário diversas funcionalidades, para
que ele possa identificar possíveis problemas na execução. Qual das opções
a seguir representa a funcionalidade descrita?

Resposta incorreta.

A. 
Verificador de sintaxe
Ao inserir um break point em um determinado ponto do código de um
aplicativo, durante uma execução do aplicativo, é possível realizar a
verificação de várias coisas relacionadas ao aplicativo, como por
exemplo o valor armazenado em cada uma das variáveis declarada.
Verificador de sintaxe analisa erros de escrita do código-fonte. Os
repositórios de versionamento possibilitam que equipes numerosas
trabalhem em um mesmo projeto sem que ocorra perda de
dados. Plugins dão versatilidade a uma IDE, e funcionalidades e
recursos desenvolvidos por terceiros são disponibilizados através deles.
A renderização de layouts permite ao desenvolvedor visualizar como
o layout está ficando.

Resposta incorreta.

B. 
Repositórios de versionamento
Ao inserir um break point em um determinado ponto do código de um
aplicativo, durante uma execução do aplicativo, é possível realizar a
verificação de várias coisas relacionadas ao aplicativo, como por
exemplo o valor armazenado em cada uma das variáveis declarada.
Verificador de sintaxe analisa erros de escrita do código-fonte. Os
repositórios de versionamento possibilitam que equipes numerosas
trabalhem em um mesmo projeto sem que ocorra perda de
dados. Plugins dão versatilidade a uma IDE, e funcionalidades e
recursos desenvolvidos por terceiros são disponibilizados através deles.
A renderização de layouts permite ao desenvolvedor visualizar como
o layout está ficando.

Resposta incorreta.

C. 
Plugins
Ao inserir um break point em um determinado ponto do código de um
aplicativo, durante uma execução do aplicativo, é possível realizar a
verificação de várias coisas relacionadas ao aplicativo, como por
exemplo o valor armazenado em cada uma das variáveis declarada.
Verificador de sintaxe analisa erros de escrita do código-fonte. Os
repositórios de versionamento possibilitam que equipes numerosas
trabalhem em um mesmo projeto sem que ocorra perda de
dados. Plugins dão versatilidade a uma IDE, e funcionalidades e
recursos desenvolvidos por terceiros são disponibilizados através deles.
A renderização de layouts permite ao desenvolvedor visualizar como
o layout está ficando.

Resposta incorreta.

D. 
Rendenização dos layouts
Ao inserir um break point em um determinado ponto do código de um
aplicativo, durante uma execução do aplicativo, é possível realizar a
verificação de várias coisas relacionadas ao aplicativo, como por
exemplo o valor armazenado em cada uma das variáveis declarada.
Verificador de sintaxe analisa erros de escrita do código-fonte. Os
repositórios de versionamento possibilitam que equipes numerosas
trabalhem em um mesmo projeto sem que ocorra perda de
dados. Plugins dão versatilidade a uma IDE, e funcionalidades e
recursos desenvolvidos por terceiros são disponibilizados através deles.
A renderização de layouts permite ao desenvolvedor visualizar como
o layout está ficando.

Você acertou!

E. 
Break points
Ao inserir um break point em um determinado ponto do código de um
aplicativo, durante uma execução do aplicativo, é possível realizar a
verificação de várias coisas relacionadas ao aplicativo, como por
exemplo o valor armazenado em cada uma das variáveis declarada.
Verificador de sintaxe analisa erros de escrita do código-fonte. Os
repositórios de versionamento possibilitam que equipes numerosas
trabalhem em um mesmo projeto sem que ocorra perda de
dados. Plugins dão versatilidade a uma IDE, e funcionalidades e
recursos desenvolvidos por terceiros são disponibilizados através deles.
A renderização de layouts permite ao desenvolvedor visualizar como
o layout está ficando.

_________________________________________________________
_________________

5. 

Recursos, em um dispositivo móvel, devem ser consumidos de forma


responsável por um aplicativo. Se um determinado aplicativo consumir
recursos de memória e processamento de um dispositivo de forma
desmoderada pode comprometer o bom funcionamento dele, frustrando o
usuário frente à utilização do aplicativo e levando-o a buscar outra
ferramenta que atenda as suas necessidades. Indique qual opção a seguir é
uma ferramenta que auxilia o desenvolvedor a evitar situações como a
descrita anteriormente.

Você acertou!

A. 
Monitor de recursos
Monitor de recursos ajuda ao desenvolvedor a analisar a quantidade de
recursos que o aplicativo está utilizando em cada estágio de sua
execução. Gradle é uma ferramenta de automatização da compilação
dos arquivos finais do aplicativo. Dispositivos reais e emuladores são
formas de testar a aplicação, mas o desenvolvedor não tem noção se o
aplicativo está ou não consumindo os recursos de forma adequada.
Boas praticas de programação são sempre bem-vindas, mas um
aplicativo pode ter boas práticas e assim tender a não apresentar os
problemas citados, mas isso só será aferido com o uso do monitor de
recursos.

Resposta incorreta.

B. 
Gradle
Monitor de recursos ajuda ao desenvolvedor a analisar a quantidade de
recursos que o aplicativo está utilizando em cada estágio de sua
execução. Gradle é uma ferramenta de automatização da compilação
dos arquivos finais do aplicativo. Dispositivos reais e emuladores são
formas de testar a aplicação, mas o desenvolvedor não tem noção se o
aplicativo está ou não consumindo os recursos de forma adequada.
Boas praticas de programação são sempre bem-vindas, mas um
aplicativo pode ter boas práticas e assim tender a não apresentar os
problemas citados, mas isso só será aferido com o uso do monitor de
recursos.

Resposta incorreta.

C. 
Dispositivos reais
Monitor de recursos ajuda ao desenvolvedor a analisar a quantidade de
recursos que o aplicativo está utilizando em cada estágio de sua
execução. Gradle é uma ferramenta de automatização da compilação
dos arquivos finais do aplicativo. Dispositivos reais e emuladores são
formas de testar a aplicação, mas o desenvolvedor não tem noção se o
aplicativo está ou não consumindo os recursos de forma adequada.
Boas praticas de programação são sempre bem-vindas, mas um
aplicativo pode ter boas práticas e assim tender a não apresentar os
problemas citados, mas isso só será aferido com o uso do monitor de
recursos.

Resposta incorreta.

D. 
Emuladores
Monitor de recursos ajuda ao desenvolvedor a analisar a quantidade de
recursos que o aplicativo está utilizando em cada estágio de sua
execução. Gradle é uma ferramenta de automatização da compilação
dos arquivos finais do aplicativo. Dispositivos reais e emuladores são
formas de testar a aplicação, mas o desenvolvedor não tem noção se o
aplicativo está ou não consumindo os recursos de forma adequada.
Boas praticas de programação são sempre bem-vindas, mas um
aplicativo pode ter boas práticas e assim tender a não apresentar os
problemas citados, mas isso só será aferido com o uso do monitor de
recursos.

Resposta incorreta.

E. 
Boas práticas de programação
Monitor de recursos ajuda ao desenvolvedor a analisar a quantidade de
recursos que o aplicativo está utilizando em cada estágio de sua
execução. Gradle é uma ferramenta de automatização da compilação
dos arquivos finais do aplicativo. Dispositivos reais e emuladores são
formas de testar a aplicação, mas o desenvolvedor não tem noção se o
aplicativo está ou não consumindo os recursos de forma adequada.
Boas praticas de programação são sempre bem-vindas, mas um
aplicativo pode ter boas práticas e assim tender a não apresentar os
problemas citados, mas isso só será aferido com o uso do monitor de
recursos.

_________________________________________________________
_________________

Banco de dados para dispositivos móveis


1. 

Ao utilizar banco de dados em uma aplicação, é necessário efetuar a


configuração da comunicação da aplicação no servidor, independentemente
de ser local, remoto ou baseado em serviço. Além disso, é necessário
estender classes ou importar bibliotecas que serão responsáveis por
gerenciar o banco de dados.
Ao optar pela utilização de um banco de dados local em aplicações
Android, se está tentando cumprir principalmente qual necessidade?

Resposta incorreta.

A. 
Prover espaço de armazenamento maior.
A principal usabilidade de um banco de dados local em
aplicativos mobile é salvar de forma temporária alguns dados do usuário
para que posteriormente eles sejam sincronizados com a nuvem. Um
banco de dados dentro do dispositivo móvel não possibilita um espaço
de armazenamento maior que um servidor e não garante atribuir "maior"
segurança aos dados quando comparado com grandes servidores. Ele
pode agilizar o acesso a algumas informações referentes à aplicação,
mas não todas as informações. Atualmente, a ideia das aplicações
é manter o usuário ativo na rede.

Você acertou!

B. 
Prover armazenamento off-line de dados do usuário.
A principal usabilidade de um banco de dados local em
aplicativos mobile é salvar de forma temporária alguns dados do usuário
para que posteriormente eles sejam sincronizados com a nuvem. Um
banco de dados dentro do dispositivo móvel não possibilita um espaço
de armazenamento maior que um servidor e não garante atribuir "maior"
segurança aos dados quando comparado com grandes servidores. Ele
pode agilizar o acesso a algumas informações referentes à aplicação,
mas não todas as informações. Atualmente, a ideia das aplicações
é manter o usuário ativo na rede.

Resposta incorreta.

C. 
Prover maior segurança dos dados.
A principal usabilidade de um banco de dados local em
aplicativos mobile é salvar de forma temporária alguns dados do usuário
para que posteriormente eles sejam sincronizados com a nuvem. Um
banco de dados dentro do dispositivo móvel não possibilita um espaço
de armazenamento maior que um servidor e não garante atribuir "maior"
segurança aos dados quando comparado com grandes servidores. Ele
pode agilizar o acesso a algumas informações referentes à aplicação,
mas não todas as informações. Atualmente, a ideia das aplicações
é manter o usuário ativo na rede.

Resposta incorreta.

D. 
Prover rapidez no acesso das informações da aplicação.
A principal usabilidade de um banco de dados local em
aplicativos mobile é salvar de forma temporária alguns dados do usuário
para que posteriormente eles sejam sincronizados com a nuvem. Um
banco de dados dentro do dispositivo móvel não possibilita um espaço
de armazenamento maior que um servidor e não garante atribuir "maior"
segurança aos dados quando comparado com grandes servidores. Ele
pode agilizar o acesso a algumas informações referentes à aplicação,
mas não todas as informações. Atualmente, a ideia das aplicações
é manter o usuário ativo na rede.

Resposta incorreta.

E. 
Manter o usuário fora da rede. 
A principal usabilidade de um banco de dados local em
aplicativos mobile é salvar de forma temporária alguns dados do usuário
para que posteriormente eles sejam sincronizados com a nuvem. Um
banco de dados dentro do dispositivo móvel não possibilita um espaço
de armazenamento maior que um servidor e não garante atribuir "maior"
segurança aos dados quando comparado com grandes servidores. Ele
pode agilizar o acesso a algumas informações referentes à aplicação,
mas não todas as informações. Atualmente, a ideia das aplicações
é manter o usuário ativo na rede.

_________________________________________________________
_________________

2. 

Para utilizar um banco de dados, necessariamente deve-se ter um sistema


de gerenciamento de banco de dados.
Selecione a alternativa que indique as funções de um sistema de
gerenciamento de banco de dados (SGBD).

Resposta incorreta.

A. 
Gerenciar a integridade de dados, o dicionário e o armazenamento de dados, bem como a memória do
computador enquanto o SGBD estiver em execução.
O SGBD não gerencia a memória de um computador. O SGBD não
efetua o escalonamento de processos no processador. O SGBD não
gerencia o sistema de arquivos; essa tarefa é do sistema operacional. O
SGBD não gerencia a entrada e a saída de dispositivos e linguagens de
acesso ao banco. O SGBD transforma e apresenta dados, bem como
controla o acesso de multiusuário e provê interfaces de comunicação do
banco de dados.

Resposta correta.
B. 
Transformar e apresentar dados, controlar o acesso de multiusuário e prover interfaces de comunicação do
banco de dados.
O SGBD não gerencia a memória de um computador. O SGBD não
efetua o escalonamento de processos no processador. O SGBD não
gerencia o sistema de arquivos; essa tarefa é do sistema operacional. O
SGBD não gerencia a entrada e a saída de dispositivos e linguagens de
acesso ao banco. O SGBD transforma e apresenta dados, bem como
controla o acesso de multiusuário e provê interfaces de comunicação do
banco de dados.

Resposta incorreta.

C. 
Gerenciar o backup e a recuperação dos dados, bem como o escalonamento de processos no processador por
meio do banco de dados.
O SGBD não gerencia a memória de um computador. O SGBD não
efetua o escalonamento de processos no processador. O SGBD não
gerencia o sistema de arquivos; essa tarefa é do sistema operacional. O
SGBD não gerencia a entrada e a saída de dispositivos e linguagens de
acesso ao banco. O SGBD transforma e apresenta dados, bem como
controla o acesso de multiusuário e provê interfaces de comunicação do
banco de dados.

Resposta incorreta.

D. 
Gerenciar o sistema de arquivos e a segurança do banco de dados de forma automática para auxiliar o usuário
durante a auditoria.
O SGBD não gerencia a memória de um computador. O SGBD não
efetua o escalonamento de processos no processador. O SGBD não
gerencia o sistema de arquivos; essa tarefa é do sistema operacional. O
SGBD não gerencia a entrada e a saída de dispositivos e linguagens de
acesso ao banco. O SGBD transforma e apresenta dados, bem como
controla o acesso de multiusuário e provê interfaces de comunicação do
banco de dados.

Você não acertou!

E. 
Gerenciar a entrada e a saída de dispositivos, linguagens de acesso ao banco de dados e interfaces de
programação de aplicações.
O SGBD não gerencia a memória de um computador. O SGBD não
efetua o escalonamento de processos no processador. O SGBD não
gerencia o sistema de arquivos; essa tarefa é do sistema operacional. O
SGBD não gerencia a entrada e a saída de dispositivos e linguagens de
acesso ao banco. O SGBD transforma e apresenta dados, bem como
controla o acesso de multiusuário e provê interfaces de comunicação do
banco de dados.

_________________________________________________________
_________________

3. 

Quando trabalhamos com banco de dados, podemos encontrar diversos


modelos. Os mais populares têm sido o banco de dados relacional e o não
relacional.
Selecione a alternativa que indique o conceito de ambos.

Resposta incorreta.

A. 
Um banco de dados relacional apresenta ralação forte entre o cliente e o servidor, enquanto o não
relacional necessita de um framework.
O modelo de banco de dados não tem relação com a arquitetura cliente
servidor. Um banco de dados não relacional não utiliza linguagem SQL,
e sim um esquema de relacionamento, como, por exemplo, chave valor.
Um banco de dados relacional utiliza linguagem SQL e relaciona tabelas
em um servidor. GraphQL não é um banco de dados. NoSQL não é um
banco de dados, e sim um termo para não relacional.

Resposta incorreta.

B. 
Um banco de dado relacional utiliza um esquema de relacionamento, como, por exemplo, chave valor. Um
banco de dados não relacional relaciona bancos.
O modelo de banco de dados não tem relação com a arquitetura cliente
servidor. Um banco de dados não relacional não utiliza linguagem SQL,
e sim um esquema de relacionamento, como, por exemplo, chave valor.
Um banco de dados relacional utiliza linguagem SQL e relaciona tabelas
em um servidor. GraphQL não é um banco de dados. NoSQL não é um
banco de dados, e sim um termo para não relacional.

Resposta incorreta.

C. 
Um banco de dado relacional não utiliza linguagem SQL. Um banco de dados não relacional utiliza linguagem
SQL.
O modelo de banco de dados não tem relação com a arquitetura cliente
servidor. Um banco de dados não relacional não utiliza linguagem SQL,
e sim um esquema de relacionamento, como, por exemplo, chave valor.
Um banco de dados relacional utiliza linguagem SQL e relaciona tabelas
em um servidor. GraphQL não é um banco de dados. NoSQL não é um
banco de dados, e sim um termo para não relacional.

Você acertou!

D. 
Um banco de dados relacional relaciona tabelas em um servidor. Um banco de dados não relacional não utiliza a
linguagem SQL.
O modelo de banco de dados não tem relação com a arquitetura cliente
servidor. Um banco de dados não relacional não utiliza linguagem SQL,
e sim um esquema de relacionamento, como, por exemplo, chave valor.
Um banco de dados relacional utiliza linguagem SQL e relaciona tabelas
em um servidor. GraphQL não é um banco de dados. NoSQL não é um
banco de dados, e sim um termo para não relacional.

Resposta incorreta.

E. 
Um exemplo de banco de dados relacional é o GraphQL, e de um banco não relacional, o NoSQL.
O modelo de banco de dados não tem relação com a arquitetura cliente
servidor. Um banco de dados não relacional não utiliza linguagem SQL,
e sim um esquema de relacionamento, como, por exemplo, chave valor.
Um banco de dados relacional utiliza linguagem SQL e relaciona tabelas
em um servidor. GraphQL não é um banco de dados. NoSQL não é um
banco de dados, e sim um termo para não relacional.

_________________________________________________________
_________________

4. 

Grande parte dos sistemas atualmente utiliza banco de dados para


armazenar seus dados. De acordo com a aplicação, é necessário verificar a
possibilidade de se utilizar banco de dados local, remoto ou baseado em
serviço em nuvem.
Selecione a alternativa que indique um exemplo de cada na sequência.

Resposta incorreta.

A. 
Redis, SQLServer e Firebase.
SQLite é um banco de dados local normalmente embutido na aplicação.
Redis é um servidor cache remoto, e Firebase é um banco de dados
baseado em serviço. AWS é um produto que oferece serviços de
computação em nuvem. Jenkins não é um banco, e sim um servidor de
automação de entrega de sistema. Google Cloud é um suíte de
computação em nuvem. Postman é um aplicativo que auxilia no
desenvolvimento e testes de APIs.

Resposta incorreta.

B. 
MongoDB, AWS e Jenkins.
SQLite é um banco de dados local normalmente embutido na aplicação.
Redis é um servidor cache remoto, e Firebase é um banco de dados
baseado em serviço. AWS é um produto que oferece serviços de
computação em nuvem. Jenkins não é um banco, e sim um servidor de
automação de entrega de sistema. Google Cloud é um suíte de
computação em nuvem. Postman é um aplicativo que auxilia no
desenvolvimento e testes de APIs.

Você não acertou!

C. 
MariaDB, Google Cloud e SQLite.
SQLite é um banco de dados local normalmente embutido na aplicação.
Redis é um servidor cache remoto, e Firebase é um banco de dados
baseado em serviço. AWS é um produto que oferece serviços de
computação em nuvem. Jenkins não é um banco, e sim um servidor de
automação de entrega de sistema. Google Cloud é um suíte de
computação em nuvem. Postman é um aplicativo que auxilia no
desenvolvimento e testes de APIs.

Resposta correta.

D. 
SQLite, Redis e Firebase.
SQLite é um banco de dados local normalmente embutido na aplicação.
Redis é um servidor cache remoto, e Firebase é um banco de dados
baseado em serviço. AWS é um produto que oferece serviços de
computação em nuvem. Jenkins não é um banco, e sim um servidor de
automação de entrega de sistema. Google Cloud é um suíte de
computação em nuvem. Postman é um aplicativo que auxilia no
desenvolvimento e testes de APIs.

Resposta incorreta.
E. 
Postgres, Postman e Oracle.
SQLite é um banco de dados local normalmente embutido na aplicação.
Redis é um servidor cache remoto, e Firebase é um banco de dados
baseado em serviço. AWS é um produto que oferece serviços de
computação em nuvem. Jenkins não é um banco, e sim um servidor de
automação de entrega de sistema. Google Cloud é um suíte de
computação em nuvem. Postman é um aplicativo que auxilia no
desenvolvimento e testes de APIs.

_________________________________________________________
_________________

5. 

Ao desenvolver um aplicativo, o desenvolvedor pode optar entre diferentes


opções para armazenar os dados. É possível utilizar bancos de dados locais,
remotos ou baseados em serviços. Os bancos de dados baseados em serviços
oferecem algumas vantagens.
Assinale a alternativa a seguir que indica vantagens de se utilizar um banco
de dados baseado em serviços.

Resposta correta.

A. 
Não é necessário muitos recursos, como tempo/dinheiro, para criar uma estrutura back-end.
Utilizar um serviço BaaS como alternativa para implantação de sua
estrutura back-end pode oferecer vantagens como reduzir recursos de
tempo, dinheiro e pessoal, uma vez que o serviço de armazenamento
de dados estará pronto para ser utilizado. 
Cada aplicativo ten uma funcionalidade diferente e, com isso,
dependências diferentes; dessa forma, o aplicativo fica preso aos
serviços que o BaaS oferece, não podendo incluir novos conforme a
necessidade. Para algumas empresas, não é possível confiar dados
referentes à regra de negócio a serviços, pois são dados confidenciais.
Ao utilizarem BaaS, os desenvolvedores encontram limitação quanto ao
controle, uma vez que algumas coisas não podem ser alteradas no
serviço. Um serviço BaaS não permite instalação local; todo e qualquer
teste deve ser efetuado nos serviços disponíveis em nuvem.

Você não acertou!

B. 
As dependências de funcionalidades são totalmente cobertas pelo BaaS.
Utilizar um serviço BaaS como alternativa para implantação de sua
estrutura back-end pode oferecer vantagens como reduzir recursos de
tempo, dinheiro e pessoal, uma vez que o serviço de armazenamento
de dados estará pronto para ser utilizado. 
Cada aplicativo ten uma funcionalidade diferente e, com isso,
dependências diferentes; dessa forma, o aplicativo fica preso aos
serviços que o BaaS oferece, não podendo incluir novos conforme a
necessidade. Para algumas empresas, não é possível confiar dados
referentes à regra de negócio a serviços, pois são dados confidenciais.
Ao utilizarem BaaS, os desenvolvedores encontram limitação quanto ao
controle, uma vez que algumas coisas não podem ser alteradas no
serviço. Um serviço BaaS não permite instalação local; todo e qualquer
teste deve ser efetuado nos serviços disponíveis em nuvem.

Resposta incorreta.

C. 
Os dados estão totalmente seguros em um servidor BaaS.
Utilizar um serviço BaaS como alternativa para implantação de sua
estrutura back-end pode oferecer vantagens como reduzir recursos de
tempo, dinheiro e pessoal, uma vez que o serviço de armazenamento
de dados estará pronto para ser utilizado. 
Cada aplicativo ten uma funcionalidade diferente e, com isso,
dependências diferentes; dessa forma, o aplicativo fica preso aos
serviços que o BaaS oferece, não podendo incluir novos conforme a
necessidade. Para algumas empresas, não é possível confiar dados
referentes à regra de negócio a serviços, pois são dados confidenciais.
Ao utilizarem BaaS, os desenvolvedores encontram limitação quanto ao
controle, uma vez que algumas coisas não podem ser alteradas no
serviço. Um serviço BaaS não permite instalação local; todo e qualquer
teste deve ser efetuado nos serviços disponíveis em nuvem.

Resposta incorreta.

D. 
Os desenvolvedores têm maior controle sobre o sistema.
Utilizar um serviço BaaS como alternativa para implantação de sua
estrutura back-end pode oferecer vantagens como reduzir recursos de
tempo, dinheiro e pessoal, uma vez que o serviço de armazenamento
de dados estará pronto para ser utilizado. 
Cada aplicativo ten uma funcionalidade diferente e, com isso,
dependências diferentes; dessa forma, o aplicativo fica preso aos
serviços que o BaaS oferece, não podendo incluir novos conforme a
necessidade. Para algumas empresas, não é possível confiar dados
referentes à regra de negócio a serviços, pois são dados confidenciais.
Ao utilizarem BaaS, os desenvolvedores encontram limitação quanto ao
controle, uma vez que algumas coisas não podem ser alteradas no
serviço. Um serviço BaaS não permite instalação local; todo e qualquer
teste deve ser efetuado nos serviços disponíveis em nuvem.

Resposta incorreta.

E. 
O serviço permite que o desenvolvedor instale localmente o servidor para teste em desenvolvimento.
Utilizar um serviço BaaS como alternativa para implantação de sua
estrutura back-end pode oferecer vantagens como reduzir recursos de
tempo, dinheiro e pessoal, uma vez que o serviço de armazenamento
de dados estará pronto para ser utilizado. 
Cada aplicativo ten uma funcionalidade diferente e, com isso,
dependências diferentes; dessa forma, o aplicativo fica preso aos
serviços que o BaaS oferece, não podendo incluir novos conforme a
necessidade. Para algumas empresas, não é possível confiar dados
referentes à regra de negócio a serviços, pois são dados confidenciais.
Ao utilizarem BaaS, os desenvolvedores encontram limitação quanto ao
controle, uma vez que algumas coisas não podem ser alteradas no
serviço. Um serviço BaaS não permite instalação local; todo e qualquer
teste deve ser efetuado nos serviços disponíveis em nuvem.

_________________________________________________________
_________________

Design de interação para aplicações móveis


1. 

A maioria dos desenvolvedores de sistemas operativos para aplicativos


móveis fornecem guias de recomendação para aplicativos em suas
plataformas.
Sobre a finalidade desses guias, assinale a alternativa correta.

Resposta incorreta.

A. 
Apenas citam recomendações relacionadas à interface de usuário.
Apesar de ser muito comum relacionar os guias apenas à criação da
interface de usuário, eles trazem recomendações sobre usabilidade no
geral. Não são pagos e sua aplicação não é obrigatória.

Resposta incorreta.
B. 
Esses guias oferecem boas práticas de interação disponíveis em cada IDE de desenvolvimento. 
Apesar de ser muito comum relacionar os guias apenas à criação da
interface de usuário, eles trazem recomendações sobre usabilidade no
geral. Não são pagos e sua aplicação não é obrigatória.

Você acertou!

C. 
Citam recomendações sobre usabilidade geral.
Apesar de ser muito comum relacionar os guias apenas à criação da
interface de usuário, eles trazem recomendações sobre usabilidade no
geral. Não são pagos e sua aplicação não é obrigatória.

Resposta incorreta.

D. 
É obrigatória a aplicação desses guias no desenvolvimento.
Apesar de ser muito comum relacionar os guias apenas à criação da
interface de usuário, eles trazem recomendações sobre usabilidade no
geral. Não são pagos e sua aplicação não é obrigatória.

Resposta incorreta.

E. 
São guias pagos e oferecidos como complemento.
Apesar de ser muito comum relacionar os guias apenas à criação da
interface de usuário, eles trazem recomendações sobre usabilidade no
geral. Não são pagos e sua aplicação não é obrigatória.

_________________________________________________________
_________________

2. 

Segundo o próprio guia do desenvolvedor Android, os usuários de


aplicativos nessa plataforma têm uma expectativa alta em relação
à aparência e ao comportamento. Para isso, é necessário que os
desenvolvedores sigam as diretrizes do guia.
Assinale a alternativa que cita alguns exemplos dessas diretrizes.

Resposta incorreta.

A. 
Economia, usabilidade e animação.
Nos guias de desenvolvedores, as diretrizes citadas estão relacionadas
a conceitos de usabilidade, animação, layout, padrão, estilo e
componentes. Outras questões como economia, performance e
integração, apesar de serem itens a considerar em um projeto de
desenvolvimento, não fazem parte das diretrizes citadas nos guias.

Resposta incorreta.

B. 
Performance, layout e usabilidade.
Nos guias de desenvolvedores, as diretrizes citadas estão relacionadas
a conceitos de usabilidade, animação, layout, padrão, estilo e
componentes. Outras questões como economia, performance e
integração, apesar de serem itens a considerar em um projeto de
desenvolvimento, não fazem parte das diretrizes citadas nos guias.

Resposta incorreta.

C. 
Integração, layout e usabilidade.
Nos guias de desenvolvedores, as diretrizes citadas estão relacionadas
a conceitos de usabilidade, animação, layout, padrão, estilo e
componentes. Outras questões como economia, performance e
integração, apesar de serem itens a considerar em um projeto de
desenvolvimento, não fazem parte das diretrizes citadas nos guias.

Você acertou!

D. 
Usabilidade, animação e layout.
Nos guias de desenvolvedores, as diretrizes citadas estão relacionadas
a conceitos de usabilidade, animação, layout, padrão, estilo e
componentes. Outras questões como economia, performance e
integração, apesar de serem itens a considerar em um projeto de
desenvolvimento, não fazem parte das diretrizes citadas nos guias.

Resposta incorreta.

E. 
Integração, economia e layout.
Nos guias de desenvolvedores, as diretrizes citadas estão relacionadas
a conceitos de usabilidade, animação, layout, padrão, estilo e
componentes. Outras questões como economia, performance e
integração, apesar de serem itens a considerar em um projeto de
desenvolvimento, não fazem parte das diretrizes citadas nos guias.
_________________________________________________________
_________________

3. 

No guia de desenvolvimento do iOS, está escrito que, como designer de


aplicativo, você tem a possibilidade de oferecer um produto extraordinário
que estará no topo dos gráficos da App Store. Para isso, é preciso atender
às altas expectativas de qualidade e funcionalidade.
Para a Apple, três temas principais diferenciam a plataforma iOS de
outras. Assinale a alternativa correta sobre os três temas.

Você acertou!

A. 
Clareza, deferência e profundidade.
No guia de padrões para a interface de usuário disponibilizado pela
Apple, são classificadas as diretrizes de padrões em três temas:
clareza, deferência e profundidade. Os demais itens como layout,
desempenho e animação, apesar de citados e envolvidos nos padrões
de interface de usuário, não são classificados como temas.

Resposta incorreta.

B. 
Clareza, layout e profundidade.
No guia de padrões para a interface de usuário disponibilizado pela
Apple, são classificadas as diretrizes de padrões em três temas:
clareza, deferência e profundidade. Os demais itens como layout,
desempenho e animação, apesar de citados e envolvidos nos padrões
de interface de usuário, não são classificados como temas.

Resposta incorreta.

C. 
Clareza, layout e desempenho.
No guia de padrões para a interface de usuário disponibilizado pela
Apple, são classificadas as diretrizes de padrões em três temas:
clareza, deferência e profundidade. Os demais itens como layout,
desempenho e animação, apesar de citados e envolvidos nos padrões
de interface de usuário, não são classificados como temas.

Resposta incorreta.
D. 
Desempenho, profundidade e layout.
No guia de padrões para a interface de usuário disponibilizado pela
Apple, são classificadas as diretrizes de padrões em três temas:
clareza, deferência e profundidade. Os demais itens como layout,
desempenho e animação, apesar de citados e envolvidos nos padrões
de interface de usuário, não são classificados como temas.

Resposta incorreta.

E. 
Profundidade, layout e animação.
No guia de padrões para a interface de usuário disponibilizado pela
Apple, são classificadas as diretrizes de padrões em três temas:
clareza, deferência e profundidade. Os demais itens como layout,
desempenho e animação, apesar de citados e envolvidos nos padrões
de interface de usuário, não são classificados como temas.

_________________________________________________________
_________________

4. 

Um dos temas abordados pela Apple é o conceito de profundidade.


Sobre esse conceito, assinale a alternativa que está correta de acordo com o
descrito no guia da Apple.

Resposta incorreta.

A. 
Está relacionado ao conceito de tamanho em 3D dos widgets.
É um conceito adotado há mais tempo pela Apple, estando diretamente
ligado a facilitar a compreensão dos usuário e transmitir vitalidade. Esse
conceito não tem relação com outros pontos, como o tamanho em 3D
dos widgets, por exemplo ou com o alcance da execução de um
comando.

Resposta incorreta.

B. 
São conceitos relacionados à profundidade do alcance da execução de um comando.
É um conceito adotado há mais tempo pela Apple, estando diretamente
ligado a facilitar a compreensão dos usuário e transmitir vitalidade. Esse
conceito não tem relação com outros pontos, como o tamanho em 3D
dos widgets, por exemplo ou com o alcance da execução de um
comando.

Resposta incorreta.

C. 
É um conceito relacionado à camada de desempenho do aplicativo.
É um conceito adotado há mais tempo pela Apple, estando diretamente
ligado a facilitar a compreensão dos usuário e transmitir vitalidade. Esse
conceito não tem relação com outros pontos, como o tamanho em 3D
dos widgets, por exemplo ou com o alcance da execução de um
comando.

Você acertou!

D. 
São camadas visuais distintas que transmitem vitalidade e facilitam a compreensão.
É um conceito adotado há mais tempo pela Apple, estando diretamente
ligado a facilitar a compreensão dos usuário e transmitir vitalidade. Esse
conceito não tem relação com outros pontos, como o tamanho em 3D
dos widgets, por exemplo ou com o alcance da execução de um
comando.

Resposta incorreta.

E. 
É um conceito novo da Apple.
É um conceito adotado há mais tempo pela Apple, estando diretamente
ligado a facilitar a compreensão dos usuário e transmitir vitalidade. Esse
conceito não tem relação com outros pontos, como o tamanho em 3D
dos widgets, por exemplo ou com o alcance da execução de um
comando.

_________________________________________________________
_________________

5. 

Segundo o guia do desenvolvedor Android, para fornecer aos usuários uma


experiência mais familiar, é necessário usar os padrões mais comuns do
guia.
Assinale a alternativa correta sobre um dos padrões do guia.

Resposta incorreta.

A. 
Aproveitar os recursos de APIs disponibilizadas na comunidade.
Os padrões mais comuns citados no guia são ações relacionadas com:
permitir a ação principal da sua interface com um botão de ação
flutuante; mostrar a sua marca, navegação, pesquisa e outras ações
com a barra de aplicativos; e mostrar e ocultar a navegação do seu
aplicativo com a gaveta de navegação.
Outros padrões, apesar de adotados em comunidades de
desenvolvedores, como o reaproveitamento de bibliotecas e de código,
não estão como os padrões comuns do guia.

Resposta incorreta.

B. 
Trabalhar com layout mínimo sem focar em outros requisitos.
Os padrões mais comuns citados no guia são ações relacionadas com:
permitir a ação principal da sua interface com um botão de ação
flutuante; mostrar a sua marca, navegação, pesquisa e outras ações
com a barra de aplicativos; e mostrar e ocultar a navegação do seu
aplicativo com a gaveta de navegação.
Outros padrões, apesar de adotados em comunidades de
desenvolvedores, como o reaproveitamento de bibliotecas e de código,
não estão como os padrões comuns do guia.

Resposta incorreta.

C. 
Reaproveitar o código, facilitando a manutenção posterior.
Os padrões mais comuns citados no guia são ações relacionadas com:
permitir a ação principal da sua interface com um botão de ação
flutuante; mostrar a sua marca, navegação, pesquisa e outras ações
com a barra de aplicativos; e mostrar e ocultar a navegação do seu
aplicativo com a gaveta de navegação.
Outros padrões, apesar de adotados em comunidades de
desenvolvedores, como o reaproveitamento de bibliotecas e de código,
não estão como os padrões comuns do guia.

Resposta incorreta.

D. 
Trabalhar com bibliotecas e padrões do fabricante do sistema operativo.
Os padrões mais comuns citados no guia são ações relacionadas com:
permitir a ação principal da sua interface com um botão de ação
flutuante; mostrar a sua marca, navegação, pesquisa e outras ações
com a barra de aplicativos; e mostrar e ocultar a navegação do seu
aplicativo com a gaveta de navegação.
Outros padrões, apesar de adotados em comunidades de
desenvolvedores, como o reaproveitamento de bibliotecas e de código,
não estão como os padrões comuns do guia.

Você acertou!

E. 
Mostrar e ocultar a navegação do seu aplicativo com a gaveta de navegação.
Os padrões mais comuns citados no guia são ações relacionadas com:
permitir a ação principal da sua interface com um botão de ação
flutuante; mostrar a sua marca, navegação, pesquisa e outras ações
com a barra de aplicativos; e mostrar e ocultar a navegação do seu
aplicativo com a gaveta de navegação.
Outros padrões, apesar de adotados em comunidades de
desenvolvedores, como o reaproveitamento de bibliotecas e de código,
não estão como os padrões comuns do guia.

_________________________________________________________
_________________

Menus e views para coleções de dados


1. 

Diversas são as views que podem ser utilizadas para a criação de interfaces


em aplicativos Android. Cada uma delas tem a sua importância e utilidade.
Sobre as views, assinale a afirmativa correta:

Resposta incorreta.

A. 
A ListView é utilizada para a criação de listas de objetos e só pode ser populada por meio da criação de um
objeto Java do tipo ArrayList.
A ListView e o GridView podem ser populados com valores e banco de
dados ou de arrays e têm tamanho personalizável, podendo ser
inseridos lado a lado a outros elementos. O que difere os dois
componentes é o tipo de apresentação do resultado: o primeiro
apresenta em lista, e o segundo, em tabela (grid), que não é estruturada
como uma matriz. Para a personalização de ListView e GridView, é
necessária a utilização de adapters. Por fim, ArrayList é o nome de uma
estrutura de lista em Java, e não de um componente XML.

Resposta incorreta.
B. 
O GridView é um componente que exibe informações na tela em formato de tabela, sendo necessário utilizar
uma matriz para inserir dados nele.
A ListView e o GridView podem ser populados com valores e banco de
dados ou de arrays e têm tamanho personalizável, podendo ser
inseridos lado a lado a outros elementos. O que difere os dois
componentes é o tipo de apresentação do resultado: o primeiro
apresenta em lista, e o segundo, em tabela (grid), que não é estruturada
como uma matriz. Para a personalização de ListView e GridView, é
necessária a utilização de adapters. Por fim, ArrayList é o nome de uma
estrutura de lista em Java, e não de um componente XML.

Resposta incorreta.

C. 
O ArrayList é o componente XML utilizado para a representação de listas em aplicativos Android.
A ListView e o GridView podem ser populados com valores e banco de
dados ou de arrays e têm tamanho personalizável, podendo ser
inseridos lado a lado a outros elementos. O que difere os dois
componentes é o tipo de apresentação do resultado: o primeiro
apresenta em lista, e o segundo, em tabela (grid), que não é estruturada
como uma matriz. Para a personalização de ListView e GridView, é
necessária a utilização de adapters. Por fim, ArrayList é o nome de uma
estrutura de lista em Java, e não de um componente XML.

Você acertou!

D. 
A utilização de adapters é necessária para a personalização de ListView e GridView.
A ListView e o GridView podem ser populados com valores e banco de
dados ou de arrays e têm tamanho personalizável, podendo ser
inseridos lado a lado a outros elementos. O que difere os dois
componentes é o tipo de apresentação do resultado: o primeiro
apresenta em lista, e o segundo, em tabela (grid), que não é estruturada
como uma matriz. Para a personalização de ListView e GridView, é
necessária a utilização de adapters. Por fim, ArrayList é o nome de uma
estrutura de lista em Java, e não de um componente XML.

Resposta incorreta.

E. 
Uma ListView sempre ocupa todo o tamanho da tela onde é inserida. Para que possam ser exibidos vários
objetos na tela, deve-se utilizar um GridView.
A ListView e o GridView podem ser populados com valores e banco de
dados ou de arrays e têm tamanho personalizável, podendo ser
inseridos lado a lado a outros elementos. O que difere os dois
componentes é o tipo de apresentação do resultado: o primeiro
apresenta em lista, e o segundo, em tabela (grid), que não é estruturada
como uma matriz. Para a personalização de ListView e GridView, é
necessária a utilização de adapters. Por fim, ArrayList é o nome de uma
estrutura de lista em Java, e não de um componente XML.

_________________________________________________________
_________________

2. 

Os menus são utilizados para facilitar o acesso às funcionalidades do


sistema ou para algumas ações bem específicas, como, por exemplo, sair do
sistema.
Sobre os processos realizados para a criação de um menu em um aplicativo
Android, assinale a alternativa correta:

Resposta correta.

A. 
Criar um diretório de menu, criar um arquivo XML de menu e inserir o menu via Java.
Para inserir um menu, é necessário, primeiramente, criar um diretório
de menu (New > Android Resource Directory); em seguida, deve-se criar
um arquivo XML com o nome menu (New > Menu Resource) e, por fim,
inserir o menu via Java (onCreateOptionsMenu).

Você não acertou!

B. 
Criar um arquivo XML de menu e inserir o menu via Java.
Para inserir um menu, é necessário, primeiramente, criar um diretório
de menu (New > Android Resource Directory); em seguida, deve-se criar
um arquivo XML com o nome menu (New > Menu Resource) e, por fim,
inserir o menu via Java (onCreateOptionsMenu).

Resposta incorreta.

C. 
Criar um diretório de menu e inserir o menu via Java.
Para inserir um menu, é necessário, primeiramente, criar um diretório
de menu (New > Android Resource Directory); em seguida, deve-se criar
um arquivo XML com o nome menu (New > Menu Resource) e, por fim,
inserir o menu via Java (onCreateOptionsMenu).

Resposta incorreta.
D. 
Criar um diretório de menu, criar um arquivo XML de menu e inserir na tela que deseja adicionar.
Para inserir um menu, é necessário, primeiramente, criar um diretório
de menu (New > Android Resource Directory); em seguida, deve-se criar
um arquivo XML com o nome menu (New > Menu Resource) e, por fim,
inserir o menu via Java (onCreateOptionsMenu).

Resposta incorreta.

E. 
Inserir um componente list e, por meio de estilos, transformar ele em um menu.
Para inserir um menu, é necessário, primeiramente, criar um diretório
de menu (New > Android Resource Directory); em seguida, deve-se criar
um arquivo XML com o nome menu (New > Menu Resource) e, por fim,
inserir o menu via Java (onCreateOptionsMenu).

_________________________________________________________
_________________

3. 

Depois de posicionar um elemento de menu na tela de um aplicativo, é


necessário dar ações para esse menu; do contrário, ele será apenas um
elemento visual sem funcionalidades.
Em relação às ações de menus, assinale a alternativa correta:

Resposta incorreta.

A. 
Com o método onOptionsItemSelected,o Android identifica o clique, e, utilizando o mesmo nome no menu e na
classe, é feito o acesso automático página.
O método onOptionsItemSelected é utilizado para identificar o clique em
um item de menu; contudo, ele precisa ser utilizado em conjunto com o
método getItemId. Além disso, as páginas não são abertas
automaticamente ao identificar um clique; é necessário programar a sua
abertura por meio de um método chamado iterator.

Resposta incorreta.

B. 
O método onclickOptionsMenu escuta o clique no menu e, então, direciona para a página necessária.
O método onOptionsItemSelected é utilizado para identificar o clique em
um item de menu; contudo, ele precisa ser utilizado em conjunto com o
método getItemId. Além disso, as páginas não são abertas
automaticamente ao identificar um clique; é necessário programar a sua
abertura por meio de um método chamado iterator.

Você acertou!

C. 
Dentro do método onOptionsItemSelected, é necessário utilizar o método getItemId para conseguir identificar
qual item do menu foi clicado.
O método onOptionsItemSelected é utilizado para identificar o clique em
um item de menu; contudo, ele precisa ser utilizado em conjunto com o
método getItemId. Além disso, as páginas não são abertas
automaticamente ao identificar um clique; é necessário programar a sua
abertura por meio de um método chamado iterator.

Resposta incorreta.

D. 
O método Java, responsável pela leitura do clique de menu, é onclickOptionsMenu em conjunto com o
método igetItemValue.
O método onOptionsItemSelected é utilizado para identificar o clique em
um item de menu; contudo, ele precisa ser utilizado em conjunto com o
método getItemId. Além disso, as páginas não são abertas
automaticamente ao identificar um clique; é necessário programar a sua
abertura por meio de um método chamado iterator.

Resposta incorreta.

E. 
O clique nos menus é programado no próprio XML, por meio de uma propriedade clicable=true.
O método onOptionsItemSelected é utilizado para identificar o clique em
um item de menu; contudo, ele precisa ser utilizado em conjunto com o
método getItemId. Além disso, as páginas não são abertas
automaticamente ao identificar um clique; é necessário programar a sua
abertura por meio de um método chamado iterator.

_________________________________________________________
_________________

4. 

Para a personalização de ListView e GridView, é necessária a utilização


de adapters. Para isso, você precisa criar a sua própria classe
de adapter; contudo, o Android dispõe de alguns adapters predefinidos que,
quando utilizados corretamente, permitem montar uma lista padrão de
forma facilitada.
Sobre os adapters, assinale a alternativa correta:

Resposta incorreta.

A. 
Os três tipos de adapters fornecidos pelo Android
são: SimpleCursorAdapter, ArrayAdapter e AdvancedAdapter.
Os três tipos de adapters fornecidos pelo Android
são: SimpleCursorAdapter, ArrayAdapter e CursorAdapter. Todos eles
permitem formatar views; contudo, apenas o ArrayAdapter permite
manipular dados com base em listas ou arrays. O SimpleCursorAdapter e
o CursorAdapter permitem manipular dados vindos de banco de dados.

Resposta incorreta.

B. 
O SimpleCursorAdapter é restrito para a utilização em listas e não permite conexão com dados de banco de
dados.
Os três tipos de adapters fornecidos pelo Android
são: SimpleCursorAdapter, ArrayAdapter e CursorAdapter. Todos eles
permitem formatar views; contudo, apenas o ArrayAdapter permite
manipular dados com base em listas ou arrays. O SimpleCursorAdapter e
o CursorAdapter permitem manipular dados vindos de banco de dados.

Resposta incorreta.

C. 
O ArrayAdapter é utilizado, especificamente, para a conexão com o banco de dados SQLite.
Os três tipos de adapters fornecidos pelo Android
são: SimpleCursorAdapter, ArrayAdapter e CursorAdapter. Todos eles
permitem formatar views; contudo, apenas o ArrayAdapter permite
manipular dados com base em listas ou arrays. O SimpleCursorAdapter e
o CursorAdapter permitem manipular dados vindos de banco de dados.

Resposta incorreta.

D. 
O AdvancedAdapter é o mais elaborado dos adapters porque permite conexão com todo tipo de banco de dados.
Os três tipos de adapters fornecidos pelo Android
são: SimpleCursorAdapter, ArrayAdapter e CursorAdapter. Todos eles
permitem formatar views; contudo, apenas o ArrayAdapter permite
manipular dados com base em listas ou arrays. O SimpleCursorAdapter e
o CursorAdapter permitem manipular dados vindos de banco de dados.

Você acertou!
E. 
O ArrayAdapter permite somente manipular dados com base em listas ou arrays.
Os três tipos de adapters fornecidos pelo Android
são: SimpleCursorAdapter, ArrayAdapter e CursorAdapter. Todos eles
permitem formatar views; contudo, apenas o ArrayAdapter permite
manipular dados com base em listas ou arrays. O SimpleCursorAdapter e
o CursorAdapter permitem manipular dados vindos de banco de dados.

_________________________________________________________
_________________

5. 

Menus e views têm funções diferentes em aplicativos Android; contudo,


ambos têm suma importância. As views permitem a inserção de
componentes que formam as aplicações Android, e os menus permitem
acesso direto e facilitado às telas do aplicativo.
Pensando nisso, analise as seguintes afirmativas:
I. A ListView é utilizada para a criação de listas, seja listas baseadas em
informações estáticas (de arrays), seja listas dinâmicas (de banco de dados).
II. O GridView pode ser implementado da mesma forma que a ListView,
sendo necessários apenas pequenos ajustes.
III. A textView é utilizada para a entrada de dados de texto.
IV. O componente image é utilizado para exibir um botão em formato de
imagem.
V. O componente  button é utilizado para inserir um botão na tela.
Quais são verdadeiras?

Resposta correta.

A. 
I, II e V, apenas.
Apenas as afirmativas I, II e V são verdadeiras. A afirmativa III é falsa
porque a view utilizada para a entrada de dados é a inputText;
a textView é utilizada para a exibição de dados. Já a afirmativa IV não é
verdadeira, visto que o componente image exibe uma imagem na tela; o
componente que exibe um botão em formato de imagem é
o ImageButton.

Resposta incorreta.

B. 
I, II, III e V, apenas.
Apenas as afirmativas I, II e V são verdadeiras. A afirmativa III é falsa
porque a view utilizada para a entrada de dados é a inputText;
a textView é utilizada para a exibição de dados. Já a afirmativa IV não é
verdadeira, visto que o componente image exibe uma imagem na tela; o
componente que exibe um botão em formato de imagem é
o ImageButton.

Você não acertou!

C. 
I e II, apenas.
Apenas as afirmativas I, II e V são verdadeiras. A afirmativa III é falsa
porque a view utilizada para a entrada de dados é a inputText;
a textView é utilizada para a exibição de dados. Já a afirmativa IV não é
verdadeira, visto que o componente image exibe uma imagem na tela; o
componente que exibe um botão em formato de imagem é
o ImageButton.

Resposta incorreta.

D. 
I, II e IV, apenas.
Apenas as afirmativas I, II e V são verdadeiras. A afirmativa III é falsa
porque a view utilizada para a entrada de dados é a inputText;
a textView é utilizada para a exibição de dados. Já a afirmativa IV não é
verdadeira, visto que o componente image exibe uma imagem na tela; o
componente que exibe um botão em formato de imagem é
o ImageButton.

Resposta incorreta.

E. 
I, II, III, IV e V.
Apenas as afirmativas I, II e V são verdadeiras. A afirmativa III é falsa
porque a view utilizada para a entrada de dados é a inputText;
a textView é utilizada para a exibição de dados. Já a afirmativa IV não é
verdadeira, visto que o componente image exibe uma imagem na tela; o
componente que exibe um botão em formato de imagem é
o ImageButton.

_________________________________________________________
_________________

Componentes dos aplicativos Android


1. 
O Android utiliza como base o sistema operacional Linux, no qual cada
processo é encapsulado em sua própria máquina virtual o isolado dos
demais. Por meio dessas e de outras características, o Android implementa
um princípio relacionado à segurança do aplicativo. Indique qual opção
representa esse princípio:

Resposta incorreta.

A. 
Privilégio total
O Android parte do princípio do privilégio mínimo, uma vez que todas as
permissões devem ser concedidas. VM isolada, ID único do
aplicativo e liberar memória são informações relacionadas a
características de como os aplicativos são executados. Privilégio
total somente existe se o desenvolvedor do aplicativo assim
implementar e o usuário assim permitir. Dessa forma, não se caracteriza
como um princípio.

Resposta incorreta.

B. 
Liberar memória
O Android parte do princípio do privilégio mínimo, uma vez que todas as
permissões devem ser concedidas. VM isolada, ID único do
aplicativo e liberar memória são informações relacionadas a
características de como os aplicativos são executados. Privilégio
total somente existe se o desenvolvedor do aplicativo assim
implementar e o usuário assim permitir. Dessa forma, não se caracteriza
como um princípio.

Resposta correta.

C. 
Privilégio mínimo
O Android parte do princípio do privilégio mínimo, uma vez que todas as
permissões devem ser concedidas. VM isolada, ID único do
aplicativo e liberar memória são informações relacionadas a
características de como os aplicativos são executados. Privilégio
total somente existe se o desenvolvedor do aplicativo assim
implementar e o usuário assim permitir. Dessa forma, não se caracteriza
como um princípio.

Resposta incorreta.
D. 
ID único do aplicativo
O Android parte do princípio do privilégio mínimo, uma vez que todas as
permissões devem ser concedidas. VM isolada, ID único do
aplicativo e liberar memória são informações relacionadas a
características de como os aplicativos são executados. Privilégio
total somente existe se o desenvolvedor do aplicativo assim
implementar e o usuário assim permitir. Dessa forma, não se caracteriza
como um princípio.

Você não acertou!

E. 
VM isolada
O Android parte do princípio do privilégio mínimo, uma vez que todas as
permissões devem ser concedidas. VM isolada, ID único do
aplicativo e liberar memória são informações relacionadas a
características de como os aplicativos são executados. Privilégio
total somente existe se o desenvolvedor do aplicativo assim
implementar e o usuário assim permitir. Dessa forma, não se caracteriza
como um princípio.

_________________________________________________________
_________________

2. 

Os aplicativos do Android são construídos utilizando componentes bem


definidos. O componente de aplicativo do Android que fornece uma tela
com a qual os usuários podem interagir para fazer algo, como discar um
número no telefone, enviar um e-mail ou ver um mapa é:

Você acertou!

A. 
Activity
Activity é o componente que disponibiliza a interface ou tela para o
usuário. Services são processos realizados em background e muitas
vezes os usuários nem sabem da sua existência. Broadcast receiver são
componentes que trabalham recebendo e tratando os eventos do
dispositivo. Intent são objetos de comunicação entre os vários
componentes de um aplicativo e também dos componentes com o
sistema Android. Content provider implementa o acesso aos dados tanto
do sistema quanto dados do próprio aplicativo.
Resposta incorreta.

B. 
Broadcast receiver
Activity é o componente que disponibiliza a interface ou tela para o
usuário. Services são processos realizados em background e muitas
vezes os usuários nem sabem da sua existência. Broadcast receiver são
componentes que trabalham recebendo e tratando os eventos do
dispositivo. Intent são objetos de comunicação entre os vários
componentes de um aplicativo e também dos componentes com o
sistema Android. Content provider implementa o acesso aos dados tanto
do sistema quanto dados do próprio aplicativo.

Resposta incorreta.

C. 
Intent
Activity é o componente que disponibiliza a interface ou tela para o
usuário. Services são processos realizados em background e muitas
vezes os usuários nem sabem da sua existência. Broadcast receiver são
componentes que trabalham recebendo e tratando os eventos do
dispositivo. Intent são objetos de comunicação entre os vários
componentes de um aplicativo e também dos componentes com o
sistema Android. Content provider implementa o acesso aos dados tanto
do sistema quanto dados do próprio aplicativo.

Resposta incorreta.

D. 
Content provider
Activity é o componente que disponibiliza a interface ou tela para o
usuário. Services são processos realizados em background e muitas
vezes os usuários nem sabem da sua existência. Broadcast receiver são
componentes que trabalham recebendo e tratando os eventos do
dispositivo. Intent são objetos de comunicação entre os vários
componentes de um aplicativo e também dos componentes com o
sistema Android. Content provider implementa o acesso aos dados tanto
do sistema quanto dados do próprio aplicativo.

Resposta incorreta.

E. 
Service
Activity é o componente que disponibiliza a interface ou tela para o
usuário. Services são processos realizados em background e muitas
vezes os usuários nem sabem da sua existência. Broadcast receiver são
componentes que trabalham recebendo e tratando os eventos do
dispositivo. Intent são objetos de comunicação entre os vários
componentes de um aplicativo e também dos componentes com o
sistema Android. Content provider implementa o acesso aos dados tanto
do sistema quanto dados do próprio aplicativo.

_________________________________________________________
_________________

3. 

Os componentes presentes em um aplicativo Android são capazes de


realizar diversas funções diferentes, como acessar dados, propagar
informações para o sistema e também exibir leiautes. Com relação aos
componentes Android, qual deles possui a funcionalidade de enviar dados
ao sistema Android, solicitando que ele execute um determinado aplicativo
enviando-o um conjunto de dados?

Resposta incorreta.

A. 
Broadcast receiver
Intent são objetos de comunicação entre os vários componentes de um
aplicativo e também dos componentes com o sistema Android. Activity é
o componente que disponibiliza a interface ou tela para o
usuário. Services são processos realizados em background e, muitas
vezes, os usuários nem sabem da sua existência. Broadcast receiver são
componentes que trabalham recebendo e tratando os eventos do
dispositivo. Content provider implementa o acesso aos dados tanto do
sistema quanto dados do próprio aplicativo.

Resposta incorreta.

B. 
Service
Intent são objetos de comunicação entre os vários componentes de um
aplicativo e também dos componentes com o sistema Android. Activity é
o componente que disponibiliza a interface ou tela para o
usuário. Services são processos realizados em background e, muitas
vezes, os usuários nem sabem da sua existência. Broadcast receiver são
componentes que trabalham recebendo e tratando os eventos do
dispositivo. Content provider implementa o acesso aos dados tanto do
sistema quanto dados do próprio aplicativo.
Resposta incorreta.

C. 
Content provider
Intent são objetos de comunicação entre os vários componentes de um
aplicativo e também dos componentes com o sistema Android. Activity é
o componente que disponibiliza a interface ou tela para o
usuário. Services são processos realizados em background e, muitas
vezes, os usuários nem sabem da sua existência. Broadcast receiver são
componentes que trabalham recebendo e tratando os eventos do
dispositivo. Content provider implementa o acesso aos dados tanto do
sistema quanto dados do próprio aplicativo.

Você acertou!

D. 
Intent
Intent são objetos de comunicação entre os vários componentes de um
aplicativo e também dos componentes com o sistema Android. Activity é
o componente que disponibiliza a interface ou tela para o
usuário. Services são processos realizados em background e, muitas
vezes, os usuários nem sabem da sua existência. Broadcast receiver são
componentes que trabalham recebendo e tratando os eventos do
dispositivo. Content provider implementa o acesso aos dados tanto do
sistema quanto dados do próprio aplicativo.

Resposta incorreta.

E. 
Activity
Intent são objetos de comunicação entre os vários componentes de um
aplicativo e também dos componentes com o sistema Android. Activity é
o componente que disponibiliza a interface ou tela para o
usuário. Services são processos realizados em background e, muitas
vezes, os usuários nem sabem da sua existência. Broadcast receiver são
componentes que trabalham recebendo e tratando os eventos do
dispositivo. Content provider implementa o acesso aos dados tanto do
sistema quanto dados do próprio aplicativo.

_________________________________________________________
_________________

4. 
Muitos processos de longa duração executados pelos aplicativos Android, se
executados pelo componente inadequado, podem causar problemas ao
aplicativo e ao sistema em si, travando-o e causando dificuldades aos
usuários. Qual é o componente adequado à execução de processos de longa
duração ?

Resposta incorreta.

A. 
Broadcast receiver
Services são processos realizados em background e, muitas vezes, os
usuários nem sabem da sua existência, dada esta característica são
amplamente utilizada para a execução de funcionalidades de longa
duração. Intent são objetos de comunicação entre os vários
componentes de um aplicativo e também dos componentes com o
sistema Android. Activity é o componente que disponibiliza a interface ou
tela para o usuário. Broadcast receiver são componentes que trabalham
recebendo e tratando os eventos do dispositivo. Content
provider implementa o acesso aos dados tanto do sistema quanto dados
do próprio aplicativo.

Resposta incorreta.

B. 
Content provider
Services são processos realizados em background e, muitas vezes, os
usuários nem sabem da sua existência, dada esta característica são
amplamente utilizada para a execução de funcionalidades de longa
duração. Intent são objetos de comunicação entre os vários
componentes de um aplicativo e também dos componentes com o
sistema Android. Activity é o componente que disponibiliza a interface ou
tela para o usuário. Broadcast receiver são componentes que trabalham
recebendo e tratando os eventos do dispositivo. Content
provider implementa o acesso aos dados tanto do sistema quanto dados
do próprio aplicativo.

Resposta incorreta.

C. 
Intent
Services são processos realizados em background e, muitas vezes, os
usuários nem sabem da sua existência, dada esta característica são
amplamente utilizada para a execução de funcionalidades de longa
duração. Intent são objetos de comunicação entre os vários
componentes de um aplicativo e também dos componentes com o
sistema Android. Activity é o componente que disponibiliza a interface ou
tela para o usuário. Broadcast receiver são componentes que trabalham
recebendo e tratando os eventos do dispositivo. Content
provider implementa o acesso aos dados tanto do sistema quanto dados
do próprio aplicativo.

Resposta incorreta.

D. 
Activity
Services são processos realizados em background e, muitas vezes, os
usuários nem sabem da sua existência, dada esta característica são
amplamente utilizada para a execução de funcionalidades de longa
duração. Intent são objetos de comunicação entre os vários
componentes de um aplicativo e também dos componentes com o
sistema Android. Activity é o componente que disponibiliza a interface ou
tela para o usuário. Broadcast receiver são componentes que trabalham
recebendo e tratando os eventos do dispositivo. Content
provider implementa o acesso aos dados tanto do sistema quanto dados
do próprio aplicativo.

Você acertou!

E. 
Service
Services são processos realizados em background e, muitas vezes, os
usuários nem sabem da sua existência, dada esta característica são
amplamente utilizada para a execução de funcionalidades de longa
duração. Intent são objetos de comunicação entre os vários
componentes de um aplicativo e também dos componentes com o
sistema Android. Activity é o componente que disponibiliza a interface ou
tela para o usuário. Broadcast receiver são componentes que trabalham
recebendo e tratando os eventos do dispositivo. Content
provider implementa o acesso aos dados tanto do sistema quanto dados
do próprio aplicativo.

_________________________________________________________
_________________

5. 

O Android disponibiliza um componente para o controle e gerenciamento


de dados. Por meio desse componente, podemos acessar dados disponíveis
no sistema, dados de outros aplicativos e disponibilizar os dados do próprio
aplicativo para os demais aplicativos presentes no dispositivo. Qual dos
componentes a abaixo representa esse componente?

Resposta incorreta.

A. 
Intent explícito
Content provider implementa o acesso aos dados tanto do sistema
quanto dados do próprio aplicativo e por meio dele podemos acessar
contatos de um smartphone ou até mesmo dados do calendário, como
eventos da agenda. Services são processos realizados em background e,
muitas vezes, os usuários nem sabem da sua existência. Intent implícito
ou explícito são objetos de comunicação entre os vários componentes
de um aplicativo e também dos componentes com o sistema
Android. Broadcast receiver são componentes que trabalham recebendo
e tratando os eventos do dispositivo.

Resposta incorreta.

B. 
Intent implícito
Content provider implementa o acesso aos dados tanto do sistema
quanto dados do próprio aplicativo e por meio dele podemos acessar
contatos de um smartphone ou até mesmo dados do calendário, como
eventos da agenda. Services são processos realizados em background e,
muitas vezes, os usuários nem sabem da sua existência. Intent implícito
ou explícito são objetos de comunicação entre os vários componentes
de um aplicativo e também dos componentes com o sistema
Android. Broadcast receiver são componentes que trabalham recebendo
e tratando os eventos do dispositivo.

Você acertou!

C. 
Content provider
Content provider implementa o acesso aos dados tanto do sistema
quanto dados do próprio aplicativo e por meio dele podemos acessar
contatos de um smartphone ou até mesmo dados do calendário, como
eventos da agenda. Services são processos realizados em background e,
muitas vezes, os usuários nem sabem da sua existência. Intent implícito
ou explícito são objetos de comunicação entre os vários componentes
de um aplicativo e também dos componentes com o sistema
Android. Broadcast receiver são componentes que trabalham recebendo
e tratando os eventos do dispositivo.
Resposta incorreta.

D. 
Broadcast receiver
Content provider implementa o acesso aos dados tanto do sistema
quanto dados do próprio aplicativo e por meio dele podemos acessar
contatos de um smartphone ou até mesmo dados do calendário, como
eventos da agenda. Services são processos realizados em background e,
muitas vezes, os usuários nem sabem da sua existência. Intent implícito
ou explícito são objetos de comunicação entre os vários componentes
de um aplicativo e também dos componentes com o sistema
Android. Broadcast receiver são componentes que trabalham recebendo
e tratando os eventos do dispositivo.

Resposta incorreta.

E. 
Service
Content provider implementa o acesso aos dados tanto do sistema
quanto dados do próprio aplicativo e por meio dele podemos acessar
contatos de um smartphone ou até mesmo dados do calendário, como
eventos da agenda. Services são processos realizados em background e,
muitas vezes, os usuários nem sabem da sua existência. Intent implícito
ou explícito são objetos de comunicação entre os vários componentes
de um aplicativo e também dos componentes com o sistema
Android. Broadcast receiver são componentes que trabalham recebendo
e tratando os eventos do dispositivo.

_________________________________________________________
_________________

Recursos e a classe R.java


1. 

A classe R.java tem por finalidade possibilitar a comunicação entre o


código do aplicativo e o arquivo XML do recurso. Nela, está a referência
aos recursos consumidos pelo aplicativo.
Ainda a respeito dessa classe, é correto afirmar que:

Resposta incorreta.

A. 
a classe R deve ser a primeira a ser desenvolvida quando um aplicativo novo é criado.
A classe R nunca deve ser alterada diretamente e é gerada no momento
da compilação do aplicativo. Além disso, ela não gera o arquivo XML,
apenas realiza mapeamento entre este e o código.

Você acertou!

B. 
a classe R não deve ser alterada diretamente; sua alteração se dá em decorrência de alterações no código.
A classe R nunca deve ser alterada diretamente e é gerada no momento
da compilação do aplicativo. Além disso, ela não gera o arquivo XML,
apenas realiza mapeamento entre este e o código.

Resposta incorreta.

C. 
as alterações necessárias para acesso em recursos devem sempre ser realizadas na classe R.
A classe R nunca deve ser alterada diretamente e é gerada no momento
da compilação do aplicativo. Além disso, ela não gera o arquivo XML,
apenas realiza mapeamento entre este e o código.

Resposta incorreta.

D. 
a classe R realiza a comunicação entre o arquivo XML e o código, além de gerar o arquivo XML.
A classe R nunca deve ser alterada diretamente e é gerada no momento
da compilação do aplicativo. Além disso, ela não gera o arquivo XML,
apenas realiza mapeamento entre este e o código.

Resposta incorreta.

E. 
a comunicação para a utilização dos recursos não é necessariamente um objetivo de tal classe.
A classe R nunca deve ser alterada diretamente e é gerada no momento
da compilação do aplicativo. Além disso, ela não gera o arquivo XML,
apenas realiza mapeamento entre este e o código.

_________________________________________________________
_________________

2. 

Referenciar a utilização dos recursos é um processo bem simples, sendo


preciso, apenas, referenciar o respectivo ID do recurso no código.
Com base nessa afirmação, assinale a alternativa correta.
Você não acertou!

A. 
Deve-se consultar o ID do recurso no seu arquivo XML e referenciá-lo no código, e a classe R se encarrega do
resto.
A classe R define todos os IDs dos recursos automaticamente, não
sendo necessário consultar no arquivo XML e muito menos alterar na
classe. Jamais deve-se realizar ajustes diretamente nessa classe.

Resposta incorreta.

B. 
Se o que se quer é utilizar a referência do ID, é preciso alterá-la na classe R e, depois, utilizá-la no código.
A classe R define todos os IDs dos recursos automaticamente, não
sendo necessário consultar no arquivo XML e muito menos alterar na
classe. Jamais deve-se realizar ajustes diretamente nessa classe.

Resposta correta.

C. 
Todos os IDs de recursos são definidos pela classe R automaticamente.
A classe R define todos os IDs dos recursos automaticamente, não
sendo necessário consultar no arquivo XML e muito menos alterar na
classe. Jamais deve-se realizar ajustes diretamente nessa classe.

Resposta incorreta.

D. 
Somente referenciar o ID é suficiente para acessar o recurso. Posteriormente, é necessário ajustá-lo na classe R.
A classe R define todos os IDs dos recursos automaticamente, não
sendo necessário consultar no arquivo XML e muito menos alterar na
classe. Jamais deve-se realizar ajustes diretamente nessa classe.

Resposta incorreta.

E. 
Jamais se deve referenciar o ID no código; o correto é na classe R.
A classe R define todos os IDs dos recursos automaticamente, não
sendo necessário consultar no arquivo XML e muito menos alterar na
classe. Jamais deve-se realizar ajustes diretamente nessa classe.

_________________________________________________________
_________________

3. 
Apesar de a classe R ser o local onde os códigos de recursos são
especificados, nunca deverá ser necessário verificá-la para descobrir um
código de recurso. 
Refletindo sobre essa afirmação, assinale a alternativa correta.

Resposta incorreta.

A. 
Apesar de realizar a comunicação entre o arquivo XML e o código, a classe R não tem o ID dos recursos.
A classe R define automaticamente todos os IDs dos recursos, que
são compostos pelo tipo seguido do nome. Sendo assim, não é
necessário realizar consultas à classe ou ao arquivo .xml.

Resposta incorreta.

B. 
Essa afirmativa não condiz com a realidade, pois sempre é necessário realizar a consulta na classe R.
A classe R define automaticamente todos os IDs dos recursos, que
são compostos pelo tipo seguido do nome. Sendo assim, não é
necessário realizar consultas à classe ou ao arquivo .xml.

Você não acertou!

C. 
Para consultar o ID dos recursos, o processo correto é consultar o respectivo arquivo XML.
A classe R define automaticamente todos os IDs dos recursos, que
são compostos pelo tipo seguido do nome. Sendo assim, não é
necessário realizar consultas à classe ou ao arquivo .xml.

Resposta incorreta.

D. 
A classe R não pode ser consultada devido ao fato de que ela não fica disponível na compilação do aplicativo.
A classe R define automaticamente todos os IDs dos recursos, que
são compostos pelo tipo seguido do nome. Sendo assim, não é
necessário realizar consultas à classe ou ao arquivo .xml.

Resposta correta.

E. 
Essa afirmativa baseia-se no fato de que todo ID é composto pelo tipo e nome do recurso. Logo, não é
necessário consultar a classe.
A classe R define automaticamente todos os IDs dos recursos, que
são compostos pelo tipo seguido do nome. Sendo assim, não é
necessário realizar consultas à classe ou ao arquivo .xml.
_________________________________________________________
_________________

4. 

A classe R é gerada pelo aapt automaticamente quando a aplicação é


compilada. Nesse sentido, o que ocorrerá caso algo seja alterado
diretamente na classe R após nova compilação do aplicativo?

Resposta correta.

A. 
As alterações serão sobrepostas pela compilação e perdidas.
Jamais devem ser realizadas alterações na classe R diretamente.
Qualquer alteração nessa classe será sobreposta no momento em que
o aplicativo for compilado de novo. Com o arquivo .xml, não deve ocorrer
problema.

Resposta incorreta.

B. 
O aplicativo não poderá ser compilado, pois ocorrerá erro.
Jamais devem ser realizadas alterações na classe R diretamente.
Qualquer alteração nessa classe será sobreposta no momento em que
o aplicativo for compilado de novo. Com o arquivo .xml, não deve ocorrer
problema.

Resposta incorreta.

C. 
O arquivo .xml e todos os demais recursos deixarão de funcionar consequentemente.
Jamais devem ser realizadas alterações na classe R diretamente.
Qualquer alteração nessa classe será sobreposta no momento em que
o aplicativo for compilado de novo. Com o arquivo .xml, não deve ocorrer
problema.

Resposta incorreta.

D. 
Não deverá ocorrer problema com a classe R em si, mas, sim, com o arquivo .xml.
Jamais devem ser realizadas alterações na classe R diretamente.
Qualquer alteração nessa classe será sobreposta no momento em que
o aplicativo for compilado de novo. Com o arquivo .xml, não deve ocorrer
problema.
Você não acertou!

E. 
O aplicativo vai acusar erro nas referências dos recursos já utilizados.
Jamais devem ser realizadas alterações na classe R diretamente.
Qualquer alteração nessa classe será sobreposta no momento em que
o aplicativo for compilado de novo. Com o arquivo .xml, não deve ocorrer
problema.

_________________________________________________________
_________________

5. 

Nos projetos de desenvolvimento de aplicativos para o Android, é


imprescindível conhecer e saber utilizar a classe R.java. Nesse contexto,
pode-se dizer que o principal benefício dela é:

Resposta incorreta.

A. 
possibilitar trabalhar com arquivo .xml para acesso a recursos.
O grande benefício da classe R é fazer o mapeamento entre o
arquivo .xml dos recursos e o código do aplicativo, não sendo
necessário realizar codificação específica para tal ligação. Além disso,
não devem ser realizadas alterações na classe R diretamente.

Resposta incorreta.

B. 
permitir abstrair os recursos e, assim, não ter que se preocupar em conhecê-los.
O grande benefício da classe R é fazer o mapeamento entre o
arquivo .xml dos recursos e o código do aplicativo, não sendo
necessário realizar codificação específica para tal ligação. Além disso,
não devem ser realizadas alterações na classe R diretamente.

Resposta correta.

C. 
possibilitar o mapeamento entre recursos e código de modo dinâmico, sem necessidade de codificação.
O grande benefício da classe R é fazer o mapeamento entre o
arquivo .xml dos recursos e o código do aplicativo, não sendo
necessário realizar codificação específica para tal ligação. Além disso,
não devem ser realizadas alterações na classe R diretamente.
Você não acertou!

D. 
facilitar o acesso ao código dos recursos.
O grande benefício da classe R é fazer o mapeamento entre o
arquivo .xml dos recursos e o código do aplicativo, não sendo
necessário realizar codificação específica para tal ligação. Além disso,
não devem ser realizadas alterações na classe R diretamente.

Resposta incorreta.

E. 
possibilitar alterações manuais.
O grande benefício da classe R é fazer o mapeamento entre o
arquivo .xml dos recursos e o código do aplicativo, não sendo
necessário realizar codificação específica para tal ligação. Além disso,
não devem ser realizadas alterações na classe R diretamente.

_________________________________________________________
_________________

Persistência com SQLite


1. 

O banco de dados SQLite está no contexto da persistência de dados no


Android. Qual das opções a seguir está correta sobre as características
desse banco de dados?

Você não acertou!

A. 
Trata-se de um banco de dados embutido que não tem servidor, realizando os procedimentos de leitura e escrita
diretamente no arquivo.
Em resumo, pode-se dizer que as principais características do SQLite
são:
- É totalmente suportado pelas principais versões do Android.
- Qualquer banco de dados poderá ser acessado por seu nome a partir
de qualquer classe da aplicação, mas não poderá ser acessado fora
dela.
- É uma biblioteca open source implementada na linguagem C. Trata-se
de um banco de dados embutido que não tem servidor, realizando os
procedimentos de leitura e escrita diretamente no arquivo.
- Sua utilização não requer qualquer tipo de configuração ou processo
administrativo; você precisará somente definir os comandos SQL para
criar e atualizar o banco de dados. O SQLite é gerenciado
automaticamente pela plataforma Android.

Resposta incorreta.

B. 
O SQLite é gerenciado automaticamente pela plataforma Android e é parcialmente suportado pelas principais
versões.
Em resumo, pode-se dizer que as principais características do SQLite
são:
- É totalmente suportado pelas principais versões do Android.
- Qualquer banco de dados poderá ser acessado por seu nome a partir
de qualquer classe da aplicação, mas não poderá ser acessado fora
dela.
- É uma biblioteca open source implementada na linguagem C. Trata-se
de um banco de dados embutido que não tem servidor, realizando os
procedimentos de leitura e escrita diretamente no arquivo.
- Sua utilização não requer qualquer tipo de configuração ou processo
administrativo; você precisará somente definir os comandos SQL para
criar e atualizar o banco de dados. O SQLite é gerenciado
automaticamente pela plataforma Android.

Resposta incorreta.

C. 
Sua utilização requer algum tipo de configuração ou processo administrativo; você precisará somente definir os
comandos SQL para criar e atualizar o banco de dados.
Em resumo, pode-se dizer que as principais características do SQLite
são:
- É totalmente suportado pelas principais versões do Android.
- Qualquer banco de dados poderá ser acessado por seu nome a partir
de qualquer classe da aplicação, mas não poderá ser acessado fora
dela.
- É uma biblioteca open source implementada na linguagem C. Trata-se
de um banco de dados embutido que não tem servidor, realizando os
procedimentos de leitura e escrita diretamente no arquivo.
- Sua utilização não requer qualquer tipo de configuração ou processo
administrativo; você precisará somente definir os comandos SQL para
criar e atualizar o banco de dados. O SQLite é gerenciado
automaticamente pela plataforma Android.

Resposta correta.

D. 
Qualquer banco de dados poderá ser acessado por seu nome a partir de qualquer classe da aplicação, mas não
poderá ser acessado fora dela.
Em resumo, pode-se dizer que as principais características do SQLite
são:
- É totalmente suportado pelas principais versões do Android.
- Qualquer banco de dados poderá ser acessado por seu nome a partir
de qualquer classe da aplicação, mas não poderá ser acessado fora
dela.
- É uma biblioteca open source implementada na linguagem C. Trata-se
de um banco de dados embutido que não tem servidor, realizando os
procedimentos de leitura e escrita diretamente no arquivo.
- Sua utilização não requer qualquer tipo de configuração ou processo
administrativo; você precisará somente definir os comandos SQL para
criar e atualizar o banco de dados. O SQLite é gerenciado
automaticamente pela plataforma Android.

Resposta incorreta.

E. 
Diversos bancos de dados não poderão ser acessados somente por seu nome a partir de qualquer classe da
aplicação, mas não poderão ser acessados fora dela.
Em resumo, pode-se dizer que as principais características do SQLite
são:
- É totalmente suportado pelas principais versões do Android.
- Qualquer banco de dados poderá ser acessado por seu nome a partir
de qualquer classe da aplicação, mas não poderá ser acessado fora
dela.
- É uma biblioteca open source implementada na linguagem C. Trata-se
de um banco de dados embutido que não tem servidor, realizando os
procedimentos de leitura e escrita diretamente no arquivo.
- Sua utilização não requer qualquer tipo de configuração ou processo
administrativo; você precisará somente definir os comandos SQL para
criar e atualizar o banco de dados. O SQLite é gerenciado
automaticamente pela plataforma Android.

_________________________________________________________
_________________

2. 

A partir do construtor que você definiu, você poderá obter uma instância
de implementação de SQLiteOpenHelper. Para que se possa realizar
operações de gravação e leitura no banco de dados, quais métodos devem
ser invocados?
Você acertou!

A. 
getWritableDatabase() e getReadableDatabase().
Para que você possa realizar operações de gravação e leitura no banco
de dados, invoque os seguintes métodos, respectivamente:
getWritableDatabase() e getReadableDatabase(). Ambos os métodos
retornarão um objeto SQLiteDatabase, que representa o banco de
dados e fornece os métodos para as operações do SQLite.

Resposta incorreta.

B. 
getWritableDatabase() e query().
Para que você possa realizar operações de gravação e leitura no banco
de dados, invoque os seguintes métodos, respectivamente:
getWritableDatabase() e getReadableDatabase(). Ambos os métodos
retornarão um objeto SQLiteDatabase, que representa o banco de
dados e fornece os métodos para as operações do SQLite.

Resposta incorreta.

C. 
SQLiteDatabase() e getReadableDatabase().
Para que você possa realizar operações de gravação e leitura no banco
de dados, invoque os seguintes métodos, respectivamente:
getWritableDatabase() e getReadableDatabase(). Ambos os métodos
retornarão um objeto SQLiteDatabase, que representa o banco de
dados e fornece os métodos para as operações do SQLite.

Resposta incorreta.

D. 
setWriteDatabase() e setReadDatabase().
Para que você possa realizar operações de gravação e leitura no banco
de dados, invoque os seguintes métodos, respectivamente:
getWritableDatabase() e getReadableDatabase(). Ambos os métodos
retornarão um objeto SQLiteDatabase, que representa o banco de
dados e fornece os métodos para as operações do SQLite.

Resposta incorreta.

E. 
setWritableDatabase() e setReadableDatabase().
Para que você possa realizar operações de gravação e leitura no banco
de dados, invoque os seguintes métodos, respectivamente:
getWritableDatabase() e getReadableDatabase(). Ambos os métodos
retornarão um objeto SQLiteDatabase, que representa o banco de
dados e fornece os métodos para as operações do SQLite.

_________________________________________________________
_________________

3. 

A própria Google, criadora da plataforma Android, faz uma indicação


para conexão com o banco de dados SQLite. Qual subclasse deve ser
utilizada?

Resposta incorreta.

A. 
SQLiteReadHelper.
Por indicação da própria Google, para criar um novo banco de dados,
deve-se utilizar a subclasse SQLiteOpenHelper e modificar seu método
onCreate(). As demais alternativas não são opções indicadas.

Resposta incorreta.

B. 
SQLiteCreateHelper.
Por indicação da própria Google, para criar um novo banco de dados,
deve-se utilizar a subclasse SQLiteOpenHelper e modificar seu método
onCreate(). As demais alternativas não são opções indicadas.

Você acertou!

C. 
SQLiteOpenHelper.
Por indicação da própria Google, para criar um novo banco de dados,
deve-se utilizar a subclasse SQLiteOpenHelper e modificar seu método
onCreate(). As demais alternativas não são opções indicadas.

Resposta incorreta.

D. 
SQLiteManageHelper.
Por indicação da própria Google, para criar um novo banco de dados,
deve-se utilizar a subclasse SQLiteOpenHelper e modificar seu método
onCreate(). As demais alternativas não são opções indicadas.
Resposta incorreta.

E. 
SQLiteHelper.
Por indicação da própria Google, para criar um novo banco de dados,
deve-se utilizar a subclasse SQLiteOpenHelper e modificar seu método
onCreate(). As demais alternativas não são opções indicadas.

_________________________________________________________
_________________

4. 

O SQLite não é o único sistema de banco de dados suportado pelo Android,


ou seja, além dele, existem outras opções que podem ser utilizadas para
persistência de dados na plataforma. Com base nessa afirmação, marque a
opção que melhor descreve os motivos de, entre várias opções, o SQLite ser
a mais indicada.

Resposta incorreta.

A. 
Por ser uma biblioteca em C, realizar o próprio gerenciamento e suportar todos os comandos SQL.
O principal motivo de o SQLite ser indicado para projetos de aplicativos
para Android é o fato de o banco de dados ser open source, escrito em C
(mesma linguagem do Android), ser leve e robusto. As demais opções
não se aplicam.

Resposta incorreta.

B. 
Por ser escrito em java, a mesma linguagem de programação utilizada para escrever aplicativos Android.
O principal motivo de o SQLite ser indicado para projetos de aplicativos
para Android é o fato de o banco de dados ser open source, escrito em C
(mesma linguagem do Android), ser leve e robusto. As demais opções
não se aplicam.

Resposta incorreta.

C. 
Por ser a única opção gratuita e livre de qualquer tipo de licença.
O principal motivo de o SQLite ser indicado para projetos de aplicativos
para Android é o fato de o banco de dados ser open source, escrito em C
(mesma linguagem do Android), ser leve e robusto. As demais opções
não se aplicam.

Resposta incorreta.

D. 
Porque foi desenvolvido pela própria Google, empresa responsável pelo Android.
O principal motivo de o SQLite ser indicado para projetos de aplicativos
para Android é o fato de o banco de dados ser open source, escrito em C
(mesma linguagem do Android), ser leve e robusto. As demais opções
não se aplicam.

Você acertou!

E. 
Por ser open source e escrito em C (o que garante suporte nativo no Android).
O principal motivo de o SQLite ser indicado para projetos de aplicativos
para Android é o fato de o banco de dados ser open source, escrito em C
(mesma linguagem do Android), ser leve e robusto. As demais opções
não se aplicam.

_________________________________________________________
_________________

5. 

O SQLite também tem limitações. Observe as opções a seguir e assinale


aquela que as descreve:

Resposta incorreta.

A. 
Atomicidade, delete múltiplas tabelas, triggers e alter table.
Apesar de suas limitações (delete várias tabelas, foreign key, triggers,alter
table, right join, full outer join, grant e revoke), o SQLite oferece diversos
recursos que são observados nos sistemas de gerenciamento de
bancos de dados mais modernos. Entre esses recursos, pode-se citar a
propriedade ACID – Atomicidade, Consistência, Isolamento e
Durabilidade.

Resposta correta.

B. 
Delete múltiplas tabelas, revoke, grant, triggers e alter table.
Apesar de suas limitações (delete várias tabelas, foreign key, triggers,alter
table, right join, full outer join, grant e revoke), o SQLite oferece diversos
recursos que são observados nos sistemas de gerenciamento de
bancos de dados mais modernos. Entre esses recursos, pode-se citar a
propriedade ACID – Atomicidade, Consistência, Isolamento e
Durabilidade.

Resposta incorreta.

C. 
DRight join, alter table, revoke, grant e update.
Apesar de suas limitações (delete várias tabelas, foreign key, triggers,alter
table, right join, full outer join, grant e revoke), o SQLite oferece diversos
recursos que são observados nos sistemas de gerenciamento de
bancos de dados mais modernos. Entre esses recursos, pode-se citar a
propriedade ACID – Atomicidade, Consistência, Isolamento e
Durabilidade.

Você não acertou!

D. 
Durabilidade, triggers, delete em múltiplas tabelas, joins e alter table.
Apesar de suas limitações (delete várias tabelas, foreign key, triggers,alter
table, right join, full outer join, grant e revoke), o SQLite oferece diversos
recursos que são observados nos sistemas de gerenciamento de
bancos de dados mais modernos. Entre esses recursos, pode-se citar a
propriedade ACID – Atomicidade, Consistência, Isolamento e
Durabilidade.

Resposta incorreta.

E. 
Joins, delete, alter table, grank e revoke.
Apesar de suas limitações (delete várias tabelas, foreign key, triggers,alter
table, right join, full outer join, grant e revoke), o SQLite oferece diversos
recursos que são observados nos sistemas de gerenciamento de
bancos de dados mais modernos. Entre esses recursos, pode-se citar a
propriedade ACID – Atomicidade, Consistência, Isolamento e
Durabilidade.

_________________________________________________________
_________________

Linguagem Java: conceitos essenciais de


desenvolvimento para dispositivos móveis
1. 

Os tipos primitivos de dados têm características próprias quanto ao tipo de


dado que podem armazenar e limites mínimos e máximos de dados que
podem ser armazenados.
Considerando as afirmativas a seguir, qual apresenta uma atribuição de
valor válida ?

Resposta incorreta.

A. 
Variável do tipo “int” valor 3,5f.
Variável do tipo “int” valor 645 é a opção correta, visto que uma variável
do tipo “int” aceita valores inteiros positivos e negativos de -2³¹ a 2³¹. 
Logo, o valor 3,5f não é válido, uma vez que não é um numero inteiro.A
variável “boolean” armazena valores “true” e “false” apenas. Já
a variável do tipo “byte” armazena valores inteiros positivos e negativos
de -128 a 127, e a variável do tipo “char” trabalha apenas com número
inteiros positivos até 65535.

Resposta incorreta.

B. 
Variável do tipo “boolean” valor 10.
Variável do tipo “int” valor 645 é a opção correta, visto que uma variável
do tipo “int” aceita valores inteiros positivos e negativos de -2³¹ a 2³¹. 
Logo, o valor 3,5f não é válido, uma vez que não é um numero inteiro.A
variável “boolean” armazena valores “true” e “false” apenas. Já
a variável do tipo “byte” armazena valores inteiros positivos e negativos
de -128 a 127, e a variável do tipo “char” trabalha apenas com número
inteiros positivos até 65535.

Resposta incorreta.

C. 
Variável do tipo “byte” valor 40000.
Variável do tipo “int” valor 645 é a opção correta, visto que uma variável
do tipo “int” aceita valores inteiros positivos e negativos de -2³¹ a 2³¹. 
Logo, o valor 3,5f não é válido, uma vez que não é um numero inteiro.A
variável “boolean” armazena valores “true” e “false” apenas. Já
a variável do tipo “byte” armazena valores inteiros positivos e negativos
de -128 a 127, e a variável do tipo “char” trabalha apenas com número
inteiros positivos até 65535.
Você acertou!

D. 
Variável do tipo “int” valor 645.
Variável do tipo “int” valor 645 é a opção correta, visto que uma variável
do tipo “int” aceita valores inteiros positivos e negativos de -2³¹ a 2³¹. 
Logo, o valor 3,5f não é válido, uma vez que não é um numero inteiro.A
variável “boolean” armazena valores “true” e “false” apenas. Já
a variável do tipo “byte” armazena valores inteiros positivos e negativos
de -128 a 127, e a variável do tipo “char” trabalha apenas com número
inteiros positivos até 65535.

Resposta incorreta.

E. 
Variável do tipo “char” valor -88.
Variável do tipo “int” valor 645 é a opção correta, visto que uma variável
do tipo “int” aceita valores inteiros positivos e negativos de -2³¹ a 2³¹. 
Logo, o valor 3,5f não é válido, uma vez que não é um numero inteiro.A
variável “boolean” armazena valores “true” e “false” apenas. Já
a variável do tipo “byte” armazena valores inteiros positivos e negativos
de -128 a 127, e a variável do tipo “char” trabalha apenas com número
inteiros positivos até 65535.

_________________________________________________________
_________________

2. 

Modificadores de acesso permitem ao desenvolvedor construir uma


classe na qual métodos e variáveis podem ser restritos de diversas
formas. Marque a alternativa que representa o modificador que permite
que os métodos e variáveis que portem este modificador sejam acessadas
apenas pela própria classe.

Você acertou!

A. 
private
O modificador private permite que métodos e variáveis sejam acessados
apenas pela própria classe.Public é o modificador mais permissivo da
linguagem Java.Float e byte são tipos de dados primitivos e protect é um
modificador com a restrição de ser acessível dentro da classe e dentro
do pacote da classe, ou seja, sendo acessado pelas classes do mesmo
pacote.
Resposta incorreta.

B. 
public
O modificador private permite que métodos e variáveis sejam acessados
apenas pela própria classe.Public é o modificador mais permissivo da
linguagem Java.Float e byte são tipos de dados primitivos e protect é um
modificador com a restrição de ser acessível dentro da classe e dentro
do pacote da classe, ou seja, sendo acessado pelas classes do mesmo
pacote.

Resposta incorreta.

C. 
float
O modificador private permite que métodos e variáveis sejam acessados
apenas pela própria classe.Public é o modificador mais permissivo da
linguagem Java.Float e byte são tipos de dados primitivos e protect é um
modificador com a restrição de ser acessível dentro da classe e dentro
do pacote da classe, ou seja, sendo acessado pelas classes do mesmo
pacote.

Resposta incorreta.

D. 
protect
O modificador private permite que métodos e variáveis sejam acessados
apenas pela própria classe.Public é o modificador mais permissivo da
linguagem Java.Float e byte são tipos de dados primitivos e protect é um
modificador com a restrição de ser acessível dentro da classe e dentro
do pacote da classe, ou seja, sendo acessado pelas classes do mesmo
pacote.

Resposta incorreta.

E. 
byte
O modificador private permite que métodos e variáveis sejam acessados
apenas pela própria classe.Public é o modificador mais permissivo da
linguagem Java.Float e byte são tipos de dados primitivos e protect é um
modificador com a restrição de ser acessível dentro da classe e dentro
do pacote da classe, ou seja, sendo acessado pelas classes do mesmo
pacote.
_________________________________________________________
_________________

3. 

O Java, sendo uma linguagem de programação orientada a objetos, tem


uma técnica que faz com que os detalhes internos a respeito do
funcionamento dos métodos de uma classe permaneçam ocultos para os
objetos.  Marque a alternativa que indica a técnica descrita:

Resposta incorreta.

A. 
Polimorfismo
O encapsulamento tem a capacidade de ocultar detalhes dos métodos
da classe, fornecendo suas funcionalidades de forma
transparente. Private e protect são modificadores de acesso, enquanto a
herança é a funcionalidade de uma classe implementar ou ser estendida
outra classe, herdando os métodos desta classe. Por fim, polimorfismo
está relacionado à capacidade de uma classe de assumir várias formas.

Resposta incorreta.

B. 
Herança
O encapsulamento tem a capacidade de ocultar detalhes dos métodos
da classe, fornecendo suas funcionalidades de forma
transparente. Private e protect são modificadores de acesso, enquanto a
herança é a funcionalidade de uma classe implementar ou ser estendida
outra classe, herdando os métodos desta classe. Por fim, polimorfismo
está relacionado à capacidade de uma classe de assumir várias formas.

Resposta incorreta.

C. 
Private
O encapsulamento tem a capacidade de ocultar detalhes dos métodos
da classe, fornecendo suas funcionalidades de forma
transparente. Private e protect são modificadores de acesso, enquanto a
herança é a funcionalidade de uma classe implementar ou ser estendida
outra classe, herdando os métodos desta classe. Por fim, polimorfismo
está relacionado à capacidade de uma classe de assumir várias formas.

Resposta incorreta.
D. 
Protect
O encapsulamento tem a capacidade de ocultar detalhes dos métodos
da classe, fornecendo suas funcionalidades de forma
transparente. Private e protect são modificadores de acesso, enquanto a
herança é a funcionalidade de uma classe implementar ou ser estendida
outra classe, herdando os métodos desta classe. Por fim, polimorfismo
está relacionado à capacidade de uma classe de assumir várias formas.

Você acertou!

E. 
Encapsulamento
O encapsulamento tem a capacidade de ocultar detalhes dos métodos
da classe, fornecendo suas funcionalidades de forma
transparente. Private e protect são modificadores de acesso, enquanto a
herança é a funcionalidade de uma classe implementar ou ser estendida
outra classe, herdando os métodos desta classe. Por fim, polimorfismo
está relacionado à capacidade de uma classe de assumir várias formas.

_________________________________________________________
_________________

4. 

A linguagem Java tem recursos do conceito da orientação a objetos,


nos quais uma classe pode ter várias implementações de um mesmo
método, no qual a passagem de parâmetros deve ser diferente umas das
outras.
Esse recurso é conhecido como:

Resposta incorreta.

A. 
Herança
A sobrecarga de métodos fornece a possibilidade de ter métodos com o
mesmo nome, porém com parâmetros diferentes.Static e final são
modificadores de acesso. Já a herança é a funcionalidade de uma
classe implementar ou ser estendida a outra classe, herdando os
métodos desta classe.O encapsulamento oculta detalhes das classes e
métodos, de forma que o desenvolvedor possa as utilizar sem se
preocupar com detalhes internos.

Resposta incorreta.
B. 
Static
A sobrecarga de métodos fornece a possibilidade de ter métodos com o
mesmo nome, porém com parâmetros diferentes.Static e final são
modificadores de acesso. Já a herança é a funcionalidade de uma
classe implementar ou ser estendida a outra classe, herdando os
métodos desta classe.O encapsulamento oculta detalhes das classes e
métodos, de forma que o desenvolvedor possa as utilizar sem se
preocupar com detalhes internos.

Você acertou!

C. 
Sobrecarga
A sobrecarga de métodos fornece a possibilidade de ter métodos com o
mesmo nome, porém com parâmetros diferentes.Static e final são
modificadores de acesso. Já a herança é a funcionalidade de uma
classe implementar ou ser estendida a outra classe, herdando os
métodos desta classe.O encapsulamento oculta detalhes das classes e
métodos, de forma que o desenvolvedor possa as utilizar sem se
preocupar com detalhes internos.

Resposta incorreta.

D. 
Encapsulamento
A sobrecarga de métodos fornece a possibilidade de ter métodos com o
mesmo nome, porém com parâmetros diferentes.Static e final são
modificadores de acesso. Já a herança é a funcionalidade de uma
classe implementar ou ser estendida a outra classe, herdando os
métodos desta classe.O encapsulamento oculta detalhes das classes e
métodos, de forma que o desenvolvedor possa as utilizar sem se
preocupar com detalhes internos.

Resposta incorreta.

E. 
Final
A sobrecarga de métodos fornece a possibilidade de ter métodos com o
mesmo nome, porém com parâmetros diferentes.Static e final são
modificadores de acesso. Já a herança é a funcionalidade de uma
classe implementar ou ser estendida a outra classe, herdando os
métodos desta classe.O encapsulamento oculta detalhes das classes e
métodos, de forma que o desenvolvedor possa as utilizar sem se
preocupar com detalhes internos.
_________________________________________________________
_________________

5. 

Os operadores são elementos de suma importância na linguagem Java,


sendo amplamente utilizados em diversas rotinas. Marque a alternativa
que contenha operadores unários e de incremento e decremento.

Resposta incorreta.

A. 
“-” e “+”
Os operadores “++” e “--” são unários e de incremento e decremento.“-”
e “+” são operadores unários, apenas. “==” e “!=” são operadores de
comparação, assim como os operadores “>=” e “<=”.Os operadores “=”
e “+=” são operadores de atribuição.

Resposta incorreta.

B. 
“==” e “!=”
Os operadores “++” e “--” são unários e de incremento e decremento.“-”
e “+” são operadores unários, apenas. “==” e “!=” são operadores de
comparação, assim como os operadores “>=” e “<=”.Os operadores “=”
e “+=” são operadores de atribuição.

Resposta incorreta.

C. 
“>=” e “<=”
Os operadores “++” e “--” são unários e de incremento e decremento.“-”
e “+” são operadores unários, apenas. “==” e “!=” são operadores de
comparação, assim como os operadores “>=” e “<=”.Os operadores “=”
e “+=” são operadores de atribuição.

Resposta incorreta.

D. 
“=” e “+=”
Os operadores “++” e “--” são unários e de incremento e decremento.“-”
e “+” são operadores unários, apenas. “==” e “!=” são operadores de
comparação, assim como os operadores “>=” e “<=”.Os operadores “=”
e “+=” são operadores de atribuição.
Você acertou!

E. 
“++” e “--”
Os operadores “++” e “--” são unários e de incremento e decremento.“-”
e “+” são operadores unários, apenas. “==” e “!=” são operadores de
comparação, assim como os operadores “>=” e “<=”.Os operadores “=”
e “+=” são operadores de atribuição.

_________________________________________________________
_________________

Fornecimento de recursos
1. 

Ao desenvolver um aplicativo para o Android, é fundamental conhecer os


recursos que estão disponíveis e saber como utilizá-los na aplicação.
Também é possível desenvolver recursos próprios que serão utilizados por
outros aplicativos. Sobre o conceito de recursos, é correto afirmar:

Resposta incorreta.

A. 
Recursos são disponibilizados pelo Android Studio, ambiente de desenvolvimento do Android.
Os recursos originais estão disponíveis pelo próprio Android e não em
ambiente de desenvolvimento. Os exemplos de recursos originais mais
utilizados são os relacionados a layout de interface. Pode-se estender
recursos e também criar novos.

Você acertou!

B. 
São exemplos de recursos originais, por exemplo, os relacionados a layout de interface.
Os recursos originais estão disponíveis pelo próprio Android e não em
ambiente de desenvolvimento. Os exemplos de recursos originais mais
utilizados são os relacionados a layout de interface. Pode-se estender
recursos e também criar novos.

Resposta incorreta.

C. 
Os recursos originais somente podem ser utilizados sem possibilidades de estender suas funcionalidades.
Os recursos originais estão disponíveis pelo próprio Android e não em
ambiente de desenvolvimento. Os exemplos de recursos originais mais
utilizados são os relacionados a layout de interface. Pode-se estender
recursos e também criar novos.

Resposta incorreta.

D. 
Na verdade, no Android não existem recursos originais disponíveis.
Os recursos originais estão disponíveis pelo próprio Android e não em
ambiente de desenvolvimento. Os exemplos de recursos originais mais
utilizados são os relacionados a layout de interface. Pode-se estender
recursos e também criar novos.

Resposta incorreta.

E. 
Para utilizar recursos no Android, é preciso instalar bibliotecas adicionais.
Os recursos originais estão disponíveis pelo próprio Android e não em
ambiente de desenvolvimento. Os exemplos de recursos originais mais
utilizados são os relacionados a layout de interface. Pode-se estender
recursos e também criar novos.

_________________________________________________________
_________________

2. 

Um dos recursos que se pode trabalhar no Android são as strings. Por


exemplo, se quiser padronizar o rótulo de um botão para que todo lugar em
que ele seja exibido fique com a mesma informação, pode-se fazer isso
alterando o arquivo string.xml. Acerca do arquivo string.xml, é correto
afirmar:

Resposta incorreta.

A. 
É importante saber que existe esse recurso porque é assim que o Android exibe toda e qualquer mensagem da
aplicação.
O arquivo strings.xml não tem armazenadas as mensagens da
aplicação. Ele fica localizado no diretório de resources e é utilizado para
armazenar valores de strings reutilizáveis. É um dos recursos do Android
e, assim como demais recursos, deve-se referenciar com um ID.

Você acertou!
B. 
O arquivo string.xml fica localizado no diretório de resources e é utilizado para armazenar strings e seus
valores.
O arquivo strings.xml não tem armazenadas as mensagens da
aplicação. Ele fica localizado no diretório de resources e é utilizado para
armazenar valores de strings reutilizáveis. É um dos recursos do Android
e, assim como demais recursos, deve-se referenciar com um ID.

Resposta incorreta.

C. 
O arquivo string.xml, apesar de referenciar as strings e seus valores, não é considerado um recurso. 
O arquivo strings.xml não tem armazenadas as mensagens da
aplicação. Ele fica localizado no diretório de resources e é utilizado para
armazenar valores de strings reutilizáveis. É um dos recursos do Android
e, assim como demais recursos, deve-se referenciar com um ID.

Resposta incorreta.

D. 
Não existe a necessidade de realizar a identificação ID de arquivos string, diferentemente de outros recursos.
O arquivo strings.xml não tem armazenadas as mensagens da
aplicação. Ele fica localizado no diretório de resources e é utilizado para
armazenar valores de strings reutilizáveis. É um dos recursos do Android
e, assim como demais recursos, deve-se referenciar com um ID.

Resposta incorreta.

E. 
O arquivo string.xml jamais deve ser alterado, pois podem ocorrer diversos problemas com mensagens na
aplicação.
O arquivo strings.xml não tem armazenadas as mensagens da
aplicação. Ele fica localizado no diretório de resources e é utilizado para
armazenar valores de strings reutilizáveis. É um dos recursos do Android
e, assim como demais recursos, deve-se referenciar com um ID.

_________________________________________________________
_________________

3. 

Em todo projeto Android existe a necessidade de externalizar alguns itens,


por exemplo, imagens, strings, para que seja possível mantê-los
independentes e para que possam suportar configuração específica, idioma
do dispositivos, tamanho de tela, orientação, etc. A pasta res, utiliza várias
subpastas que, juntas, classificam os resources por tipo e configuração.Com
base nessa explicação, é correto afirmar:

Resposta incorreta.

A. 
A pasta res serve somente para organizar os arquivos necessários para externalizar no projeto Android.
A pasta res existe em todo e qualquer projeto para Android. Além dos
recursos naturais, pode-se utilizar para arquivos necessários
para externalizar a aplicação. A subdivisão por pastas conforme a
classificação do tipo de recurso é importante para organizar e classificar
os recursos.

Resposta incorreta.

B. 
A pasta res possui subpastas e a classificação dos recursos por tipo é opcional nessa estrutura.
A pasta res existe em todo e qualquer projeto para Android. Além dos
recursos naturais, pode-se utilizar para arquivos necessários
para externalizar a aplicação. A subdivisão por pastas conforme a
classificação do tipo de recurso é importante para organizar e classificar
os recursos.

Você acertou!

C. 
A subdivisão em subpastas conforme a classificação dos recursos é importante para organização e localização.
A pasta res existe em todo e qualquer projeto para Android. Além dos
recursos naturais, pode-se utilizar para arquivos necessários
para externalizar a aplicação. A subdivisão por pastas conforme a
classificação do tipo de recurso é importante para organizar e classificar
os recursos.

Resposta incorreta.

D. 
Manipulação de câmera é um exemplo de recurso que existe dentro da pasta res e serve para armazenar esses
recursos.
A pasta res existe em todo e qualquer projeto para Android. Além dos
recursos naturais, pode-se utilizar para arquivos necessários
para externalizar a aplicação. A subdivisão por pastas conforme a
classificação do tipo de recurso é importante para organizar e classificar
os recursos.

Resposta incorreta.

E. 
A pasta res somente é gerada no projeto quando existem arquivos necessários para externalizar.
A pasta res existe em todo e qualquer projeto para Android. Além dos
recursos naturais, pode-se utilizar para arquivos necessários
para externalizar a aplicação. A subdivisão por pastas conforme a
classificação do tipo de recurso é importante para organizar e classificar
os recursos.

_________________________________________________________
_________________

4. 

A classe R.java é gerada automaticamente pelo plugin da IDE de


desenvolvimento. Essa classe tem papel fundamental, pois ela é responsável
por fazer o relacionamento entre os arquivos .xml e os .java do
projeto. Essa classe não pode, de forma alguma, ser alterada, e a sua
alteração só será feita pela geração de uma nova compilação do projeto.
Não é preciso se preocupar com isso, mas é importante conhecer seus
métodos.Escolha a alternativa que está correta acerca da finalidade da
classe R.java:

Resposta incorreta.

A. 
A classe R.java tem o objetivo de manter os arquivos .xml e os .java do projeto intactos.
A classe R.java tem o objetivo de manter a sincronização entre o xml do
projeto e o java do desenvolvimento. Não se deve alterá-la, pois sua
alteração é consequência de uma nova compilação, mas é fundamental
conhecer seus métodos, pois é por meio deles que se pode sincronizar
o código com os recursos da estrutura.

Resposta incorreta.

B. 
A classe R.java é um recurso do Android e tem como finalidade apoiar a sincronização entre arquivos.
A classe R.java tem o objetivo de manter a sincronização entre o xml do
projeto e o java do desenvolvimento. Não se deve alterá-la, pois sua
alteração é consequência de uma nova compilação, mas é fundamental
conhecer seus métodos, pois é por meio deles que se pode sincronizar
o código com os recursos da estrutura.

Resposta incorreta.

C. 
A classe R.java tem métodos que facilitam gerar sincronismo na aplicação, sem necessidade de conhecer melhor
seus recursos.
A classe R.java tem o objetivo de manter a sincronização entre o xml do
projeto e o java do desenvolvimento. Não se deve alterá-la, pois sua
alteração é consequência de uma nova compilação, mas é fundamental
conhecer seus métodos, pois é por meio deles que se pode sincronizar
o código com os recursos da estrutura.

Você acertou!

D. 
A classe R.java é tem por finalidade manter a sincronia entre o arquivo .xml do projeto e o .java do
desenvolvimento.
A classe R.java tem o objetivo de manter a sincronização entre o xml do
projeto e o java do desenvolvimento. Não se deve alterá-la, pois sua
alteração é consequência de uma nova compilação, mas é fundamental
conhecer seus métodos, pois é por meio deles que se pode sincronizar
o código com os recursos da estrutura.

Resposta incorreta.

E. 
A classe R.java tem por objetivo manter objetos estáticos do projeto e por isso não pode ser alterada.
A classe R.java tem o objetivo de manter a sincronização entre o xml do
projeto e o java do desenvolvimento. Não se deve alterá-la, pois sua
alteração é consequência de uma nova compilação, mas é fundamental
conhecer seus métodos, pois é por meio deles que se pode sincronizar
o código com os recursos da estrutura.

_________________________________________________________
_________________

5. 

Os recursos de string fornecem strings de texto para o aplicativo com estilo


e formatação de texto opcional. Existem três tipos de recursos que podem
fornecer strings ao seu aplicativo. A utilização do recurso
de strings permite:

Resposta incorreta.

A. 
criar as varáveis utilizadas no aplicativo.
Criar recursos reutilizáveis de strings é o principal objetivo. Não se
utiliza o recurso string para padronizar variáveis, mensagens de texto
ou layout de tela.
Você acertou!

B. 
criar recursos de strings reutilizáveis para aplicação.
Criar recursos reutilizáveis de strings é o principal objetivo. Não se
utiliza o recurso string para padronizar variáveis, mensagens de texto
ou layout de tela.

Resposta incorreta.

C. 
criar mensagens de texto padronizadas.
Criar recursos reutilizáveis de strings é o principal objetivo. Não se
utiliza o recurso string para padronizar variáveis, mensagens de texto
ou layout de tela.

Resposta incorreta.

D. 
definir o layout de strings, por exempo, fonte.
Criar recursos reutilizáveis de strings é o principal objetivo. Não se
utiliza o recurso string para padronizar variáveis, mensagens de texto
ou layout de tela.

Resposta incorreta.

E. 
padronizar nomes de telas da aplicação.
Criar recursos reutilizáveis de strings é o principal objetivo. Não se
utiliza o recurso string para padronizar variáveis, mensagens de texto
ou layout de tela.

_________________________________________________________
_________________

JNI, framework e APIs


1. 

Em algumas aplicações, é necessária a utilização de alguns métodos nativos.


Em aplicações mobile Android, a forma de desenvolver métodos nativos é
usando JNI. Escolha a alternativa que indica os arquivos necessários para
utilizar métodos nativos escritos em linguagem C:
Você acertou!

A. 
Arquivo .h e arquivo .c.
Para a criação de métodos nativos, é necessário o desenvolvimento de
arquivo .c, que será compilado pelo gcc, e arquivo .h, que servirá de
cabeçalho para o arquivo .c. Tais arquivos serão unidos e compilados
em um arquivo .so. Arquivos .java contêm códigos Java.
Arquivos .css, .html e .js são utilizados para o desenvolvimento de
aplicações web.

Resposta incorreta.

B. 
Arquivo .so e arquivo .java.
Para a criação de métodos nativos, é necessário o desenvolvimento de
arquivo .c, que será compilado pelo gcc, e arquivo .h, que servirá de
cabeçalho para o arquivo .c. Tais arquivos serão unidos e compilados
em um arquivo .so. Arquivos .java contêm códigos Java.
Arquivos .css, .html e .js são utilizados para o desenvolvimento de
aplicações web.

Resposta incorreta.

C. 
Arquivo .java e arquivo .css.
Para a criação de métodos nativos, é necessário o desenvolvimento de
arquivo .c, que será compilado pelo gcc, e arquivo .h, que servirá de
cabeçalho para o arquivo .c. Tais arquivos serão unidos e compilados
em um arquivo .so. Arquivos .java contêm códigos Java.
Arquivos .css, .html e .js são utilizados para o desenvolvimento de
aplicações web.

Resposta incorreta.

D. 
Arquivo .html e arquivo .c.
Para a criação de métodos nativos, é necessário o desenvolvimento de
arquivo .c, que será compilado pelo gcc, e arquivo .h, que servirá de
cabeçalho para o arquivo .c. Tais arquivos serão unidos e compilados
em um arquivo .so. Arquivos .java contêm códigos Java.
Arquivos .css, .html e .js são utilizados para o desenvolvimento de
aplicações web.

Resposta incorreta.
E. 
Arquivo .js e arquivo .so.
Para a criação de métodos nativos, é necessário o desenvolvimento de
arquivo .c, que será compilado pelo gcc, e arquivo .h, que servirá de
cabeçalho para o arquivo .c. Tais arquivos serão unidos e compilados
em um arquivo .so. Arquivos .java contêm códigos Java.
Arquivos .css, .html e .js são utilizados para o desenvolvimento de
aplicações web.

_________________________________________________________
_________________

2. 

Em aplicações que envolvem exposição de rotas como, por exemplo, Uber e


Ifood, ao invés de implementar funções que já existem, como o mapa,
podem-se utilizar serviços já existentes. Tais serviços são denominados de:

Resposta incorreta.

A. 
Framework.
APIs fornecem serviços para que aplicações a consumam, não sendo
necessário que o desenvolvedor implemente de novo funcionalidades já
existentes. Frameworks ditam como fazer algo. JNI e JNA são utilizados
para desenvolver métodos internos. JNA é um tipo de API. EPIs são
equipamentos de proteção individual.

Você acertou!

B. 
API.
APIs fornecem serviços para que aplicações a consumam, não sendo
necessário que o desenvolvedor implemente de novo funcionalidades já
existentes. Frameworks ditam como fazer algo. JNI e JNA são utilizados
para desenvolver métodos internos. JNA é um tipo de API. EPIs são
equipamentos de proteção individual.

Resposta incorreta.

C. 
JNI.
APIs fornecem serviços para que aplicações a consumam, não sendo
necessário que o desenvolvedor implemente de novo funcionalidades já
existentes. Frameworks ditam como fazer algo. JNI e JNA são utilizados
para desenvolver métodos internos. JNA é um tipo de API. EPIs são
equipamentos de proteção individual.

Resposta incorreta.

D. 
JNA.
APIs fornecem serviços para que aplicações a consumam, não sendo
necessário que o desenvolvedor implemente de novo funcionalidades já
existentes. Frameworks ditam como fazer algo. JNI e JNA são utilizados
para desenvolver métodos internos. JNA é um tipo de API. EPIs são
equipamentos de proteção individual.

Resposta incorreta.

E. 
EPI.
APIs fornecem serviços para que aplicações a consumam, não sendo
necessário que o desenvolvedor implemente de novo funcionalidades já
existentes. Frameworks ditam como fazer algo. JNI e JNA são utilizados
para desenvolver métodos internos. JNA é um tipo de API. EPIs são
equipamentos de proteção individual.

_________________________________________________________
_________________

3. 

Entre desenvolvedores iniciantes, é comum a confusão entre os conceitos de


bibliotecas e APIs. Selecione a alternativa que contém o conceito de
bibliotecas :

Resposta incorreta.

A. 
São contratos entre sistemas que são acessados e reutilizados.
Bibliotecas são uma coleção de implementações que podem ser
importadas e reutilizadas por sistemas. APIs são conhecidas como
contratos entre sistemas para comunicar-se entre si, bem como são
abstrações que unem códigos em comum entre vários sistemas, não
sendo necessária a reimplementação de funcionalidades já existentes.
Facilitadores que têm autocomplete são Ambientes de Desenvolvimento
(IDEs). Regras para organização de código se têm quando se utiliza
o framework.
Resposta incorreta.

B. 
São facilitadores no desenvolvimento de aplicações, fornecendo funcionalidades como autocomplete.
Bibliotecas são uma coleção de implementações que podem ser
importadas e reutilizadas por sistemas. APIs são conhecidas como
contratos entre sistemas para comunicar-se entre si, bem como são
abstrações que unem códigos em comum entre vários sistemas, não
sendo necessária a reimplementação de funcionalidades já existentes.
Facilitadores que têm autocomplete são Ambientes de Desenvolvimento
(IDEs). Regras para organização de código se têm quando se utiliza
o framework.

Resposta incorreta.

C. 
São abstrações que unem códigos comuns entre vários sistemas.
Bibliotecas são uma coleção de implementações que podem ser
importadas e reutilizadas por sistemas. APIs são conhecidas como
contratos entre sistemas para comunicar-se entre si, bem como são
abstrações que unem códigos em comum entre vários sistemas, não
sendo necessária a reimplementação de funcionalidades já existentes.
Facilitadores que têm autocomplete são Ambientes de Desenvolvimento
(IDEs). Regras para organização de código se têm quando se utiliza
o framework.

Você acertou!

D. 
São coleções de implementações que podem ser importadas e reutilizadas.
Bibliotecas são uma coleção de implementações que podem ser
importadas e reutilizadas por sistemas. APIs são conhecidas como
contratos entre sistemas para comunicar-se entre si, bem como são
abstrações que unem códigos em comum entre vários sistemas, não
sendo necessária a reimplementação de funcionalidades já existentes.
Facilitadores que têm autocomplete são Ambientes de Desenvolvimento
(IDEs). Regras para organização de código se têm quando se utiliza
o framework.

Resposta incorreta.

E. 
São regras para organizar o código usado por vários arquivos de um único sistema.
Bibliotecas são uma coleção de implementações que podem ser
importadas e reutilizadas por sistemas. APIs são conhecidas como
contratos entre sistemas para comunicar-se entre si, bem como são
abstrações que unem códigos em comum entre vários sistemas, não
sendo necessária a reimplementação de funcionalidades já existentes.
Facilitadores que têm autocomplete são Ambientes de Desenvolvimento
(IDEs). Regras para organização de código se têm quando se utiliza
o framework.

_________________________________________________________
_________________

4. 

Todo projeto de aplicativo Android precisa ter um arquivo que descreve


informações essenciais sobre o aplicativo para as ferramentas de
compilação do Android, para o sistema operacional Android e para o
Google Play. Quando se utilizam APIs, muitas vezes, também é necessário
inserir códigos pertinentes a permissões para que a aplicação acesse a API.
Selecione a alternativa que indica o arquivo a que se refere essa descrição:

Resposta incorreta.

A. 
Activity_main.xml.
A permissão é atribuída por meio da tag uses-permission da classe
AndroidManifest.xml. Activity_main.xml é o arquivo em que estão as
configurações pertinentes aos componentes da tela. MainActivity.java é
a classe em que estão as ações da tela. Menu_main.xml é onde está
configurado o menu do modelo de projeto com menu. E string.xml é onde
estão descritas nomenclaturas, como nome do aplicativo ou token de
APIs.

Resposta incorreta.

B. 
MainActivity.java.
A permissão é atribuída por meio da tag uses-permission da classe
AndroidManifest.xml. Activity_main.xml é o arquivo em que estão as
configurações pertinentes aos componentes da tela. MainActivity.java é
a classe em que estão as ações da tela. Menu_main.xml é onde está
configurado o menu do modelo de projeto com menu. E string.xml é onde
estão descritas nomenclaturas, como nome do aplicativo ou token de
APIs.
Resposta incorreta.

C. 
Menu_main.xml.
A permissão é atribuída por meio da tag uses-permission da classe
AndroidManifest.xml. Activity_main.xml é o arquivo em que estão as
configurações pertinentes aos componentes da tela. MainActivity.java é
a classe em que estão as ações da tela. Menu_main.xml é onde está
configurado o menu do modelo de projeto com menu. E string.xml é onde
estão descritas nomenclaturas, como nome do aplicativo ou token de
APIs.

Resposta incorreta.

D. 
string.xml.
A permissão é atribuída por meio da tag uses-permission da classe
AndroidManifest.xml. Activity_main.xml é o arquivo em que estão as
configurações pertinentes aos componentes da tela. MainActivity.java é
a classe em que estão as ações da tela. Menu_main.xml é onde está
configurado o menu do modelo de projeto com menu. E string.xml é onde
estão descritas nomenclaturas, como nome do aplicativo ou token de
APIs.

Você acertou!

E. 
AndroidManifest.xml.
A permissão é atribuída por meio da tag uses-permission da classe
AndroidManifest.xml. Activity_main.xml é o arquivo em que estão as
configurações pertinentes aos componentes da tela. MainActivity.java é
a classe em que estão as ações da tela. Menu_main.xml é onde está
configurado o menu do modelo de projeto com menu. E string.xml é onde
estão descritas nomenclaturas, como nome do aplicativo ou token de
APIs.

_________________________________________________________
_________________

5. 

Às vezes, é necessário integrar Java com códigos nativos para obter


aplicativos mais robustos. Para integrar o Java com a linguagem C, existem
várias regras que devem ser seguidas por padrão para que a comunicação
funcione. Selecione a alternativa que indica uma dessas regras:
Resposta incorreta.

A. 
O método em Java deve ter modificador protected.
A assinatura dos métodos deve ser igual nos arquivos Java e C, porém
o modificador em Java deve ser native. Os nomes dos arquivos podem
ser diferentes. A implementação do método pode ser feita tanto em Java
quanto em C, sendo que um pode invocar o outro a qualquer momento.
O Java carrega a biblioteca com extensão .so.

Resposta incorreta.

B. 
O nome dos arquivos deve ser igual em Java e C.
A assinatura dos métodos deve ser igual nos arquivos Java e C, porém
o modificador em Java deve ser native. Os nomes dos arquivos podem
ser diferentes. A implementação do método pode ser feita tanto em Java
quanto em C, sendo que um pode invocar o outro a qualquer momento.
O Java carrega a biblioteca com extensão .so.

Resposta incorreta.

C. 
Os códigos são escritos apenas em C e, em Java, a interface.
A assinatura dos métodos deve ser igual nos arquivos Java e C, porém
o modificador em Java deve ser native. Os nomes dos arquivos podem
ser diferentes. A implementação do método pode ser feita tanto em Java
quanto em C, sendo que um pode invocar o outro a qualquer momento.
O Java carrega a biblioteca com extensão .so.

Você acertou!

D. 
A sssinatura do método deve ser igual nos arquivos Java e C.
A assinatura dos métodos deve ser igual nos arquivos Java e C, porém
o modificador em Java deve ser native. Os nomes dos arquivos podem
ser diferentes. A implementação do método pode ser feita tanto em Java
quanto em C, sendo que um pode invocar o outro a qualquer momento.
O Java carrega a biblioteca com extensão .so.

Resposta incorreta.

E. 
O Java carrega a biblioteca com extensão .h.
A assinatura dos métodos deve ser igual nos arquivos Java e C, porém
o modificador em Java deve ser native. Os nomes dos arquivos podem
ser diferentes. A implementação do método pode ser feita tanto em Java
quanto em C, sendo que um pode invocar o outro a qualquer momento.
O Java carrega a biblioteca com extensão .so.

_________________________________________________________
_________________

Classes abstratas e interfaces


1. 

Normalmente, em programação orientada a objetos, utiliza-se o conceito de


que uma classe pode receber atributos e métodos de uma classe
denominada superclasse.
Qual o nome dessa característica?

Resposta incorreta.

A. 
Característica polimórfica.
Sempre que uma classe B se relaciona com outra A, via extensão, a
classe B recebe por herança os atributos e os métodos da classe A, com
modificadores de acesso public ou protect. Somente os atributos de
métodos, denominado privado, não são diretamente herdados.

Resposta incorreta.

B. 
Característica de uma interface.
Sempre que uma classe B se relaciona com outra A, via extensão, a
classe B recebe por herança os atributos e os métodos da classe A, com
modificadores de acesso public ou protect. Somente os atributos de
métodos, denominado privado, não são diretamente herdados.

Você acertou!

C. 
Característica de herança.
Sempre que uma classe B se relaciona com outra A, via extensão, a
classe B recebe por herança os atributos e os métodos da classe A, com
modificadores de acesso public ou protect. Somente os atributos de
métodos, denominado privado, não são diretamente herdados.
Resposta incorreta.

D. 
Característica de uma implementação.
Sempre que uma classe B se relaciona com outra A, via extensão, a
classe B recebe por herança os atributos e os métodos da classe A, com
modificadores de acesso public ou protect. Somente os atributos de
métodos, denominado privado, não são diretamente herdados.

Resposta incorreta.

E. 
Característica de uma abstração.
Sempre que uma classe B se relaciona com outra A, via extensão, a
classe B recebe por herança os atributos e os métodos da classe A, com
modificadores de acesso public ou protect. Somente os atributos de
métodos, denominado privado, não são diretamente herdados.

_________________________________________________________
_________________

2. 

Normalmente, uma classe declarada como genérica, não tem um objeto


com sua instância e, por conta disso, algumas situações exigem que sua
declaração seja abstrata.
Avalie as seguintes sentenças e marque a alternativa correta.

Resposta incorreta.

A. 
Toda classe abstrata servirá apenas de modelo. Logo, seus métodos deverão ser sobrescritos, mesmo que tenham
sua implementação.
Pontualmente, uma classe abstrata poderá ter atributos com qualquer
tipo de modificador de acesso (public, abstract e private) e este não pode
ser instanciado.As classes abstratas podem estender outras, com no
máximo uma classe abstrata ou concreta, e implementar várias
interfaces, podendo conter ou não métodos abstratos.

Resposta incorreta.

B. 
Uma classe abstrata servirá de modelo para outras classes. Seus métodos devem ser concretos, exigindo sua
implementação, contendo, assim, as definições de sua assinatura.
Pontualmente, uma classe abstrata poderá ter atributos com qualquer
tipo de modificador de acesso (public, abstract e private) e este não pode
ser instanciado.As classes abstratas podem estender outras, com no
máximo uma classe abstrata ou concreta, e implementar várias
interfaces, podendo conter ou não métodos abstratos.

Resposta incorreta.

C. 
Uma classe abstrata servirá de modelo para outras classes. Seus métodos devem ser abstratos, ma são
implementados na classe abstrata e têm definições de sua assinatura.
Pontualmente, uma classe abstrata poderá ter atributos com qualquer
tipo de modificador de acesso (public, abstract e private) e este não pode
ser instanciado.As classes abstratas podem estender outras, com no
máximo uma classe abstrata ou concreta, e implementar várias
interfaces, podendo conter ou não métodos abstratos.

Você acertou!

D. 
Uma classe abstrata servirá de modelo para outras classes. Seus métodos podem ser abstratos e concretos, no
entanto, eles não são implementados na classe abstrata, mas têm definições de sua assinatura.
Pontualmente, uma classe abstrata poderá ter atributos com qualquer
tipo de modificador de acesso (public, abstract e private) e este não pode
ser instanciado.As classes abstratas podem estender outras, com no
máximo uma classe abstrata ou concreta, e implementar várias
interfaces, podendo conter ou não métodos abstratos.

Resposta incorreta.

E. 
Toda classe abstrata servirá apenas de modelo. Logo, seus métodos deverão ser sobrescritos quando declarados
como abstract, mesmo que tenham sua implementação.
Pontualmente, uma classe abstrata poderá ter atributos com qualquer
tipo de modificador de acesso (public, abstract e private) e este não pode
ser instanciado.As classes abstratas podem estender outras, com no
máximo uma classe abstrata ou concreta, e implementar várias
interfaces, podendo conter ou não métodos abstratos.

_________________________________________________________
_________________

3. 
Há situações em que não é desejável que certas classes tenham os mesmos
privilégios que outras, como em um sistema bancário. Embora o cliente e o
gerente herdem um método para login, os dois não estão no mesmo nível
hierárquico, mesmo que ambos herdem a mesma característica de uma
superclasse denominada pessoa.

Para contornar essa situação e fazer com que cada um tenha sua própria
tela de login, assinale a alternativa que mostra o melhor caminho.

Resposta incorreta.

A. 
Para que o usuário (cliente) faça login, de forma diferente do gerente e de outros tipos de usuários, é possível
estender uma interface chamada login e implementar sua própria função de acesso, sem sobrescrever qualquer
método.
As interfaces se encaixam bem neste cenário, pois definem apenas o
que deverá ser implementado pelas classes sem determinar como será
sua implementação, o que fica a cargo de cada classe que o
implemente.

Resposta incorreta.

B. 
Para que o usuário (cliente) faça login, de forma diferente do gerente e de outros tipos de usuários, ele deve
estender uma classe abstrata, herdando assim sua implementação de acesso.
As interfaces se encaixam bem neste cenário, pois definem apenas o
que deverá ser implementado pelas classes sem determinar como será
sua implementação, o que fica a cargo de cada classe que o
implemente.

Resposta incorreta.

C. 
Para que o usuário (cliente) faça login, de forma diferente do gerente e de outros tipos de usuários, é possível
implementar uma interface chamada login e programar sua própria função de acesso, sem sobrescrever qualquer
método.
As interfaces se encaixam bem neste cenário, pois definem apenas o
que deverá ser implementado pelas classes sem determinar como será
sua implementação, o que fica a cargo de cada classe que o
implemente.

Você não acertou!

D. 
Para que o usuário (cliente) faça login, de forma diferente do gerente e de outros tipos de usuários, é possível
implementar uma interface chamada login para incorporar a programação do método de acesso da interface,
tornando-a independente da forma de implementação de sua superclasse.
As interfaces se encaixam bem neste cenário, pois definem apenas o
que deverá ser implementado pelas classes sem determinar como será
sua implementação, o que fica a cargo de cada classe que o
implemente.

Resposta correta.

E. 
Para que o usuário (cliente) faça login, de forma diferente do gerente e de outros tipos de usuários, é possível
programar uma interface chamada login para implementar sua própria forma de acesso, tornando-a independente
da forma de implementação de sua superclasse.
As interfaces se encaixam bem neste cenário, pois definem apenas o
que deverá ser implementado pelas classes sem determinar como será
sua implementação, o que fica a cargo de cada classe que o
implemente.

_________________________________________________________
_________________

4. 

Um método abstrato tem apenas a assinatura e sua implementação e é


realizado apenas em classes que implementam a classe abstrata ou a
interface.
Considerando as propriedades das classes abstratas, qual a saída do
seguinte programa?

Código

Resposta correta.

A. 
Erro de compilação.
Um método final não pode ser sobrescrito. Assim, uma função abstrata
não pode ser final, pois viola as regras e causa um erro de compilação.
Caso a palavra reservada final seja removida, o programa irá compilar e
retornará o valor 4.

Você não acertou!

B. 
2.
Um método final não pode ser sobrescrito. Assim, uma função abstrata
não pode ser final, pois viola as regras e causa um erro de compilação.
Caso a palavra reservada final seja removida, o programa irá compilar e
retornará o valor 4.

Resposta incorreta.

C. 
4.
Um método final não pode ser sobrescrito. Assim, uma função abstrata
não pode ser final, pois viola as regras e causa um erro de compilação.
Caso a palavra reservada final seja removida, o programa irá compilar e
retornará o valor 4.

Resposta incorreta.

D. 
10.
Um método final não pode ser sobrescrito. Assim, uma função abstrata
não pode ser final, pois viola as regras e causa um erro de compilação.
Caso a palavra reservada final seja removida, o programa irá compilar e
retornará o valor 4.

Resposta incorreta.

E. 
20.
Um método final não pode ser sobrescrito. Assim, uma função abstrata
não pode ser final, pois viola as regras e causa um erro de compilação.
Caso a palavra reservada final seja removida, o programa irá compilar e
retornará o valor 4.

_________________________________________________________
_________________

5. 

Mesmo que as classes abstratas sejam parecidas com as interfaces, ambas


têm particularidades que as tornam únicas.
Logo, marque a resposta que melhor representa cada uma delas.

Resposta incorreta.

A. 
Interfaces podem ter apenas métodos abstratos públicos; as classes abstratas não podem conter campos de
dados.
A principal diferença entre elas é que os métodos de uma interface Java
são implicitamente abstratos e não podem ter implementações. Uma
classe abstrata Java pode ter métodos de instância que implementam
um comportamento padrão. Enquanto as interfaces têm métodos
públicos, as classes abstratas têm métodos abstratos e concretos. As
interfaces determinam contratos (também chamados de assinaturas),
enquanto as classes compartilham comportamentos.

Resposta incorreta.

B. 
Na classe abstrata, a palavra-chave abstract é opcional para declarar um método. Enquanto na interface, a
palavra-chave abstract é obrigatória para declarar um método como um resumo.
A principal diferença entre elas é que os métodos de uma interface Java
são implicitamente abstratos e não podem ter implementações. Uma
classe abstrata Java pode ter métodos de instância que implementam
um comportamento padrão. Enquanto as interfaces têm métodos
públicos, as classes abstratas têm métodos abstratos e concretos. As
interfaces determinam contratos (também chamados de assinaturas),
enquanto as classes compartilham comportamentos.

Resposta incorreta.

C. 
Tanto as interfaces como as classes abstratas podem conter métodos concretos.
A principal diferença entre elas é que os métodos de uma interface Java
são implicitamente abstratos e não podem ter implementações. Uma
classe abstrata Java pode ter métodos de instância que implementam
um comportamento padrão. Enquanto as interfaces têm métodos
públicos, as classes abstratas têm métodos abstratos e concretos. As
interfaces determinam contratos (também chamados de assinaturas),
enquanto as classes compartilham comportamentos.

Você acertou!

D. 
Interface é utilizada quando implementações compartilham apenas a assinatura do método; classe abstrata é
usada quando várias implementações do mesmo tipo compartilham um comportamento comum.
A principal diferença entre elas é que os métodos de uma interface Java
são implicitamente abstratos e não podem ter implementações. Uma
classe abstrata Java pode ter métodos de instância que implementam
um comportamento padrão. Enquanto as interfaces têm métodos
públicos, as classes abstratas têm métodos abstratos e concretos. As
interfaces determinam contratos (também chamados de assinaturas),
enquanto as classes compartilham comportamentos.

Resposta incorreta.

E. 
Interface é utilizada quando várias implementações do mesmo tipo compartilham um comportamento comum;
classe abstrata é usada quando implementações compartilham apenas a assinatura do método.
A principal diferença entre elas é que os métodos de uma interface Java
são implicitamente abstratos e não podem ter implementações. Uma
classe abstrata Java pode ter métodos de instância que implementam
um comportamento padrão. Enquanto as interfaces têm métodos
públicos, as classes abstratas têm métodos abstratos e concretos. As
interfaces determinam contratos (também chamados de assinaturas),
enquanto as classes compartilham comportamentos.

_________________________________________________________
_________________

Publicando aplicações para Android e iOS


1. 

Existem normas e regras que regulamentam a publicação de aplicativos na


Apple App Store e na Google Play Store. Sobre essas normas, é correto
afirmar que:

Resposta incorreta.

A. 
as normas são baseadas nas leis norte-americanas, mesmo que o aplicativo seja utilizado em outros países.
As normas são baseadas em princípios próprios de cada companhia
que administra as app stores. Contudo, também sofrem influência da
legislação local de cada país onde o aplicativo será distribuído. A
legislação dos Estados Unidos da América pode até servir de base para
a elaboração do documento em alguns aspectos, mas não é fator
definitivo; o mesmo acontece com os princípios de direitos humanos.

Resposta incorreta.

B. 
as normas aplicadas são as leis e regras dos países onde o aplicativo será disponibilizado e utilizado.
As normas são baseadas em princípios próprios de cada companhia
que administra as app stores. Contudo, também sofrem influência da
legislação local de cada país onde o aplicativo será distribuído. A
legislação dos Estados Unidos da América pode até servir de base para
a elaboração do documento em alguns aspectos, mas não é fator
definitivo; o mesmo acontece com os princípios de direitos humanos.

Você acertou!

C. 
as normas são baseadas em princípios próprios de cada companhia, além da legislação local de onde o aplicativo
será distribuído.
As normas são baseadas em princípios próprios de cada companhia
que administra as app stores. Contudo, também sofrem influência da
legislação local de cada país onde o aplicativo será distribuído. A
legislação dos Estados Unidos da América pode até servir de base para
a elaboração do documento em alguns aspectos, mas não é fator
definitivo; o mesmo acontece com os princípios de direitos humanos.

Resposta incorreta.

D. 
as normas não são influenciadas por leis locais ou de qualquer país, sendo determinadas pelas empresas.
As normas são baseadas em princípios próprios de cada companhia
que administra as app stores. Contudo, também sofrem influência da
legislação local de cada país onde o aplicativo será distribuído. A
legislação dos Estados Unidos da América pode até servir de base para
a elaboração do documento em alguns aspectos, mas não é fator
definitivo; o mesmo acontece com os princípios de direitos humanos.

Resposta incorreta.

E. 
as normas são determinadas por princípios de direitos humanos e são bastante semelhantes entre as app stores.
As normas são baseadas em princípios próprios de cada companhia
que administra as app stores. Contudo, também sofrem influência da
legislação local de cada país onde o aplicativo será distribuído. A
legislação dos Estados Unidos da América pode até servir de base para
a elaboração do documento em alguns aspectos, mas não é fator
definitivo; o mesmo acontece com os princípios de direitos humanos.

_________________________________________________________
_________________

2. 
A publicação de aplicativos na Google Play Store e Apple App Store é
regulada por diretrizes e normativas que visam tanto a questões de
segurança como de experiência do usuário. Considerando as normativas da
Google Play e da Apple App Store, é correto afirmar que:

Resposta incorreta.

A. 
a Google mantém uma política rígida de análise de desempenho de aplicações.
A Apple mantém uma política de controle rígida sobre desempenho e
estabilidade, realizando testes em cada aplicação submetida; a não
conformidade resulta em rejeição da publicação do app. Para a Google,
esse não é fator preponderante para a aceitação de aplicativos.

Resposta correta.

B. 
a Apple mantém uma política rígida de análise de desempenho de aplicações.
A Apple mantém uma política de controle rígida sobre desempenho e
estabilidade, realizando testes em cada aplicação submetida; a não
conformidade resulta em rejeição da publicação do app. Para a Google,
esse não é fator preponderante para a aceitação de aplicativos.

Resposta incorreta.

C. 
ambas as empresas possuem uma política rígida de desempenho de aplicações.
A Apple mantém uma política de controle rígida sobre desempenho e
estabilidade, realizando testes em cada aplicação submetida; a não
conformidade resulta em rejeição da publicação do app. Para a Google,
esse não é fator preponderante para a aceitação de aplicativos.

Você não acertou!

D. 
o desempenho da aplicação é considerado, mas não é fator determinante na aceitação.
A Apple mantém uma política de controle rígida sobre desempenho e
estabilidade, realizando testes em cada aplicação submetida; a não
conformidade resulta em rejeição da publicação do app. Para a Google,
esse não é fator preponderante para a aceitação de aplicativos.

Resposta incorreta.

E. 
o desempenho não é fator levado em consideração na aceitação por uma app store.
A Apple mantém uma política de controle rígida sobre desempenho e
estabilidade, realizando testes em cada aplicação submetida; a não
conformidade resulta em rejeição da publicação do app. Para a Google,
esse não é fator preponderante para a aceitação de aplicativos.

_________________________________________________________
_________________

3. 

Publicar uma aplicação nas lojas de aplicativos oficiais significa,


necessariamente, estar em conformidade com as diretrizes de cada
companhia. A esse respeito, é correto afirmar que:

Resposta incorreta.

A. 
os critérios de privacidade e transparência no uso de dados de usuários são objetivos na Apple, mas
subjetivos para a Google.
É explícito nas políticas de ambas as app stores oficiais que os recursos
devem ser solicitados dentro dos critérios da razoabilidade; ou seja, que
sejam necessários para o bom funcionamento da aplicação. Os dados
coletados e a destinação deles devem ser deixados claros ao usuário na
política de privacidade do aplicativo. Nos casos de jurisdições que
apresentem leis específicas sobre o assunto, como o caso da União
Europeia, tais leis são consideradas e devem ser seguidas caso o
aplicativo seja disponibilizado nesses locais.

Resposta incorreta.

B. 
os critérios de privacidade e transparência no uso de dados de usuários são objetivos na Google, mas
subjetivos para a Apple.
É explícito nas políticas de ambas as app stores oficiais que os recursos
devem ser solicitados dentro dos critérios da razoabilidade; ou seja, que
sejam necessários para o bom funcionamento da aplicação. Os dados
coletados e a destinação deles devem ser deixados claros ao usuário na
política de privacidade do aplicativo. Nos casos de jurisdições que
apresentem leis específicas sobre o assunto, como o caso da União
Europeia, tais leis são consideradas e devem ser seguidas caso o
aplicativo seja disponibilizado nesses locais.

Resposta incorreta.

C. 
a privacidade e transparência no uso de dados de usuários são regidas por leis internacionais e não dependem da
política das app stores.
É explícito nas políticas de ambas as app stores oficiais que os recursos
devem ser solicitados dentro dos critérios da razoabilidade; ou seja, que
sejam necessários para o bom funcionamento da aplicação. Os dados
coletados e a destinação deles devem ser deixados claros ao usuário na
política de privacidade do aplicativo. Nos casos de jurisdições que
apresentem leis específicas sobre o assunto, como o caso da União
Europeia, tais leis são consideradas e devem ser seguidas caso o
aplicativo seja disponibilizado nesses locais.

Você acertou!

D. 
ambas as app stores apresentam normas explícitas que regulamentam o acesso a dados e o uso que se dará aos
dados coletados.
É explícito nas políticas de ambas as app stores oficiais que os recursos
devem ser solicitados dentro dos critérios da razoabilidade; ou seja, que
sejam necessários para o bom funcionamento da aplicação. Os dados
coletados e a destinação deles devem ser deixados claros ao usuário na
política de privacidade do aplicativo. Nos casos de jurisdições que
apresentem leis específicas sobre o assunto, como o caso da União
Europeia, tais leis são consideradas e devem ser seguidas caso o
aplicativo seja disponibilizado nesses locais.

Resposta incorreta.

E. 
é livre ao desenvolvedor solicitar quaisquer dados ao usuário, independentemente de fazerem sentido com a
aplicação - desde que o usuário aceite os termos de uso.
É explícito nas políticas de ambas as app stores oficiais que os recursos
devem ser solicitados dentro dos critérios da razoabilidade; ou seja, que
sejam necessários para o bom funcionamento da aplicação. Os dados
coletados e a destinação deles devem ser deixados claros ao usuário na
política de privacidade do aplicativo. Nos casos de jurisdições que
apresentem leis específicas sobre o assunto, como o caso da União
Europeia, tais leis são consideradas e devem ser seguidas caso o
aplicativo seja disponibilizado nesses locais.

_________________________________________________________
_________________

4. 

Existem alguns requisitos que os desenvolvedores devem cumprir antes da


publicação nas lojas de aplicativos. Sobre esses requisitos, é correto afirmar
que:

Resposta correta.

A. 
ambas as plataformas exigem conta de desenvolvedor paga e assinatura de contrato digital.
Google e Apple exigem criação de conta de desenvolvedor paga e
concordância com um contrato digital. Contudo, a assinatura da Google
é paga apenas uma vez no momento da realização do cadastro;
enquanto na Apple o valor é cobrado anualmente. Além disso, não há
cobrança por publicação de aplicativos.

Resposta incorreta.

B. 
a Google Play exige a criação de uma conta de desenvolvedor gratuita e a aceitação do contrato.
Google e Apple exigem criação de conta de desenvolvedor paga e
concordância com um contrato digital. Contudo, a assinatura da Google
é paga apenas uma vez no momento da realização do cadastro;
enquanto na Apple o valor é cobrado anualmente. Além disso, não há
cobrança por publicação de aplicativos.

Resposta incorreta.

C. 
a publicação na Apple App Store realiza a cobrança por aplicativo publicado e não pela conta de desenvolvedor.
Google e Apple exigem criação de conta de desenvolvedor paga e
concordância com um contrato digital. Contudo, a assinatura da Google
é paga apenas uma vez no momento da realização do cadastro;
enquanto na Apple o valor é cobrado anualmente. Além disso, não há
cobrança por publicação de aplicativos.

Resposta incorreta.

D. 
a publicação na Google Play Store realiza a cobrança por aplicativo publicado, e não pela conta de
desenvolvedor.
Google e Apple exigem criação de conta de desenvolvedor paga e
concordância com um contrato digital. Contudo, a assinatura da Google
é paga apenas uma vez no momento da realização do cadastro;
enquanto na Apple o valor é cobrado anualmente. Além disso, não há
cobrança por publicação de aplicativos.

Você não acertou!


E. 
ambas as plataformas exigem o pagamento de taxa anual para publicação de apps nas lojas.
Google e Apple exigem criação de conta de desenvolvedor paga e
concordância com um contrato digital. Contudo, a assinatura da Google
é paga apenas uma vez no momento da realização do cadastro;
enquanto na Apple o valor é cobrado anualmente. Além disso, não há
cobrança por publicação de aplicativos.

_________________________________________________________
_________________

5. 

O Ionic é um framework de desenvolvimento multiplataforma. Em resumo,


a aplicação desenvolvida com o Ionic pode ser executada em Android e
em iOS. Sobre a geração do arquivo para publicação, é correto afirmar
que:

Resposta incorreta.

A. 
o Ionic produz o executável de ambas as plataformas, ou seja, produz o entregável para Android e iOS via linha
de comando.
Apesar do desenvolvimento via Ionic ser realizado por ferramentas de
desenvolvimento web, é necessário compilar os aplicativos para os
formatos originais de cada plataforma: iOS e Android. No caso do
Android, tendo o SDK instalado na máquina, o próprio Ionic realiza a
compilação e gera o arquivo publicável, não sendo necessária a
utilização do Android Studio. Já no caso do iOS, o produto gerado pelo
Ionic é um projeto Xcode; e a compilação para a plataforma da Apple é
realizada pelo Xcode e não pelo Ionic.

Você não acertou!

B. 
o Ionic prepara o projeto, mas a compilação é executada por cada plataforma: Android Studio para Android e
Xcode para iOS.
Apesar do desenvolvimento via Ionic ser realizado por ferramentas de
desenvolvimento web, é necessário compilar os aplicativos para os
formatos originais de cada plataforma: iOS e Android. No caso do
Android, tendo o SDK instalado na máquina, o próprio Ionic realiza a
compilação e gera o arquivo publicável, não sendo necessária a
utilização do Android Studio. Já no caso do iOS, o produto gerado pelo
Ionic é um projeto Xcode; e a compilação para a plataforma da Apple é
realizada pelo Xcode e não pelo Ionic.

Resposta correta.

C. 
o Ionic gera o executável do Android via linha de comando e prepara o projeto do iOS que deve ser compilado
via Xcode.
Apesar do desenvolvimento via Ionic ser realizado por ferramentas de
desenvolvimento web, é necessário compilar os aplicativos para os
formatos originais de cada plataforma: iOS e Android. No caso do
Android, tendo o SDK instalado na máquina, o próprio Ionic realiza a
compilação e gera o arquivo publicável, não sendo necessária a
utilização do Android Studio. Já no caso do iOS, o produto gerado pelo
Ionic é um projeto Xcode; e a compilação para a plataforma da Apple é
realizada pelo Xcode e não pelo Ionic.

Resposta incorreta.

D. 
a compilação via Ionic para ambas as plataformas pode ser realizada utilizando qualquer sistema operacional:
Windows, Linux ou MacOS.
Apesar do desenvolvimento via Ionic ser realizado por ferramentas de
desenvolvimento web, é necessário compilar os aplicativos para os
formatos originais de cada plataforma: iOS e Android. No caso do
Android, tendo o SDK instalado na máquina, o próprio Ionic realiza a
compilação e gera o arquivo publicável, não sendo necessária a
utilização do Android Studio. Já no caso do iOS, o produto gerado pelo
Ionic é um projeto Xcode; e a compilação para a plataforma da Apple é
realizada pelo Xcode e não pelo Ionic.

Resposta incorreta.

E. 
como o Ionic é um framework baseado em linguagens web, a aplicação não necessita de compilação para ser
publicada e executada em Android e iOS.
Apesar do desenvolvimento via Ionic ser realizado por ferramentas de
desenvolvimento web, é necessário compilar os aplicativos para os
formatos originais de cada plataforma: iOS e Android. No caso do
Android, tendo o SDK instalado na máquina, o próprio Ionic realiza a
compilação e gera o arquivo publicável, não sendo necessária a
utilização do Android Studio. Já no caso do iOS, o produto gerado pelo
Ionic é um projeto Xcode; e a compilação para a plataforma da Apple é
realizada pelo Xcode e não pelo Ionic.

_________________________________________________________
_________________

Você também pode gostar