Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Aula 07
Desenvolvimento de Sistemas p/ Polícia
Federal (Perito - Área 3 - Tecnologia da
Informação) - 2020
Autores:
Diego Carvalho, Pedro Henrique
Chagas Freitas
Aula 07
22 de Abril de 2020
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 1 
59 
Sumário 
Desenvolvimento Mobile ............................................................................................................. 2 
Desenvolvimento Nativo .............................................................................................................. 6 
Desenvolvimento Cross-Plataform ............................................................................................ 10 
Exercícios ................................................................................................................................... 16 
Android ...................................................................................................................................... 20 
Questões Android ...................................................................................................................... 32 
IOS ............................................................................................................................................. 42 
Questões IOS ............................................................................................................................. 45 
Lista de Exercícios ...................................................................................................................... 51 
Gabarito ..................................................................................................................................... 59 
 
 
 
 
 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 2 
59 
DESENVOLVIMENTO MOBILE 
 
 
Pessoal, vamos falar sobre sistemas, arquitetura e aplicações de dispositivos móveis. A 
popularização dos smartphones desencadeou uma revolução no mercado de telefonia móvel. A 
evolução da tecnologia dos aparelhos celulares permitiu oferecer ao usuário recursos que vão 
muito além da realização de uma chamada ou do envio de uma mensagem. 
 
As melhorias de hardware permitiram o desenvolvimento de sistemas operacionais mais 
avançados. A partir disso, foi possível desenvolver aplicativos melhores com cada vez mais 
recursos e serviços para os usuários. Os acessos, por exemplo, a serviços de instituições 
financeiras e redes sociais podem ser facilitados pelo uso de aplicativos que são executados em 
um aparelho celular. 
 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 3 
59 
Devido a esta evolução, os smartphones se transformaram em uma oportunidade de 
entretenimento, de acesso à informação e de solução de problemas, integrando-se assim ao 
cotidiano das pessoas e facilitando diversas tarefas do dia a dia. Motivado por estes resultados, 
o mercado de aplicativos para aparelhos celulares apresenta anualmente uma absurda taxa 
de crescimento. 
 
Este mercado é disputado por diferentes plataformas tecnológicas, incluindo sistemas 
operacionais e plataformas de desenvolvimento, gerando uma variedade enorme de soluções 
no mercado. Frente a este fato, um dos principais desafios deste mercado é desenvolver 
aplicativos em um ambiente de tecnologia altamente fragmentado e em rápida evolução. 
 
As limitações de plataforma para distribuição do aplicativo, tempo e custo para o 
desenvolvimento, complexidade das tecnologias necessárias para a sua criação e manutenção 
são pontos problemáticos em um projeto voltado ao desenvolvimento deste tipo de aplicativo. 
Por que? De novo, lembrem-se da variedade colossal de dispositivos que existem atualmente. 
 
Essas plataformas são compostas de diversas tecnologias, tais como: sistema operacional, 
linguagens de programação e IDEs. O Sistema Operacional é responsável por gerenciar diversos 
recursos do aparelho; as linguagens de programação são utilizadas na programação do aplicativo; 
e a IDE fornece ferramentas que auxiliam na criação do aplicativo. 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 4 
59 
 
 
Além disso, no desenvolvimento de um aplicativo móvel, deve-se considerar, por exemplo: 
resoluções dos dispositivos; as limitações de bateria, processamento, memória e 
armazenamento; versão do sistema operacional utilizado; os diversos tamanhos de tela; as 
possíveis questões de segurança de dados; acessibilidade; entre outros. Vocês percebem agora 
como tudo isso pode ser complexo? 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 5 
59 
 
 
Galera, eu tenho alguns amigos de faculdade que enveredaram para a área de jogos para 
dispositivos móveis. Pensem em termos de marketing e dinheiro! É bom comercialmente que um 
jogo funcione apenas no Galaxy S5, mas não no Galaxy S5 Mini? É bom comercialmente que um jogo 
não torre a bateria no iPhone X, mas torre no iPhone XR? Evidente que não! 
 
Dito isso, vamos falar agora sobre as principais abordagens de desenvolvimento para sistemas 
móveis. Peço a atenção de vocês, porque esse assunto é o que mais cai em prova! Conforme a 
imagem acima, existem duas abordagens principais: Desenvolvimento Nativo e 
Desenvolvimento Cross-Platform (sendo que esse último se divide em Desenvolvimento Web 
e Desenvolvimento Híbrido). 
 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 6 
59 
DESENVOLVIMENTO NATIVO 
 
O Desenvolvimento Nativo é quando o aplicativo é desenvolvido usando os recursos da 
plataforma. No caso do iOS, utiliza-se a linguagem de programação Objective-C, o framework 
de desenvolvimento CocoaTouch e a ferramenta Xcode. Para Android, utiliza-se a linguagem Java 
com o Android Studio na ferramenta Eclipse. E, no Windows Phone, a linguagem C#, Windows 
Phone SDK e Visual Studio. 
 
 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 7 
59 
Trata-se, portanto, da abordagem mais simples e direta: para cada plataforma, é desenvolvida 
uma versão do aplicativo. Optar por desenvolvimento nativo é mais caro, pois é necessário 
desenvolver um novo código para cada plataforma. No entanto, o resultado final geralmente é 
melhor, pois o aplicativo funcionará mais fluído e melhor integrado com os recursos de cada 
plataforma. Exemplo acima! 
 
Por falar nisso, através das APIs disponíveis das linguagens utilizadas em cada plataforma, um 
aplicativo nativo pode acessar funcionalidades oferecidas por recursos nativos do sistema 
operacional, tais como: GPS, SMS, E-Mail, Acelerômetro, Bússola, Câmera Fotográfica, etc. 
Esses aplicativos nativosevidentemente podem ser baixados, instalados e vendidos em lojas de 
aplicativos. 
 
O desenvolvimento de um aplicativo nativo exige conhecimentos específicos a respeito das 
tecnologias utilizadas pela plataforma na qual se deseja executá-lo. A principal desvantagem 
está justamente no fato de ser executado apenas na plataforma para a qual foi desenvolvido, 
aumentando o tempo, custo e o esforço para disponibilizar um mesmo aplicativo para mais 
de uma plataforma. 
As diferenças entre as plataformas também são importantes, pois para cada uma há diferentes 
ferramentas de desenvolvimento, bibliotecas e equipamentos com diferentes capacidades. 
Desenvolver aplicativos nativos para diversos sistemas operacionais requer uma equipe de 
trabalho com conhecimento em várias tecnologias, visto que não há reaproveitamento de 
código. Vejam alguns exemplos: 
 
 
PLATAFORMA 
 
 
CONHECIMENTOS NECESSÁRIOS 
Apple IOS C, Object C 
Google Android Java 
RIM Blackberry Java (J2ME Flavored) 
Symbian C, C++, Python, HTML, CSS, JS 
Windows Mobile .Net 
Windows 7 Phone .Net 
HP Palm webOS HTML, CSS, JS 
MeeGo C, C++, HTML, CSS, JS 
Samsung bada C++ 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 8 
59 
Para você entender um pouco melhor sobre as diferenças, preparamos um quadro comparativo 
com as vantagens e desvantagens de cada um dos modelos de aplicação para 
mobile. Atenção: as comparações trazem uma visão geral do assunto, mas tudo depende da 
forma como o profissional desenvolverá o app e de qual o objetivo dele. 
 
 
Aplicativos nativos são desenvolvidos de acordo com as especificações fornecidas pelo 
fabricante do sistema operacional. Esses fabricantes fornecem APIs que podem ser utilizadas 
pelos desenvolvedores, garantindo certo nível de consistência entre todos os aplicativos nativos. 
Em geral, oferecem ótima experiência de uso, permitindo ao usuário uma navegação mais 
imersiva. 
 
Com relação a sua interface, os componentes de um aplicativo nativo são iguais aos do sistema 
operacional utilizado pelo sistema operacional do dispositivo, portanto é mais intuitivo ao 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 9 
59 
usuário. Aplicativos desenvolvidos através do paradigma nativo possuem ótimo 
desempenho. Por que, professor? Porque não é necessária qualquer interpretação de código 
durante a execução. 
 
Outro aspecto importante é a independência de comunidades responsáveis por versões de 
frameworks de desenvolvimento de aplicativos, pois – em um aplicativo nativo – as atualizações 
de API do próprio sistema operacional serão utilizadas no desenvolvimento de novas 
funcionalidades do aplicativo nativo. O que você quer dizer com isso, professor? 
 
Eu quero dizer que, uma vez atualizada a plataforma, já é possível incorporar as novidades 
existentes da plataforma para desenvolver para o aplicativo nativo, sem a dependência da 
atualização de tecnologias adjacentes, como por exemplo, algum framework particular. Bacana! 
Agora vamos falar um pouquinho sobre o Desenvolvimento Cross-Platform. 
 
Vamos resumir nosso papo! Se você for criar uma aplicação nativa para Android, você poderá 
executá-lo no iOs? Não, e vice-versa! Você terá que criar uma aplicação para cada plataforma e 
provavelmente necessitará de duas equipes (cada uma especializada em uma linguagem). Você 
terá acesso aos recursos do dispositivo e poderá instalar em uma loja de aplicativos – 
obviamente, com mais segurança. 
 
 
 
 
 
 
 
 
 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 10 
59 
DESENVOLVIMENTO CROSS-PLATAFORM 
Considerando um cenário com notável diferença entre sistemas operacionais e plataformas de 
programação existentes, desenvolver um aplicativo uma vez e poder utilizá-lo em várias 
plataformas é um dos maiores desafios da computação móvel. Dito isso, temos o 
Desenvolvimento Cross-Platform, que é uma forma de desenvolver aplicativos que poderão ser 
utilizados em diferentes plataformas. 
 
Com o crescimento dos aplicativos cross-plataform, o mercado de aplicativos para aparelhos 
celulares sofreu alterações importantes em seu modelo de negócio. Entre as vantagens, 
destaca-se um maior Retorno sobre Investimento (ROI), pois uma vez que o aplicativo é 
multiplataforma e pode ser empacotado como um aplicativo nativo, é desenvolvido uma vez e 
comercializado em várias lojas de aplicativos. 
 
Infelizmente, a experiência de usuário do aplicativo não terá a mesma fluidez; realizar testes em 
aplicativos cross-platform é bem mais complexo; não há garantia de poder aproveitar os 
recursos do dispositivo tão eficientemente como no desenvolvimento nativo; pode haver 
dificuldades, na medida em que plataformas possuem diferentes comportamentos e defeitos – 
dificultando a depuração. Enfim... 
 
Como vimos anteriormente, ele se divide em Desenvolvimento Web (também conhecido 
como Desenvolvimento Responsivo) e Desenvolvimento Híbrido. Professor, qual a diferença 
entre essas abordagens? Bem, as aplicações web são acessadas diretamente do navegador e são 
geralmente desenvolvidas em HTML5, CSS3 e JavaScript. 
 
O HTML5 incorporou uma série de elementos multimídia ao HTML comum, o que fez com que 
ele rapidamente se tornasse uma excelente opção de desenvolvimento. A grande vantagem é que 
ele pode ser lido em qualquer navegador (móvel ou não). No entanto, ele tem alguns problemas 
de performance – ademais, faltam à linguagem alguns recursos mais avançados. 
 
Além disso, essas aplicações precisam estar conectadas à internet para funcionar. Como nem 
todos os usuários de smartphone possuem conexão à internet, e algumas vezes essas conexões 
não são de boa qualidade, pode não ser uma boa ideia confiar apenas nessas tecnologias. Deve-
se avaliar o contexto de utilização e nos objetivos do aplicativo. 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 11 
59 
 
Em suma, Desenvolvimento Web trata de aplicativos que rodam diretamente no navegador 
do dispositivo. A Interface Gráfica é adaptada para dispositivos com telas menores, utilizando 
conceitos de responsividade. Estas aplicações são hospedadas em servidores web, utilizando 
tecnologias específicas para serem carregadas, em geral, em máquinas de “baixo” processamento 
e velocidade de banda da rede. 
 
A atualização/manutenção da aplicação é feita no servidor! Logo, todos os dispositivos recebem 
a nova versão automaticamente, bastando atualizar a página no browser – tudo independente de 
plataforma. Há alguns problemas com a persistência de dados no dispositivo (Local Store). No 
entanto, há mecanismos para manter informações em cache, simulando o armazenamento de 
dados. 
 
E o Desenvolvimento Híbrido? Aplicações híbridas trazem a resposta para os programadores que 
desejam desenvolver para muitas plataformas, sem grande perda de desempenho. Essa 
abordagem permite ao desenvolvedor criar um núcleo do programa de forma nativa, o que 
permite que haja um controle sobre as funcionalidades e recursos do dispositivo. 
 
Isso faz com que, em suma, a experiência dousuário que está utilizando a aplicação em um iOS 
seja a mesma que um em um Windows Phone, por exemplo, o que é muito importante em grande 
parte das aplicações. O aplicativo híbrido funciona dentro do browser do sistema operacional. O 
browser implementa uma classe que é capaz de exibir conteúdo web. 
 
Diferente do aplicativo nativo, o híbrido não possui acesso direto às funcionalidades do 
dispositivo, sendo necessário um framework que faça a comunicação entre o aplicativo e o 
dispositivo. Em geral, o desenvolvimento híbrido é utilizado para aplicativos menos robustos e 
mais simples. Nesse contexto, o desenvolvedor consegue reaproveitar boa parte do seu 
código. 
 
A aplicação híbrida nada mais é que uma aplicação web (HTML5, CSS3, etc) envelopada em um 
contêiner nativo. Existem dezenas de ferramentas para gerar esse contêiner nativo para cada 
plataforma, tais como Cordova, Sencha Touch, etc. Para diferenciar todas essas abordagens, 
eu recomendo que façamos uma comparação geral. Atenção no quadro abaixo: 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 12 
59 
 
 
Nativo 
 
Web 
 
Híbrido 
 
Distribuição 
Baixado a partir da 
Loja de Aplicativos. 
Hospedado em um 
Servidor Web na 
internet e acessado 
por meio de um 
navegador. 
Baixado a partir da 
Loja de Aplicativos. 
 
Acesso 
Offline 
Pode acessar telas 
sem conexão com a 
internet. 
Pode acessar algumas 
telas sem conexão 
com a internet (via 
cache). 
Pode acessar telas 
sem conexão com a 
internet. 
 
Desenvolvimento 
Cada aplicativo para 
uma plataforma 
específica. A lógica 
da aplicação é 
reconstruída para 
cada aplicação em 
cada plataforma. É 
difícil replicar 
aplicativos 
precisamente em 
todas as 
plataformas. 
Um aplicativo é 
desenvolvido para 
funcionar em todas as 
plataformas, porque a 
lógica pode ser 
reutilizada. 
Aplicativos parecem 
idênticos em todos os 
dispositivos e 
browsers, mas requer 
muitos testes. 
Um aplicativo é 
construído e depois 
envolvido em um 
contêiner para servir 
a uma plataforma 
nativa específica. 
Releases 
Atualizações devem 
ser baixadas e 
instaladas todas as 
vezes. 
Desenvolvimento e 
ciclos de release são 
maiores. 
Atualizações podem 
ser manipuladas 
remotamente e são 
instantâneas. 
Atualizações podem 
ser baixadas e 
instaladas todas as 
vezes. 
Desempenho 
Resposta rápida. Um pouco de atraso, 
especialmente com 
conectividade pobre. 
Mais rápido que o 
Web e mais lenta que 
o Nativo. 
 
Design 
Interface de usuário 
bastante rica. 
Interface de usuário 
com foco maior 
ênfase na 
funcionalidade. 
Apelo visual maior 
que o 
Desenvolvimento 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 13 
59 
Web, mas não tão 
rico como o Nativo. 
Integração 
Suporta integração 
com recursos do 
dispositivo. 
Suporta parcialmente 
a integração com 
recursos do 
dispositivo. 
Suporta integração 
com recursos do 
dispositivo, mas com 
desempenho 
limitado. 
Armazenamento 
de Dados 
SQLite. SQLite. SQLite. 
 
 
Touch 
Swipe, Pinch e 
Spread. 
Swipe Swipe, Pinch e 
Spread. 
 
 
Custo 
Mais caro de todos. Mais barato de todos. Barato, mas não 
tanto quanto o 
Desenvolvimento 
Web. 
Ênfase 
Ênfase na 
interatividade e nos 
recursos. 
Ênfase na usabilidade. Ênfase na 
usabilidade. 
 
 
Tempo de 
Desenvolvimento 
Lento. Rápido. Médio. 
 
 
Manutenção 
Complexa. Fácil. Moderada. 
 
 
 
A imagem abaixo também auxilia a entender cada abordagem! Percebam que se você deseja 
capacidade máxima em uma plataforma única com interações avançadas, alta performance e 
distribuição segura em uma loja de aplicativos, vá de Desenvolvimento Nativo! Se você deseja 
capacidade máxima, mas para múltiplas plataformas e exigindo habilidades do desenvolvedor. 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 14 
59 
 
Além disso, se você quiser também acesso a plataforma nativa e distribuição segura em uma 
loja de aplicativos, vá de Desenvolvimento Híbrido. Por fim, se a alta capacidade não é seu foco, 
mas a capacidade de rodar em diversas plataformas, também exigindo habilidades do 
desenvolver, atualizações instantâneas e automáticas e distribuição irrestrita, seu negócio é 
Desenvolvimento Web (HTML5). 
 
 
 
 
Por fim, vamos falar rapidamente sobre Mobile Device Management (MDM). O que é isso, 
professor? Galera, com a proliferação de dispositivos móveis no local de trabalho, os 
funcionários podem e devem trabalhar de qualquer lugar. Para ser produtiva, essa força de 
trabalho móvel exige acesso consistente a recursos e dados da empresa de qualquer lugar em 
qualquer dispositivo. 
 
Essa tendência trouxe diversos desafios significativos de segurança para administradores de TI 
que desejam habilitar a mobilidade empresarial e garantir que os recursos da empresa estejam 
protegidos de acesso não autorizado. O Gerenciamento de Dispositivos Móveis é um termo 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 15 
59 
utilizado para abranger a administração de dispositivos como smartphones, tablets, laptops, 
etc. 
 
Entre as vantagens da implantação do gerenciamento de dispositivos móveis, podemos citar 
o aumento da segurança e conformidade; redução dos custos de suporte de ativos móveis; 
aprimoramento do gerenciamento de aplicativos e de desempenho; a garantia de continuidade 
melhor dos negócios; aumento da produtividade e satisfação do usuário; entre outros. 
 
O uso de ferramentas de gestão é fundamental para garantir segurança e eficiência da gestão 
dos dispositivos. Atualmente existem muitas ferramentas de MDM no mercado como Airwatch, 
Mobile Iron, BlackBerry, Afaria, Knox e Good Technology, entre outras. Essas ferramentas 
conseguem realizar, de forma remota, diversos comandos. Quais, professor? 
 
Aplicar restrições, realizar a limpeza remota seletiva do conteúdo corporativo ou também do 
pessoal (no caso de BYOD1), bloqueio do dispositivo, controle de funcionalidades e acessos 
baseados em perfil de usuário, horário e até mesmo geo-localização. Algumas atendem 
necessidades específicas: como antivírus, segurança, virtualização, entre outras. 
 
 
 
 
 
 
 
 
 
1 Bring Your Own Device (Traga seu próprio dispositivo). 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 16 
59 
EXERCÍCIOS 
1. (CESPE – 2014 – ANATEL – Analista de Sistemas) O desenvolvimento de aplicações web e o 
de aplicações nativas são as principais formas de desenvolvimento móvel. 
 
Comentários: 
 
Vamos falar agora sobre as principais abordagens de desenvolvimento para sistemas móveis. Peço a 
atenção de vocês, porque esse assunto é o que mais cai em prova! Conforme a imagem acima, 
existem duas abordagens principais: Desenvolvimento Nativo e Desenvolvimento Cross-Platform 
(sendo que esse último se divide em Desenvolvimento Web e DesenvolvimentoHíbrido). 
 
Conforme vimos em aula, a questão está perfeita! De modo geral, são essas duas formas 
principais – o tipo híbrido é uma combinação dos anteriores. 
 
Gabarito: C 
 
2. (CESPE – 2013 – BACEN – Analista de Sistemas) No projeto de aplicações para dispositivos 
móveis, devem ser considerados, entre outros aspectos, as características dos dispositivos de 
hardware para os quais a aplicação está sendo desenvolvida e o consumo de energia gerado 
por cada recurso do sistema, visando-se a economia de bateria. 
 
Comentários: 
 
Além disso, no desenvolvimento de um aplicativo móvel, deve-se considerar, por exemplo: 
resoluções dos dispositivos; as limitações de bateria, processamento, memória e armazenamento; 
versão do sistema operacional utilizado; os diversos tamanhos de tela; as possíveis questões de 
segurança de dados; acessibilidade; entre outros. Vocês percebem agora como tudo isso pode ser 
complexo? 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 17 
59 
Conforme vimos em aula, a questão está perfeita! Deve haver uma preocupação com as 
características de hardware do dispositivo. 
 
Gabarito: C 
 
3. (CESPE – 2017 – TRE/BA - Analista de Sistemas) Um APP que for desenvolvido de forma 
híbrida, para funcionar no IOS e Android, além de agilizar e baratear o processo de 
desenvolvimento, também: 
 
a) será mais leve que o normal, pois possuirá menos código trafegando pela web. 
b) será uma aplicação web convertida para rodar nas referidas plataformas. 
c) será compilado de forma nativa no IOS e depois no Android. 
d) acessará todas as bibliotecas nativas dos dispositivos. 
e) será dependente das atualizações do sistema operacional. 
 
Comentários: 
 
Aplicações web híbridas, de fato, agilizam e barateiam o processo de desenvolvimento. Ademais, 
uma aplicação híbrida nada mais é que uma aplicação web (HTML5, CSS3, etc) envelopada em 
um contêiner nativo! Dito isso, vamos aos comentários: (a) Errado, possuem mais código 
trafegando pela web, devido às camadas de encapsulamento que geram overhead; (b) Correto, 
será uma aplicação web envelopada/encapsulada para rodar nas referidas plataformas; (c) 
Errado, isso é desenvolvimento nativo; (d) Errado, ele não acessará bibliotecas nativas 
diretamente, quem o fará será o container; (e) Errado, esse seria o caso de aplicações nativas. 
 
Gabarito: B 
 
4. (CESPE – 2017 – TRE/BA - Analista de Sistemas) Considerando que a experiência do usuário 
vem evoluindo juntamente com as interfaces dos dispositivos móveis, assinale a opção 
correta. 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 18 
59 
a) A utilização de carrosséis como método de interação deve ser evitada ou avaliada 
cuidadosamente, devido ao alto percentual de desistência do usuário na navegação entre as 
telas iniciais. 
 
b) No caso de aplicações móveis que também existam em sítios, as telas na aplicação devem 
ser semelhantes às do sítio para que seja aproveitada a experiência do usuário. 
 
c) Devem-se utilizar asteriscos, ou representação com sentido equivalente, para esconder a 
senha digitada, sem permitir que a senha seja visualizada por terceiros ou pelo próprio 
usuário. 
 
d) Para manter a confidencialidade dos dados, o usuário deve fazer login a cada acesso à 
aplicação, fazendo uso, caso seja de seu interesse, de aplicações independentes para 
armazenamento de senha. 
 
e) Para o usuário, é aceitável que a tela de abertura (splash screen) demore a ser carregada, 
desde que a aplicação seja carregada com a maioria das funcionalidades já disponíveis. 
 
Comentários: 
 
(a) Correto. Carrosséis são tão problemáticos em aplicativos quanto em sites, onde o nível de 
desistência de 98% entre a primeira e a segunda tela não é raro (Fonte: Erik Runyon). Os carrosséis 
podem ser pontos cegos onde as promoções são raramente acessadas. Isso dito, se o carrossel 
for o método de interação adequado para o seu aplicativo, desenvolva-o com cuidado e alavanque 
os padrões de design móvel que os usuários estão acostumados, apresentados pelos seus 
sistemas de operação. Ex.: Nos sistemas Android e iOS um conjunto de pontinhos indica uma 
série de imagens horizontais deslizáveis; 
 
(b) Errado. Os usuários não devem ser apresentados a um aplicativo que é uma réplica do site da 
marca ou que contém muito conteúdo e funcionalidades na tela padrão. Aplicativos devem ser 
claros e as jornadas/tarefas devem ser óbvias, portanto, a marca deve priorizar o conteúdo e as 
funcionalidades primárias e colocar todo o resto fora da tela, (Ex: acessível com um deslize do 
menu, acima, do lado ou abaixo da tela); 
 
(c) Errado. Dê aos usuários a opção de rapidamente selecionarem o controle que revela – ou 
esconde – a senha quando estão digitando. Isso reduzirá o número de erros por preenchimento 
de senha durante os processos de cadastro e log-in; 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 19 
59 
 
(d) Errado. Um dos grandes pontos de diferença entre aplicativos móveis e sites móveis é que os 
aplicativos permitem que os usuários se mantenham logados por mais tempo (eliminando o 
esforço de log-in manual e erros), recebendo os benefícios do nível de conveniência e 
personalização, os quais são apenas possíveis por conta de um estado de log-in prolongado, 
derivado de aplicativos que armazenam e atuam com base nas suas informações, 
comportamentos e histórico de transações. 
 
(e) Errado. A tela de abertura (ou Splash Screen) deve engajar os usuários e comunicar a essência 
da marca, porém ela nunca deve deixar os usuários esperando. Sempre coloque o usuário em 
controle e capaz de executar a sua tarefa o mais rápido possível. 
 
Quem quiser ver mais dicas, acesse: 
http://storage.googleapis.com/think/intl/ALL_br/docs/mobile-app-ux-principles_articles.pdf 
 
Gabarito: A 
 
ACERTEI ERREI 
 
 
 
 
 
 
 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 20 
59 
ANDROID 
 
Android é um sistema operacional móvel pertencente ao Google! Apesar disso, ele continua 
tendo código aberto, mas com aplicações com software de código fechado. Galera, quem aí 
tem um celular com Android? Vocês devem saber que é possível trocar a ROM! Professor, o que é 
ROM? É como um firmware personalizado do sistema operacional – pensem como uma 
customização do sistema operacional. 
 
Por exemplo: quando eu tinha um Moto X, que eu usava o CyanogenMod. Por que eu estou falando 
isso? Para enfatizar que o Google é agora dono do Android, mas o código continua sendo 
aberto – permitindo que muitos desenvolvedores criem personalizações. O Android surgiu a 
partir da Versão 2.6 do Kernel do Linux e atualmente se baseia na Versão 3.x. 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 21 
59 
Professor, o que eu preciso para desenvolver? Você precisa do Android Studio, queé um kit de 
ferramentas para desenvolvimento Android; e você precisa do SQLite, que é uma biblioteca para 
implementar um banco de dados e armazenar dados. Uma curiosidade engraçada também é 
que cada versão do sistema operacional possui o nome de uma sobremesa – a versão atual é 
a Marshmallow 6.0. 
 
 
 
A imagem acima apresenta três peculiaridades: primeiro, ela infelizmente não mostra as duas 
últimas versões: Lollipop e Marshmallow; segundo, a versão Honeycomb foi lançada, a princípio, 
para tablets; e terceiro, a partir da versão IceCream Sandwich 4.0, o Android passou-se a se basear 
no kernel 3.x e, não mais, no kernel 2.6 do Linux. Vamos agora ver o slogan de cada versão: 
 
 
VERSÃO 
 
 
SLOGAN 
Android 1.6 
Donut 
A informação do mundo está ao seu alcance: pesquisar na Web, 
receber rotas de trânsito... ou apenas assistir a vídeos de gatos. 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 22 
59 
Android 2.0 
Eclair 
Sua tela inicial do jeito que quiser. Organize apps e widgets em 
várias telas e pastas. Planos de fundo interativos respondem ao 
toque. 
Android 2.2 
Froyo 
A Digitação por voz escreve o texto por você e as Ações de voz 
permitem que você controle seu smartphone sem precisar digitar. 
Android 2.3 
Gingerbread 
Novos sensores fazem do Android uma ótima plataforma para 
jogos. Assim você pode tocar, inclinar e se divertir. 
Android 3.0 
Honeycomb 
Otimizada para tablets, esta versão abre novos horizontes onde 
quer que você esteja. 
Android 4.0 
IceCream Sandwich 
O Android atinge a maioridade com um design novo e refinado. 
Simples, bonito e muito inteligente. 
Android 4.1 
Jelly Bean 
O Android fica mais rápido, suave e com um visual incrível. Com o 
Google Now, você tem a informação certa na hora certa. 
Android 4.4 
Kitkat 
Inteligente, simples e totalmente seu. Um design mais refinado, 
melhor desempenho e novos recursos. 
Android 5.0 
Lollypop 
Mais doce novidade do Android. Tenha a elegância do Android em 
telas grandes e pequenas, com informação certa no momento 
certo. 
Android 6.0 
Marshmellow 
O Android Marshmallow chega para adocicar a experiência do 
sistema da Google com diversos retoques em vários aspectos. 
 
O Android roda sobre uma máquina virtual chamada Dalvik VM! Trata-se de uma máquina 
virtual otimizada para requerer pouca memória e processamento, e projetada para permitir que 
múltiplas instâncias da máquina virtual rodem ao mesmo tempo, deixando para o sistema 
operacional o isolamento de processos, o gerenciamento de memória e o suporte a threading. 
 
Uma máquina virtual é uma aplicação de software que se comporta como se fosse um 
dispositivo independente com seu próprio sistema operacional. Quem aí já instalou VMWare? 
Vocês sabem, então, que podem rodar uma máquina virtual em um computador que opera com 
um sistema operacional completamente diferente do sistema operacional da máquina física. 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 23 
59 
 
 
Eu, por exemplo, tenho um MacBook, no entanto eu instalei uma máquina virtual que roda 
Windows! Então é possível rodar um Windows no Macbook? Sim, por meio de uma máquina virtual. 
A Dalvik é frequentemente referenciada como uma Máquina Virtual Java, mas isso não é 
estritamente exato, porque o bytecode que ela opera não é o bytecode da JVM. 
 
Em vez disso, uma ferramenta de conversão chamada dx, incluída no SDK Android, converte os 
arquivos .class de uma classe compilada por um compilador Java comum para a JVM em outro 
formato especifico de classe (.dex). Vejam a imagem abaixo! Observem que o Android não roda 
diretamente sobre a JVM! Apesar de ser escrito em Java, ele roda diretamente sobre o Dalvik 
VM. 
 
Vamos bater um papo agora sobre a Arquitetura Android! O Google geralmente se refere ao 
Android como uma pilha de softwares. Cada camada da pilha agrupa vários programas que 
suportam funções específicas do sistema operacional. Conforme mostra a imagem, a base da 
pilha é a Camada de Linux Kernel, que inclui algumas funcionalidades. Quais, professor? 
 
Gerenciador de memória, configurações de segurança, gerenciador de energia e vários drivers de 
hardware (Audio, Bluetooth, Câmera, entre outros). Para quem não sabe, drivers são 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 24 
59 
programas que controlam os dispositivos de hardware. Exemplo: Meu Moto X tinha uma 
câmera! O Kernel do Android contém um driver que permite ao usuário enviar comandos ao 
hardware da câmera. 
 
Percebam, pela imagem, que a câmera do celular está na camada de Abstração de Hardware, 
onde se encontram os recursos de hardware. Acima temos a Camada de Bibliotecas! Pode-se 
pensar em bibliotecas como um conjunto de instruções que dizem ao dispositivo como lidar com 
diferentes tipos de dados. Falou em biblioteca, deve-se lembrar de multimídia, Webkit 
(Renderizador de Browsers), SQLite (BD), etc. 
 
Outras bibliotecas incluem aceleração tridimensional (para dispositivos com acelerômetros) 
e um biblioteca de navegadores Web. No mesmo nível da camada de bibliotecas, a Camada de 
Runtime inclui um conjunto de bibliotecas do núcleo Java – lembrando que programadores de 
aplicações Android constroem suas aplicações em Java. Ele também inclui a Máquina Virtual 
Dalvik (DVM). 
 
A Camada Framework de Aplicações apresenta programas que gerenciam as funções básicas do 
telefone, como alocação de recursos, aplicações de telefone, mudança entre processos ou 
programas, e softwares de localização física do aparelho. Os desenvolvedores de aplicações têm 
acesso total ao Framework de Aplicações do Android. 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 25 
59 
 
 
Isso possibilita que os desenvolvedores tirem vantagem das capacidades de processamento do 
Android e suportem recursos quando estão construindo suas aplicações móveis. O framework de 
aplicações é como um conjunto de ferramentas básicas com as quais um desenvolvedor pode 
construir aplicações e ferramentas muito mais complexas. 
 
Ela fornece todas as funcionalidades necessárias para a construção de aplicativos, por meio 
de bibliotecas nativas. Se a prova perguntar qual camada contém as funcionalidades que auxiliam 
o desenvolvedor na criação de aplicativos, o que vocês respondem? Tem que ser automático: 
Framework de Aplicação. Vejam que existem vários gerenciadores (de atividade, janela, 
conteúdo, notificação, entre outros). 
 
No topo da pilha está a Camada de Aplicações! Encontram-se funções básicas do dispositivo, 
chamadas telefônicas, acesso ao navegador ou acesso à lista de contatos. Sabe aqueles aplicativos 
que você instala no seu celular? Estão aqui também! Whatsapp, Facebook, Tinder, Instagram... 
estão todos aqui! Se você é um usuário comum, esta é a camada que você mais usará. 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimentode Software 
www.estrategiaconcursos.com.br 
 26 
59 
Em geral, apenas os programadores do Google, os desenvolvedores de aplicação e os 
fabricantes de hardware acessam as camadas mais baixas. Vamos resumir em palavras-chave? 
Camada de Kernel: drivers; Camada de Abstração de Hardware: recursos de hardware; Camada 
de Bibliotecas: bibliotecas mesmo; Camada de Runtime: DVM; 
 
Camada de Framework de Aplicação: Gerenciadores para desenvolvedores; Camada de 
Aplicações: apps do dispositivo. Algumas observações: alguns consideram a Camada de 
Runtime como uma camada separada e outros consideram-na como parte da Camada de 
Bibliotecas. Ademais, alguns consideram a Camada de Abstração de Hardware como parte da 
Camada de Bibliotecas. 
 
Vamos ver agora um pouco sobre os componentes de um aplicativo! O que é isso, professor? Os 
componentes de aplicativo são os blocos de construção fundamentais de um aplicativo do 
Android. Cada componente é um ponto diferente pelo qual o sistema pode entrar no aplicativo. 
Nem todos os componentes são pontos de entrada reais para o usuário e alguns dependem uns 
dos outros. 
 
No entanto, cada um existe como uma entidade independente e desempenha uma função 
específica – cada um é um bloco de construção exclusivo que ajuda a definir o comportamento 
geral do aplicativo. Há quatro tipos diferentes de componentes de aplicativo. Cada tipo tem 
uma finalidade distinta e tem um ciclo de vida específico que define a forma pela qual o 
componente é criado e destruído. 
 
A seguir apresentam-se os quatro tipos de componentes de aplicativos: 
 
▪ Atividades (Activities): 
 
As atividades representam uma tela única com uma interface do usuário. Por exemplo: um 
aplicativo de e-mails pode ter uma atividade para mostrar uma lista de novos e-mails, outra 
atividade para escrever um e-mail e outra para ler e-mails. Embora essas atividades funcionem 
juntas para formar uma experiência de usuário coesa no aplicativo de e-mails, elas são 
independentes entre si. 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 27 
59 
 
Dessa forma, um outro aplicativo pode iniciar qualquer uma dessas atividades (se o aplicativo 
de e-mails permitir). Por exemplo: um aplicativo de câmera pode iniciar a atividade no aplicativo 
de e-mail. Vocês já tiraram uma foto no celular e a enviaram por e-mail? Pois é! Você pode iniciar a 
atividade de escrita de e-mail lá no aplicativo da câmera. Bacana? 
 
Em suma, o Componente de Atividade é um componente que representa cada tela da aplicação. 
Pegue seu smartphone agora, abra algum aplicativo (Ex: Facebook) e vá interagindo e 
trocando de telas – cada tela será uma atividade. As atividades são classes Java compostas por 
subcomponentes chamados de Visão (View). O que é isso, professor? 
 
É uma classe que representa o bloco de construção básico de um Componente de UI. Galera, é a 
telinha retangular da tela do seu dispositivo – ela é responsável por realizar desenhos e 
tratamento de eventos. Bacana, então as atividades são compostas de visões e representam 
uma tela única da interface do usuário. Agora nós vamos conhecer as Intenções. 
 
▪ Intenções (Intents): 
 
Uma Intenção (Intent) é uma descrição abstrata de uma operação a ser executada. Ela pode 
ser utilizada para iniciar uma Atividade, para ativar um broadcast, para enviar uma mensagem 
para uma aplicação que roda em outro processo, entre outros. Podemos dizer que ele envia uma 
solicitação para o que Android realize alguma ação. 
 
Por exemplo: para que o sistema saia de uma atividade para outra, dispara-se uma intenção. A 
documentação oficial afirma que seu uso mais significativo ocorre quando da inicialização de uma 
Atividade, e que também podemos imaginá-lo como uma cola entre atividades. É uma estrutura 
de dados que armazena uma ação a ser executada. Certinho? 
 
▪ Serviços (Services): 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 28 
59 
Os serviços são componentes executados em segundo plano para realizar operações de 
execução longa ou para realizar trabalho para processos remotos. Eles não apresentam uma 
interface do usuário. Por exemplo: um serviço pode tocar música em segundo plano enquanto o 
usuário está em um aplicativo diferente ou buscar dados na rede sem bloquear a interação do 
usuário com uma atividade. 
 
Outro componente, como uma atividade, pode iniciar o serviço e deixá-lo executar ou vincular-se 
a ele para interagir. Deve-se atentar ao fato de que eles não são um processo separado. Eles 
rodam na thread principal do processo corrente e possuem seu próprio ciclo de vida. Os serviços 
devem estar declarados no AndroidManifest.xml – não confundir com o arquivo principal do 
projeto AndroidManifet.xml. 
 
▪ Receptores de Broadcast (Broadcast Receivers): 
 
Os Receptores de Broadcast são componentes que respondem a anúncios de broadcast por todo 
o sistema. Muitos broadcasts se originam do sistema - por exemplo, um broadcast que anuncia 
que uma tela foi desligada, que a bateria está baixa ou que uma tela foi capturada. Uma 
pequena pausa: um broadcast é a transmissão de uma mensagem. 
 
Os aplicativos também podem iniciar transmissões — por exemplo, para comunicar a outros 
dispositivos que alguns dados foram baixados no dispositivo e estão disponíveis para uso. 
Embora os Receptores de Broadcast não exibam nenhuma interface do usuário, eles podem criar 
uma notificação na barra de status para alertar ao usuário quando ocorre uma transmissão. 
 
Mais comumente, no entanto, um receptor de transmissão é somente um "portal" para outros 
componentes e realiza uma quantidade mínima de trabalho. Por exemplo: ele pode iniciar um 
serviço para executar um trabalho baseado no evento. Então, os receptores de broadcast 
simplesmente respondem a mensagens de broadcast de outras aplicações ou do próprio sistema. 
 
▪ Provedores de Conteúdo (Content Provider): 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 29 
59 
Os provedores de conteúdo gerenciam um conjunto compartilhado de dados do aplicativo. É 
possível armazenar os dados no sistema de arquivos, em um banco de dados SQLite ou em 
qualquer local de armazenamento persistente que o aplicativo possa acessar. Por meio do 
provedor de conteúdo, outros aplicativos podem consultar ou até modificar os dados (se o 
provedor de conteúdo permitir). 
 
Por exemplo: o Android oferece um provedor de conteúdo que gerencia as informações de 
contato do usuário. Assim, qualquer aplicativo com as permissões adequadas pode consultar 
parte do provedor de conteúdo para ler e gravar informações sobre uma pessoa específica. Os 
provedores de conteúdo são úteis para ler e gravar dados privados no aplicativo e não 
compartilhados. 
 
As aplicações poderiam muito bem acessar diretamente um banco de dados, por exemplo. 
Porém, é uma boa prática tornar o modo como os dados são gravados transparente à aplicação. 
Dessa forma, a aplicação pode manter o foco nas interações com o usuário. Por exemplo: o 
Provedor de Conteúdo de SMS permite a qualquer aplicação ler as mensagens recebidas por 
um telefone celular. 
 
 
 
Por fim, vamos ver rapidinho a estrutura de diretórios de um Projeto Android. Galera, quando 
criamos um Projeto Android, ele gera uma estrutura com diversas pastase arquivos conforme 
mostra a imagem acima. Professor, tenho que decorar tudo? Não é obrigatório, mas seria 
interessante saber com mais detalhes sobre as pastas src, gen e res, e sobre o arquivo 
AndroidManifest.xml. 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 30 
59 
 
▪ Pasta src 
 
Vem de Source e contém os pacotes e classes do projeto. Todas as classes criadas na aplicação 
serão colocadas neste diretório em seu devido pacote. 
 
 
 
▪ Pasta gen 
 
Vem de Generated e contém a Classe R, que é gerada automaticamente e faz referência a todos 
os elementos que existirem em um arquivo de tela XML. 
 
 
 
▪ Pasta res 
 
Vem de Resources e contém arquivos importantes para a aplicação com as telas, imagens e textos 
que estiverem em sua aplicação (facilita a internacionalização). 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 31 
59 
 
 
▪ Arquivo AndroidManifest.xml 
 
Esse arquivo deve estar sempre na raiz do projeto e contém todas as configurações que a 
aplicação utiliza para poder ser executada. 
 
 
 
 
 
 
 
 
 
 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
==134dde==
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 32 
59 
QUESTÕES ANDROID 
1. (CESPE – 2012 – DPF – Analista de Sistemas) O sistema Android 4.0 foi desenvolvido com 
base no kernel Linux versão 2.6 e é voltado para dispositivos móveis controlando os serviços 
do sistema, como gerenciamento de memória e de tarefas, diretivas de segurança e drivers. 
 
Comentários: 
 
A imagem acima apresenta três peculiaridades: primeiro, ela infelizmente não mostra as duas 
últimas versões: Lollipop e Marshmallow; segundo, a versão Honeycomb foi lançada, a princípio, 
para tablets; e terceiro, a partir da versão IceCream Sandwich 4.0, o Android passou-se a se basear 
no kernel 3.x e, não mais, no kernel 2.6 do Linux. Vamos agora ver o slogan de cada versão: 
 
Conforme vimos em aula, a partir da versão IceCream Sandwich 4.0, o Android passou a ser 
baseado no kernel 3.x e, não, 2.6. 
 
Gabarito: E 
 
2. (CESPE – 2013 – ANTT – Analista de Sistemas) Com o uso do banco de dados SQLite, incluso 
no Android, é possível desenvolver um provedor de conteúdo, bem como um servidor de 
banco de dados, que necessita gerenciar o acesso aos dados com persistência. No entanto, 
não se justifica a utilização de um provedor de conteúdo para disponibilizarem-se dados para 
várias atividades ou aplicativos distintos. 
 
Comentários: 
 
Os provedores de conteúdo gerenciam um conjunto compartilhado de dados do aplicativo. É possível 
armazenar os dados no sistema de arquivos, em um banco de dados SQLite ou em qualquer local de 
armazenamento persistente que o aplicativo possa acessar. Por meio do provedor de conteúdo, 
outros aplicativos podem consultar ou até modificar os dados (se o provedor de conteúdo 
permitir). 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 33 
59 
 
Conforme vimos em aula, o provedor de conteúdo é como uma base de dados que provê 
conteúdo! Ora, se essa é a função dele, não faz sentido dizer que não se justifica sua utilização 
para disponibilizar dados para várias atividades ou aplicativos distintos. Como não? Essa é a 
função dele! 
 
Gabarito: E 
 
3. (CESPE – 2015 – TCU – Analista de Sistemas) No desenvolvimento de aplicação para 
dispositivos móveis, em vez de se utilizar uma plataforma específica ou um ambiente cross-
platform, pode-se optar por um tipo híbrido, como, por exemplo, um componente HTML 5 
envelopado em containers para acessar recursos específicos de cada plataforma. 
 
Comentários: 
 
A aplicação híbrida nada mais é que uma aplicação web (HTML5, CSS3, etc) envelopada em um 
contêiner nativo. Existem dezenas de ferramentas para gerar esse contêiner nativo para cada 
plataforma, tais como Cordova, Sencha Touch, etc. Para diferenciar todas essas abordagens, eu 
recomendo que façamos uma comparação geral. Atenção no quadro abaixo: 
 
Conforme vimos em aula, a aplicação híbrida envelopa uma aplicação web comum (Ex: HTML5) 
com o auxílio de uma ferramenta (Ex: Cordova) – simulando uma aplicação nativa – e, dessa 
forma, ele se torna capaz de acessar recursos específicos de cada plataforma. No entanto, o 
examinador cometeu um vacilo: o início da questão dá a entender que um tipo híbrido não é um 
ambiente cross-platform. Bem, basta ver a imagem hierárquica colocada em aula para perceber 
que isso não faz sentido, mas a questão infelizmente não foi anulada. 
 
Gabarito: C 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 34 
59 
4. (CESPE – 2013 – ANTT – Analista de Sistemas) Com base no kernel Linux, o ambiente 
operacional Android, utilizado para o desenvolvimento de aplicações móveis e não móveis, 
inclui um navegador incorporável baseado em WebKit, com muitas opções de conectividade 
(wifi, bluetooth, dados wireless através de conexão celular, como GPRS, EDGE e 3G). Os 
aplicativos Android são gravados na linguagem Java e executados em uma máquina virtual 
JVM. 
 
Comentários: 
 
O Android roda sobre uma máquina virtual chamada Dalvik VM! Trata-se de uma máquina virtual 
otimizada para requerer pouca memória e processamento, e projetada para permitir que múltiplas 
instâncias da máquina virtual rodem ao mesmo tempo, deixando para o sistema operacional o 
isolamento de processos, o gerenciamento de memória e o suporte a threading. 
 
Conforme vimos em aula, os aplicativos são escritos em Java, mas rodam em uma Dalvik VM e, 
não, Java VM. 
 
Gabarito: E 
 
5. (CESPE – 2013 – TCE/RO – Analista de Sistemas) No Android, os componentes Intents são 
criados a partir de ações do usuário e representam a intenção de se realizar alguma atividade, 
como iniciar o aplicativo de correio eletrônico ou abrir uma página, utilizando-se do 
navegador que acompanha o Android. O código mostrado a seguir apresenta corretamente 
um exemplo de utilização desse componente. 
 
Uri uri = Uri.parse("http://www.cespe.unb.br"); 
Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
startActivity(intent); 
 
Comentários: 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 35 
59 
Uma Intenção (Intent) é uma descrição abstrata de uma operação a ser executada. Ela pode ser 
utilizada para iniciar uma Atividade, para ativar um broadcast, para enviar uma mensagem para uma 
aplicação que roda em outro processo, entre outros. Podemos dizer que ele envia uma solicitação 
para o que Android realize alguma ação. 
 
Conforme vimos em aula, a questão está perfeita! Ela exagerou, colocando código de 
programação, mas esse código está apenas criando uma intenção de visualizar a páginahttp://www.cespe.unb.br. 
 
Gabarito: C 
 
6. (CESPE – 2013 – FUB – Analista de Sistemas) O Android pode ser executado sobre qualquer 
sistema operacional, pois os aplicativos Android são escritos na linguagem de programação 
Java e executados em uma máquina virtual Java. 
 
Comentários: 
 
O Android roda sobre uma máquina virtual chamada Dalvik VM! Trata-se de uma máquina virtual 
otimizada para requerer pouca memória e processamento, e projetada para permitir que múltiplas 
instâncias da máquina virtual rodem ao mesmo tempo, deixando para o sistema operacional o 
isolamento de processos, o gerenciamento de memória e o suporte a threading. 
 
Conforme vimos em aula, Android é executado na Dalvik VM e, não, Java VM. 
 
Gabarito: E 
 
7. (IBFC – 2013 – PC – Analista de Sistemas) É uma plataforma de software que está 
revolucionando o mercado global de aplicativos para celulares. É a primeira plataforma de 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 36 
59 
aplicativos para telefones celulares de código aberto que se fez notar pelos maiores mercados 
mundiais de telefonia celular. Estamos falando do: 
 
a) Unix. 
b) Linux. 
c) Android. 
d) Mac OS X. 
e) Windows. 
 
Comentários: 
 
Galera, somente uma opção trata de um sistema operacional móvel: Android. 
 
Gabarito: C 
 
8. (CESPE – 2014 – ANATEL – Analista de Sistemas) A arquitetura do Android disponibiliza o 
módulo denominado OOM handling, que permite às aplicações o gerenciamento do 
mecanismo de baixo consumo de energia do aparelho; por exemplo, se um processo 
necessitar ser executado em segundo plano, o referido módulo possibilitará a desativação 
temporária desse mecanismo até a finalização do processo em execução. 
 
Comentários: 
 
Essa era uma questão para ninjas! Deseja-se avaliar na questão se o aluno conhece os módulos 
específicos de cada funcionalidade – eu acho ridículo cobrar isso, mas vamos lá! O Módulo OOM 
Handling (Out Of Memory) trata do gerenciamento de memória, sendo que quem trata do 
gerenciamento de energia é o Módulo Wakelocks, logo a questão está errada! 
 
Gabarito: E 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 37 
59 
 
9. (FCC – 2011 – TRE/PE – Analista de Sistemas) A versão do Android feita, a princípio, apenas 
para tablets, que apresenta melhorias nos recursos multitarefa e nos widgets, é considerada 
como: 
 
a) Cupcake 
b) Frozen Yogurt 
c) Gingerbread. 
d) Honeycomb. 
e) Ice Cream. 
 
Comentários: 
 
A imagem acima apresenta três peculiaridades: primeiro, ela infelizmente não mostra as duas 
últimas versões: Lollipop e Marshmallow; segundo, a versão Honeycomb foi lançada, a princípio, 
para tablets; e terceiro, a partir da versão IceCream Sandwich 4.0, o Android passou-se a se basear 
no kernel 3.x e, não mais, no kernel 2.6 do Linux. Vamos agora ver o slogan de cada versão: 
 
Conforme vimos em aula, trata-se da versão Honeycomb. 
 
Gabarito: D 
 
10. (CESPE – 2013 – SERPRO – Analista de Sistemas) Em uma aplicação desenvolvida para 
Android, os serviços que forem executados em background serão implementados como 
componentes do tipo service e permanecerão em execução até que a aplicação que os 
instanciar seja encerrada. 
 
Comentários: 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 38 
59 
Outro componente, como uma atividade, pode iniciar o serviço e deixá-lo executar ou vincular-se a 
ele para interagir. Deve-se atentar ao fato de que eles não são um processo separado. Eles rodam 
na thread principal do processo corrente e possuem seu próprio ciclo de vida. Os serviços devem estar 
declarados no AndroidManifest.xml – não confundir com o arquivo principal do projeto 
AndroidManifet.xml. 
 
Conforme vimos em aula, os services são realmente executados em background, mas não 
permanecem em execução até que a aplicação que os instanciar seja encerrada – cada aplicação 
tem seu próprio ciclo de vida independente. 
 
Gabarito: E 
 
11. (QUADRIX – 2013 – CREFONO – Analista de Sistemas) Como o software Android, da 
empresa Google, pode ser classificado? 
 
a) Um aplicativo para celulares. 
b) Um aplicativo para celulares e tablets. 
c) Um sistema operacional para celulares e tablets. 
d) Um hardware para celulares e tablets. 
e) Um tipo de celular. 
 
Comentários: 
 
Android é um sistema operacional móvel pertencente ao Google! Apesar disso, ele continua tendo 
código aberto, mas com aplicações com software de código fechado. Galera, quem aí tem um 
celular com Android? Vocês devem saber que é possível trocar a ROM! Professor, o que é ROM? É 
como um firmware personalizado do sistema operacional – pensem como uma customização do 
sistema operacional. 
 
Conforme vimos em aula, trata-se de um sistema operacional para celulares e tablets (e outros). 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 39 
59 
Gabarito: C 
 
12. (FUMARC – 2014 – AL/MG – Analista de Sistemas) Em relação aos principais componentes 
de um aplicativo Android, analise os itens a seguir, marcando com (V) a assertiva verdadeira 
e com (F) a assertiva falsa. 
 
( ) Uma “atividade” do Android é tanto uma unidade de interação do usuário quanto uma 
unidade de execução. 
( ) Um programa Android interativo é iniciado pela criação de subclasses da classe Activity. 
( ) A classe ContentProvider do Android é utilizada em tarefas de segundo plano, que podem 
estar ativas, mas não visíveis na tela. 
( ) A classe Service do Android possui o quarteto de atividades básicas para inserção, consulta, 
atualização e exclusão. 
 
A sequência CORRETA, de cima para baixo, é: 
 
a) V, F, F, V. 
b) F, V, F, V. 
c) F, V, V, F. 
d) V, V, F, F. 
 
Comentários: 
 
Conforme vimos em aula, a atividade é realmente uma unidade de interação, na medida que é 
uma visão, e ela é também uma unidade de execução (o nome já dá a dica); o segundo item 
também está perfeito, visto que se deve herdar de Activity para iniciar uma interação; os dois 
últimos itens foram invertidos. 
 
Gabarito: D 
 
13. (CESPE – 2014 – ANATEL – Analista de Sistemas) O sistema operacional Android tem o 
Linux como base, o que permite a utilização simultânea de aplicações que podem ser 
executadas em segundo plano, de forma transparente para o usuário. 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 40 
59 
 
Comentários: 
 
Os serviços são componentes executados em segundo plano para realizar operações de 
execução longa ou para realizar trabalho para processos remotos. Eles não apresentam uma 
interface do usuário. Por exemplo: um serviço pode tocar música em segundo plano enquanto o 
usuário está em um aplicativo diferente ou buscar dados na rede sem bloquear a interação do usuário 
com uma atividade. 
 
Conforme vimos em aula, temos os services (que rodam em segundo plano). 
 
Gabarito: C 
 
14. (CESPE– 2017 – TRE/BA - Analista de Sistemas) Ao criar um novo projeto padrão por meio 
do Android Studio, o programador poderá desenvolver sua APP para diversos dispositivos. 
Nesse sentido, com o objetivo de criar um jogo para smartphones, os arquivos de som deverão 
ser armazenados dentro da estrutura padrão do diretório: 
 
a) manifest. 
b) layout. 
c) menu. 
d) res. 
e) Java. 
 
Comentários: 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 41 
59 
 
 
(a) Errado, não existe esse diretório. Existe o arquivo AndroidManifest.xml que contém a 
configuração que a aplicação utiliza para poder ser executada; (b) Errado, o Diretório “layout” 
armazena todos os arquivos referentes às telas de uma aplicação Android, que normalmente são 
arquivos “.xml”; (c) Errado, o Diretório “menu” armazena o arquivo responsável por gerenciar e 
exibir os itens de menu da aplicação; (d) Correto, o Diretório “res” (Resources) contém todos os 
recursos que são utilizados em uma aplicação Android (imagens, sons, músicas, etc); (e) Errado, 
não existe esse diretório. 
 
Gabarito: D 
 
ACERTEI ERREI 
 
 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 42 
59 
IOS 
 
O iOS, que antes era chamado de iPhoneOS, é um sistema operacional móvel pertencente à 
Apple! Lançado em 2007, roda no iPhone, iPod, iPad e Apple TV. Ele é derivado do sistema 
operacional dos desktops, chamado MacOS X. Novas versões são lançadas anualmente 
geralmente em junho. O número de usuários que utiliza iPhone/iPad tem aumentado bastante. 
 
Isso cria a oportunidade para os desenvolvedores ganharem dinheiro com a criação de aplicativos 
para iPhone e iPad na Apple Store. Professor, o código é aberto? Não, diferentemente do Android, 
o código é fechado. Professor, as aplicações nativas devem ser desenvolvidas em Java? Não, 
diferentemente do Android, é Objective-C. Vamos ver agora um pouco da Arquitetura do iOS. 
 
No mais alto nível, o iOS atua como um intermediário entre o hardware subjacente e os 
aplicativos – ora, aplicativos não conversam com o hardware diretamente. Em vez disso, se 
comunicam com o hardware através de um conjunto de interfaces bem definidas. Essas 
interfaces tornam mais fácil a criação de aplicativos que funcionam consistentemente em 
dispositivos com diferentes capacidades de hardware. 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 43 
59 
 
 
A Arquitetura iOS é dividida em quatro camadas! As inferiores apresentam serviços e tecnologias 
fundamentais; as superiores, serviços e tecnologias mais sofisticados. A Camada Cocoa Touch 
contém os principais frameworks para construir aplicativos. Esses frameworks definem a 
aparência do aplicativo e fornecem a infraestrutura e suporte básicos para tecnologias como: 
multitarefa, entrada por toque, etc. 
 
 
 
 
 
 
 
OBSERVAÇÃO 
 
O Cocoa Touch define uma arquitetura básica (MVC) para criação de aplicativos: 
 
“MVC is central to a good design for a Cocoa application. The benefits of adopting this pattern are 
numerous. Many objects in these applications tend to be more reusable, and their interfaces tend to be 
better defined. Applications having an MVC design are also more easily extensible than other applications. 
Moreover, many Cocoa technologies and architectures are based on MVC and require that your custom 
objects play one of the MVC roles”. 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 44 
59 
 
 
Ao desenhar aplicativos, deve-se investigar as tecnologias dessa camada para ver se elas 
satisfazem suas necessidades. Existem dois frameworks principais: UIKit, que fornece 
ferramentas básicas para implementar aplicações gráficas e orientadas a eventos; e Foundation, 
que fornece funcionalidades nucleares e essenciais necessárias para a criação de um aplicativo. 
 
A Camada Media contém os frameworks que contém as tecnologias de criações de gráfico, áudio 
e vídeos que você pode utilizar para implementar multimídia em seus aplicativos. A Camada Core 
Services contém os frameworks que fornecem serviços essenciais para as aplicações e para as 
camadas superiores. Os principais frameworks são: Core Foundation e Foundation. 
 
Esses frameworks definem tipos básicos utilizados por todos os aplicativos. Essa camada 
também contém tecnologias individuais para suportar características como: Location, iCloud, 
Social Media e Networking. Detalhe importante: o Foundation faz parte da Camada Cocoa Touch 
e Core Services. Por fim, a Camada Core OS trata de funcionalidades de mais baixo nível. 
 
Mesmo que você não utilize essas tecnologias diretamente em seus aplicativos, 
provavelmente eles estão sendo utilizados por outros frameworks. Nessa camada, trata-se de 
gerenciamento de memória, threads, processamento, drivers, entre outros recursos. Por fim, o 
iOS não implementa um Garbage Collector, mas o Objective-C possui um Automatic Reference 
Counting (ARC) para liberar a memória. 
 
Dessa forma, o programador não tem que ficar preocupado em liberar referências. Para 
acabar, o ambiente nativo para desenvolvimento de aplicativos para o iOS é o XCode! Ele suporta 
por padrão Objective-C e AppleScript. Além disso, ele possui ferramentas para criação, design e 
debug de aplicações iOS. Da mesma forma que é comum usar o Eclipse para o Android, é comum 
usar o XCode para o iOS. 
 
 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 45 
59 
 
 
QUESTÕES IOS 
1. (CESPE – 2012 – DPF – Analista de Sistemas) A arquitetura do iOS possui quatro camadas 
(layers) que funcionam como interface entre a aplicação e o hardware. Essas camadas, 
listadas da mais baixa para a mais alta, são: Core OS, Core Services, Media e CoCoa Touch. 
 
Comentários: 
 
 
 
Conforme vimos em aula, a questão está perfeita! 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 46 
59 
Gabarito: C 
 
2. (CESPE – 2013 – SERPRO – Analista de Sistemas) Como o iOS não implementa um sistema 
de garbage collection, o Objective-C mantém um contador de referência para os objetos de 
forma a viabilizar a liberação de memória de tal objeto. 
 
Comentários: 
 
Mesmo que você não utilize essas tecnologias diretamente em seus aplicativos, provavelmente 
eles estão sendo utilizados por outros frameworks. Nessa camada, trata-se de gerenciamento de 
memória, threads, processamento, drivers, entre outros recursos. Por fim, o iOS não implementa um 
Garbage Collector, mas o Objective-C possui um Automatic Reference Counting (ARC) para liberar a 
memória. 
 
Conforme vimos em aula, a questão está perfeita! 
 
Gabarito: C 
 
3. (FUMARC –2014 – AL/MG – Analista de Sistemas) Analise as seguintes afirmativas sobre 
fundamentos para desenvolvimento de aplicações móveis para iOS. 
 
I. Xcode é o ambiente nativo da Apple para desenvolvimento de aplicativos para iOS. 
II. Objective-C é a linguagem de desenvolvimento de aplicativos para iOS. 
III. A classe NSObject é a classe raiz das principais hierarquias de classes em Objective-C. 
 
Estão CORRETAS as afirmativas: 
 
a) I, II e III. 
 b) I e II, apenas. 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 47 
59 
c) I e III, apenas. 
d) II e III, apenas. 
 
Comentários: 
 
Dessa forma, o programador não tem que ficar preocupado em liberar referências. Para acabar, 
o ambiente nativo para desenvolvimento de aplicativos para o iOS é o XCode! Ele suporta por padrão 
Objective-C e AppleScript. Além disso, ele possui ferramentas para criação, design e debug de 
aplicações iOS. Da mesma forma que é comum usar o Eclipse para o Android, é comum usar o XCode 
para o iOS. 
 
Conforme vimos em aula, o ambiente para desenvolvimento de aplicativos é o XCode; a 
linguagem para criação de aplicativos é o Objective-C; quem conhece Java sabe que todas as 
classes descendem de Object – no Objective-C, as principais classes descendem de NSObject. 
 
Gabarito: A 
 
4. (CESPE – 2014 – SUFRAMA – Analista de Sistemas) Para que os programas aplicativos sejam 
executados no Android e no iOS, é necessário uma máquina virtual própria, cujas 
responsabilidades são, entre outras, gerenciar a comunicação entre o aplicativo e as 
bibliotecas nativas, prover segurança e permitir que os aplicativos possam gravar dados 
privados, incluindo bancos de dados. No Android 4.3, a máquina virtual é a Dalvik; no iOS 7, é 
a XCode. 
 
Comentários: 
 
Dessa forma, o programador não tem que ficar preocupado em liberar referências. Para acabar, 
o ambiente nativo para desenvolvimento de aplicativos para o iOS é o XCode! Ele suporta por padrão 
Objective-C e AppleScript. Além disso, ele possui ferramentas para criação, design e debug de 
aplicações iOS. Da mesma forma que é comum usar o Eclipse para o Android, é comum usar o XCode 
para o iOS. 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 48 
59 
 
Conforme vimos em aula, XCode é um ambiente de desenvolvimento e, não, uma máquina 
virtual. 
 
Gabarito: E 
 
5. (CESPE – 2014 – SUFRAMA – Analista de Sistemas) No iOS 7, os frameworks são diretórios 
que contêm biblioteca compartilhada dinâmica com recursos como arquivos de cabeçalho, 
imagens e aplicativos auxiliares a serem utilizados no desenvolvimento dos aplicativos. 
 
Comentários: 
 
Perfeito! Esses frameworks são diretórios que contém um conjunto de bibliotecas compartilhadas 
e dinâmicas com diversos recursos e serviços que auxiliam, direta ou indiretamente, no 
desenvolvimento de aplicativos. 
 
Gabarito: C 
 
6. (CESPE – 2014 – SUFRAMA – Analista de Sistemas) O iOS 7 possui as camadas Cocoa Touch, 
Media, Core Services e Core OS; esta última, que é a camada mais baixa, suporta aplicativos 
desenvolvidos em 64 bits no modelo LP64. 
 
Comentários: 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 49 
59 
 
 
Conforme vimos em aula, as quatro camadas estão corretas e a última suporta aplicativos 64 bits. 
Professor, o que é modelo LP64? É um modelo de tamanho dos dados. Então, sim, a questão está 
perfeita! 
 
Gabarito: C 
 
7. (CESPE – 2017 – TRE/BA - Analista de Sistemas) Na linguagem Swift do IOS, ao se declarar 
o código var fruta=[“maça“, “banana“, “abacaxi“], a linguagem automaticamente entenderá 
que fruta é array de: 
 
a) integer. 
b) floatings. 
c) strings. 
d) imutáveis. 
e) double. 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 50 
59 
 
Comentários: 
 
Essa questão é fácil, mas é interessante! Por que é fácil? Porque é possível responder rapidamente 
ao notar que os elementos do array são todos strings. Por que é interessante? Porque – para quem 
não conhece – dá a entender que Swift tem tipagem dinâmica, mas não é verdade. Swift é uma 
linguagem de tipagem estática e forte, mas que possui inferência de tipo. 
 
Gabarito: C 
 
ACERTEI ERREI 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 51 
59 
LISTA DE EXERCÍCIOS 
LISTA DE EXERCÍCIOS COMENTADOS (DIVERSAS BANCAS) 
SISTEMAS MÓVEIS 
 
1. (CESPE – 2014 – ANATEL – Analista de Sistemas) O desenvolvimento de aplicações 
web e o de aplicações nativas são as principais formas de desenvolvimento móvel. 
 
2. (CESPE – 2013 – BACEN – Analista de Sistemas) No projeto de aplicações para 
dispositivos móveis, devem ser considerados, entre outros aspectos, as características 
dos dispositivos de hardware para os quais a aplicação está sendo desenvolvida e o 
consumo de energia gerado por cada recurso do sistema, visando-se a economia de 
bateria. 
 
3. (CESPE – 2017 – TRE/BA - Analista de Sistemas) Um APP que for desenvolvido de 
forma híbrida, para funcionar no IOS e Android, além de agilizar e baratear o 
processo de desenvolvimento, também: 
 
a) será mais leve que o normal, pois possuirá menos código trafegando pela web. 
b) será uma aplicação web convertida para rodar nas referidas plataformas. 
c) será compilado de forma nativa no IOS e depois no Android. 
d) acessará todas as bibliotecas nativas dos dispositivos. 
e) será dependente das atualizações do sistema operacional. 
 
4. (CESPE – 2017 – TRE/BA - Analista de Sistemas) Considerando que a experiência do 
usuário vem evoluindo juntamente com as interfaces dos dispositivos móveis, assinale 
a opção correta. 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 52 
59 
a) A utilização de carrosséis como método de interação deve ser evitada ou avaliada 
cuidadosamente, devido ao alto percentual de desistência do usuário na navegação 
entre as telas iniciais. 
 
b) No caso de aplicações móveis que também existam em sítios, as telas na aplicação 
devem ser semelhantes às do sítio para que seja aproveitada a experiência do 
usuário. 
 
c) Devem-se utilizar asteriscos, ou representação com sentido equivalente, para 
esconder a senha digitada, sem permitir que a senha seja visualizada por terceiros 
ou pelo próprio usuário. 
 
d) Para manter a confidencialidade dos dados, o usuário deve fazer login a cada 
acesso à aplicação, fazendo uso, caso seja de seu interesse, de aplicações 
independentes para armazenamento de senha. 
 
e) Para o usuário, é aceitável que a tela de abertura (splash screen) demore a ser 
carregada, desde que a aplicação seja carregadacom a maioria das funcionalidades 
já disponíveis. 
 
 
 
 
LISTA DE EXERCÍCIOS COMENTADOS (DIVERSAS BANCAS) 
ANDROID 
 
1. (CESPE – 2012 – DPF – Analista de Sistemas) O sistema Android 4.0 foi desenvolvido 
com base no kernel Linux versão 2.6 e é voltado para dispositivos móveis controlando 
os serviços do sistema, como gerenciamento de memória e de tarefas, diretivas de 
segurança e drivers. 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 53 
59 
 
2. (CESPE – 2013 – ANTT – Analista de Sistemas) Com o uso do banco de dados SQLite, 
incluso no Android, é possível desenvolver um provedor de conteúdo, bem como 
um servidor de banco de dados, que necessita gerenciar o acesso aos dados com 
persistência. No entanto, não se justifica a utilização de um provedor de conteúdo 
para disponibilizarem-se dados para várias atividades ou aplicativos distintos. 
 
3. (CESPE – 2015 – TCU – Analista de Sistemas) No desenvolvimento de aplicação para 
dispositivos móveis, em vez de se utilizar uma plataforma específica ou um ambiente 
cross-platform, pode-se optar por um tipo híbrido, como, por exemplo, um 
componente HTML 5 envelopado em containers para acessar recursos específicos de 
cada plataforma. 
 
4. (CESPE – 2013 – ANTT – Analista de Sistemas) Com base no kernel Linux, o ambiente 
operacional Android, utilizado para o desenvolvimento de aplicações móveis e não 
móveis, inclui um navegador incorporável baseado em WebKit, com muitas opções 
de conectividade (wifi, bluetooth, dados wireless através de conexão celular, como 
GPRS, EDGE e 3G). Os aplicativos Android são gravados na linguagem Java e 
executados em uma máquina virtual JVM. 
 
5. (CESPE – 2013 – TCE/RO – Analista de Sistemas) No Android, os componentes Intents 
são criados a partir de ações do usuário e representam a intenção de se realizar 
alguma atividade, como iniciar o aplicativo de correio eletrônico ou abrir uma página, 
utilizando-se do navegador que acompanha o Android. O código mostrado a seguir 
apresenta corretamente um exemplo de utilização desse componente. 
 
Uri uri = Uri.parse("http://www.cespe.unb.br"); 
Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
startActivity(intent); 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 54 
59 
6. (CESPE – 2013 – FUB – Analista de Sistemas) O Android pode ser executado sobre 
qualquer sistema operacional, pois os aplicativos Android são escritos na linguagem 
de programação Java e executados em uma máquina virtual Java. 
 
7. (IBFC – 2013 – PC – Analista de Sistemas) É uma plataforma de software que está 
revolucionando o mercado global de aplicativos para celulares. É a primeira 
plataforma de aplicativos para telefones celulares de código aberto que se fez notar 
pelos maiores mercados mundiais de telefonia celular. Estamos falando do: 
 
a) Unix. 
b) Linux. 
c) Android. 
d) Mac OS X. 
e) Windows. 
 
8. (CESPE – 2014 – ANATEL – Analista de Sistemas) A arquitetura do Android 
disponibiliza o módulo denominado OOM handling, que permite às aplicações o 
gerenciamento do mecanismo de baixo consumo de energia do aparelho; por 
exemplo, se um processo necessitar ser executado em segundo plano, o referido 
módulo possibilitará a desativação temporária desse mecanismo até a finalização do 
processo em execução. 
 
9. (FCC – 2011 – TRE/PE – Analista de Sistemas) A versão do Android feita, a princípio, 
apenas para tablets, que apresenta melhorias nos recursos multitarefa e nos widgets, 
é considerada como: 
 
a) Cupcake 
b) Frozen Yogurt 
c) Gingerbread. 
d) Honeycomb. 
e) Ice Cream. 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 55 
59 
10. (CESPE – 2013 – SERPRO – Analista de Sistemas) Em uma aplicação desenvolvida 
para Android, os serviços que forem executados em background serão 
implementados como componentes do tipo service e permanecerão em execução 
até que a aplicação que os instanciar seja encerrada. 
 
11. (QUADRIX – 2013 – CREFONO – Analista de Sistemas) Como o software Android, da 
empresa Google, pode ser classificado? 
 
a) Um aplicativo para celulares. 
b) Um aplicativo para celulares e tablets. 
c) Um sistema operacional para celulares e tablets. 
d) Um hardware para celulares e tablets. 
e) Um tipo de celular. 
 
12. (FUMARC – 2014 – AL/MG – Analista de Sistemas) Em relação aos principais 
componentes de um aplicativo Android, analise os itens a seguir, marcando com (V) 
a assertiva verdadeira e com (F) a assertiva falsa. 
 
( ) Uma “atividade” do Android é tanto uma unidade de interação do usuário quanto 
uma unidade de execução. 
( ) Um programa Android interativo é iniciado pela criação de subclasses da classe 
Activity. 
( ) A classe ContentProvider do Android é utilizada em tarefas de segundo plano, que 
podem estar ativas, mas não visíveis na tela. 
( ) A classe Service do Android possui o quarteto de atividades básicas para inserção, 
consulta, atualização e exclusão. 
 
A sequência CORRETA, de cima para baixo, é: 
 
a) V, F, F, V. 
b) F, V, F, V. 
c) F, V, V, F. 
d) V, V, F, F. 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 56 
59 
13. (CESPE – 2014 – ANATEL – Analista de Sistemas) O sistema operacional Android tem 
o Linux como base, o que permite a utilização simultânea de aplicações que podem 
ser executadas em segundo plano, de forma transparente para o usuário. 
 
14. (CESPE – 2017 – TRE/BA - Analista de Sistemas) Ao criar um novo projeto padrão por 
meio do Android Studio, o programador poderá desenvolver sua APP para diversos 
dispositivos. Nesse sentido, com o objetivo de criar um jogo para smartphones, os 
arquivos de som deverão ser armazenados dentro da estrutura padrão do diretório: 
 
a) manifest. 
b) layout. 
c) menu. 
d) res. 
e) Java. 
 
LISTA DE EXERCÍCIOS COMENTADOS (DIVERSAS BANCAS) 
iOS 
 
1. (CESPE – 2012 – DPF – Analista de Sistemas) A arquitetura do iOS possui quatro 
camadas (layers) que funcionam como interface entre a aplicação e o hardware. Essas 
camadas, listadas da mais baixa para a mais alta, são: Core OS, Core Services, Media 
e CoCoa Touch. 
 
2. (CESPE – 2013 – SERPRO – Analista de Sistemas) Como o iOS não implementa um 
sistema de garbage collection, o Objective-C mantém um contador de referência 
para os objetos de forma a viabilizar a liberação de memória de tal objeto. 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 57 
59 
3. (FUMARC – 2014 – AL/MG – Analista de Sistemas) Analise as seguintes afirmativas 
sobre fundamentos para desenvolvimento de aplicações móveis para iOS. 
 
I. Xcode é o ambiente nativo da Apple para desenvolvimento de aplicativos para iOS. 
II. Objective-C é a linguagem de desenvolvimento de aplicativos para iOS. 
III. A classe NSObject é a classe raiz dasprincipais hierarquias de classes em 
Objective-C. 
 
Estão CORRETAS as afirmativas: 
 
a) I, II e III. 
 b) I e II, apenas. 
c) I e III, apenas. 
d) II e III, apenas. 
 
4. (CESPE – 2014 – SUFRAMA – Analista de Sistemas) Para que os programas aplicativos 
sejam executados no Android e no iOS, é necessário uma máquina virtual própria, 
cujas responsabilidades são, entre outras, gerenciar a comunicação entre o aplicativo 
e as bibliotecas nativas, prover segurança e permitir que os aplicativos possam gravar 
dados privados, incluindo bancos de dados. No Android 4.3, a máquina virtual é a 
Dalvik; no iOS 7, é a XCode. 
 
5. (CESPE – 2014 – SUFRAMA – Analista de Sistemas) No iOS 7, os frameworks são 
diretórios que contêm biblioteca compartilhada dinâmica com recursos como 
arquivos de cabeçalho, imagens e aplicativos auxiliares a serem utilizados no 
desenvolvimento dos aplicativos. 
 
6. (CESPE – 2014 – SUFRAMA – Analista de Sistemas) O iOS 7 possui as camadas Cocoa 
Touch, Media, Core Services e Core OS; esta última, que é a camada mais baixa, 
suporta aplicativos desenvolvidos em 64 bits no modelo LP64. 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 58 
59 
 
7. (CESPE – 2017 – TRE/BA - Analista de Sistemas) Na linguagem Swift do IOS, ao se 
declarar o código var fruta=[“maça“, “banana“, “abacaxi“], a linguagem 
automaticamente entenderá que fruta é array de: 
 
a) integer. 
b) floatings. 
c) strings. 
d) imutáveis. 
e) double. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118
 
 
 
Curso Regular de Desenvolvimento de Software 
www.estrategiaconcursos.com.br 
 59 
59 
GABARITO 
GABARITO DOS EXERCÍCIOS COMENTADOS (DIVERSAS BANCAS) 
SISTEMAS MÓVEIS 
 
1 2 3 4 5 6 7 8 9 10 
C C B A 
 
GABARITO DOS EXERCÍCIOS COMENTADOS (DIVERSAS BANCAS) 
ANDROID 
 
1 2 3 4 5 6 7 8 9 10 
E E C E C E C E D E 
11 12 13 14 15 16 17 18 19 20 
C D C D 
 
GABARITO DOS EXERCÍCIOS COMENTADOS (DIVERSAS BANCAS) 
iOS 
 
1 2 3 4 5 6 7 8 9 10 
C C A E C C C 
 
Diego Carvalho, Pedro Henrique Chagas Freitas
Aula 07
Desenvolvimento de Sistemas p/ Polícia Federal (Perito - Área 3 - Tecnologia da Informação) - 2020
www.estrategiaconcursos.com.br
1265118

Mais conteúdos dessa disciplina