Buscar

unicl2807_desenvolvimento_andr

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Desenvolvimento 
android
Sumário
1 Introdução 4
2 Arquitetura da aplicação android 5
2.1 A nova arquitetura recomendada 6
2.2 Componentes da arquitetura android 7
2.2.1 Componentes do ciclo de vida 8
2.2.2 Componente LiveData 8
2.2.3 Componente ViewModel 8
2.2.4 Componente Room 9
3 Principais widgets para 
entrada e saída de dados 9
3.1 Tipos de widget 10
3.1.1 Configuração de widgets 11
4 O primeiro passo no mundo 
da era mobile através do android 11
5 Documentação do android 
e o local de publicação dos apps 12
6 Recursos disponíveis no android 13
7 Conhecendo os fragments 14
8 Solucionando problemas 
no desenvolvimento android 15
9 Linguagens para desenvolvimento android 16
10 Definição de layouts 17
11 Desenvolvimento de apps para Android 19
Resumo do curso 21
Referências 22
Módulo 1
Desenvolvimento Android
1 Introdução
Acadêmico, na Etapa 1, abordaremos sobre Desenvolvimento Android e suas funcionalidades 
importantes: a arquitetura da aplicação, os principais widgets, recursos, layouts, entre ou-
tros. Veremos como funciona o processo pelo qual um novo aplicativo é criado para o sistema 
operacional Android. Geralmente é desenvolvido na linguagem de programação Java, usando 
o Android software development kit, porém, você verá que outros ambientes de desenvolvi-
mento também podem ser utilizados.
O Android é um dos sistemas operacionais mais usados no mundo, liderando o mercado de 
dispositivos móveis. Foi criado em 2005 pela empresa Android Inc. e mais tarde foi adquiri-
do pela Google. Desde a sua criação, obteve um grande sucesso e lançou mais de 14 versões 
diferentes.
 Por ser um sistema operacional de código aberto (open source), ganhou destaque pelas di-
versas criações e sistemas customizados. Diante disso, esperamos que você se desenvolva 
profissionalmente com o conteúdo apresentado neste curso. Afinal, a demanda por desenvol-
vimento de sistemas mobile está crescendo cada vez mais e saber desenvolver um app para 
Android será o seu diferencial.
5
2 Arquitetura da aplicação 
android
Você sabe o que é uma arquitetura de aplicativo? Trata-se de um plano consistente realizado 
antes de iniciar o processo de desenvolvimento. Neste plano, um mapa é criado com vários 
componentes diferentes do aplicativo que devem ser interligados e organizados. Além dis-
so, possui as diretrizes que durante o processo de desenvolvimento é capaz de forçar alguns 
componentes relacionados ao código padronizado. Esses componentes, por fim, irão ajudar 
você na construção de um aplicativo mais expansível, de fácil manutenção e mais testável.
FIGURA 1 – DESENVOLVIMENTO ANDROID
 
Fonte: Freepik (2021).
Nesse sentido, uma arquitetura de aplicativo de software é um processo que define uma solu-
ção mais estruturada com o objetivo de atender aos requisitos operacionais e técnicos, otimi-
zando os atributos de desempenho, gerenciabilidade e segurança. Isto envolve uma série de 
decisões que são baseadas em fatores com um impacto bem considerável sobre facilidade de 
manutenção, qualidade, desempenho e sucesso geral do aplicativo.
Segundo Somera (2006), no Android pode ser utilizada a linguagem de programação Delphi 
nas aplicações e desenvolvimento de camadas e desktop, já que ela é compatível com os ban-
cos de dados mais conhecidos, podendo ser utilizada para diversos tipos de desenvolvimento 
de projetos – desde aplicações web até serviços –, pois se trata de uma ferramenta genérica.
 Para Sampaio (2006), o Delphi consegue ter um aumento de produtividade bastante evidente 
e consegue de maneira rápida criar interfaces gráficas tornando a experiência do usuário 
agradável. Podemos definir o Delphi como uma ferramenta RAD: um compilador que gera um 
6
código muito otimizado e eficiente, obtendo como resultado final um programa executável que 
consegue rodar até 20 vezes mais rápido do que um programa que usa código interpretado.
Atenção!
A arquitetura de Android é caracterizada como um processo que consegue 
definir soluções por meio de requisitos operacionais e técnicos.
Em geral, uma boa aplicação Android precisa proporcionar ao programador uma separação 
de conceitos sólida e que determine a interface do usuário a partir de um modelo. Mesmo 
existindo alguns princípios sobre a arquitetura Android, não necessariamente eles precisam 
ser seguidos, ou seja, a decisão é pessoal e cabe ao desenvolvedor decidir qual a melhor ar-
quitetura irá utilizar.
2.1 A nova arquitetura recomendada
A arquitetura Android não deve ser rotulada como uma linguagem mais simples, pois esse 
sistema operacional é complexo e utiliza inúmeras nomenclaturas que precisam ser entendi-
das. No entanto, os componentes de arquitetura usam conceitos com facilidade e oferecem 
uma excelente capacidade de testes, além de serem considerados de fácil implementação.
FIGURA 2 – INTERFACE 
Fonte: Pixabay (2021).
7
Existem quatro componentes importantes que devemos conhecer para entender como o 
Android funciona. Todos esses componentes possuem suas próprias funções, porém, eles 
atuam juntos para criar uma arquitetura bem estruturada. Esses componentes são: ViewMo-
del, Lifecycle, LiveData e Room.
2.2 Componentes da arquitetura android 
Agora, vamos conhecer os elementos principais dos componentes da arquitetura Android 
e suas responsabilidades? O banco de dados Room é uma biblioteca que consegue mapear o 
SQLite, facilitando o processo de lidar com um banco de dados. Uma de suas funções é gravar 
automaticamente uma tonelada de códigos extensos, verificar erros relacionados à compila-
ção e o melhor: retornar diretamente consultas com o LiveData (HENDRICKS, 2002).
Nota
O SQLite é uma biblioteca em linguagem C que implementa um banco de da-
dos SQL embutido.
O Fragment (fragmentos) e a Activity (atividades) são as camadas da View. Eles não lidam 
com operações complexas e lógicas de negócios, apenas configuram o modo de exibição, ob-
servam e apresentam elementos de LiveData retirados do ViewModel e, também, são respon-
sáveis pela interação com o usuário.
O Repository é uma classe simples, não é um componente especial do Android e não possui 
qualquer implementação específica, já que é o responsável pela busca de dados de todas as 
fontes disponíveis, como de um banco de dados para serviços web. Ele é responsável por lidar 
com todos esses dados, transformá-los em observáveis para o LiveData e, depois, deixá-los 
disponíveis para o ViewModel (SAMPAIO, 2006).
Quanto ao ViewModel, ele nunca faz referência a View de forma direta e as atualizações de 
dados são sempre feitas pelo LiveData. O ViewModel faz a observação do estado do Lifecycle 
(ciclo de vida) automaticamente por meio do modo de exibição e mantém a consistência du-
rante as alterações de configuração e outros eventos de vida do Android.
É muito importante conhecer profundamente os aspectos dos novos componentes para con-
seguirmos realmente entender e utilizar este modelo de arquitetura. A seguir, você verá um 
pouco mais sobre cada um desses componentes.
8
2.2.1 Componentes do ciclo de vida
Os ciclos de vida, ou o Lifecycle, são ligados à maioria dos componentes de aplicativos An-
droid e são gerenciados de forma direta pelo próprio sistema. Antes era muito comum se con-
fundir e cometer erros relacionados a operações, visto que era o desenvolvedor o responsável 
por atividades como monitorar os componentes. Porém com a chegada do pacote Android. 
arch. isso mudou.
2.2.2 Componente LiveData
 O LiveData consegue perceber quando os dados passaram por alterações e também quando 
o observador recebe uma atualização ou está ativo. Em geral, trata-se de um suporte de da-
dos que possui um valor que pode ser observado, dado que o observador tenha proporcionado 
um archa durante a instanciação do LiveData, que irá se comportar de acordo com o estado do 
archa (FILHO; ZARA, 2002).
Segundo Filho e Zara (2002), caso o estado do archa do observador seja RESUMED ou STAR-
TED ele estará ativo, caso contrário será inativo. Uma característicainteressante do LiveData 
é que ele se torna capaz de remover o observador quando estiver em um estado de LiveData, 
assim evita vazamentos de memória quando observado por Fragments e LiveData.
Importante
Art e Hal são componentes e serviços principais do sistema Android, eles 
são implementados em código nativo que exige bibliotecas programadas 
em C++ e C.
2.2.3 Componente ViewModel
O ViewModel é considerado uma das mais importantes classes dos novos componentes da 
arquitetura Android, já que foi projetado para o armazenamento de dados relacionados à in-
terface de usuário, possuindo melhor qualidade ao manter a integridade durante alterações 
feitas na configuração. Um exemplo disso é a rotação de tela (FILHO; ZARA, 2002).
9
2.2.4 Componente Room
O componente Room é conhecido como uma biblioteca de mapeamento de SQLite, além de 
mapeamento relacional de objetos. Ele é capaz de manter o Java POJOs (Plain Old Java Ob-
jects) e converter diretamente as consultas para objetos, além de fazer verificação de erros 
em tempo de compilação produzindo LiveData observáveis dos resultados de consulta (SAM-
PAIO, 2006).
Sampaio (2006) afirma que o SQLite era suportado pelo Android desde o início da sua criação. 
No entanto, para que funcionasse, era necessário um código muito extenso, sem falar que o 
SQLite não verificava consultas em tempo de compilação e não salvava POJOs. Nesse senti-
do, foi necessário utilizar o Room para resolver essas falhas.
É possível fazer a maior parte do que o Room é capaz de fazer por meio de outras bibliotecas 
ORM Android, mas nenhuma delas é oficialmente suportada e, também, não conseguem pro-
duzir resultados LiveData. Sendo assim, a biblioteca Room se encaixa na proposta da Arquite-
tura Android.
Nota
Plain Old Java Objects, ou POJOs, são objetos Java que seguem um dese-
nho simplificado em contraposição aos EJBs (Enterprise JavaBeans), por 
exemplo.
3 Principais widgets para 
entrada e saída de dados
Segundo Visão... (2019a, [s. p.]), em um app “os widgets são um aspecto essencial da perso-
nalização da tela inicial”. Eles podem ser movidos pelos usuários, por meio dos painéis da tela 
inicial, e até redimensionados para uma personalização mais específica de acordo com a pre-
ferência do usuário. Sem dúvidas, os widgets e suas visualizações rápidas de dados se torna-
ram as funcionalidades mais importantes de um aplicativo.
10
3.1 Tipos de widget
Na hora de realizar o planejamento de um widget, você deve primeiro analisar o que deseja 
criar. De acordo com Visão... (2019a), em regra, os widgets se enquadram nas seguintes ca-
tegorias: widgets de coleção, widgets de controle, widgets da informação e widgets híbridos.
Os widgets de coleção são aqueles especializados em exibir uma grande variedade de ele-
mentos com as mesmas características, como uma coleção de imagens de um aplicativo em 
galeria, uma coleção de artigos ou até um aplicativo de notícias, por exemplo, em que são exi-
bidos e-mails/mensagens de um aplicativo para a comunicação (VISÃO..., 2019a).
Os widgets de controle têm como principal objetivo controlar a exibição de funções usadas 
com frequência. Dessa forma, o usuário não precisa abrir o app primeiro, pois ele consegue 
acionar essas funções diretamente na tela inicial (VISÃO..., 2019a).
Ainda segundo Visão... (2019a), os widgets da informação exibem elementos que são essen-
ciais para o usuário e os widgets híbridos são basicamente os widgets citados anteriormente 
(widgets de coleção, widgets de controle e widgets da informação), porém eles são combina-
dos entre si.
FIGURA 3 – WIDGETS
 
Fonte: Pixabay (2021).
Como podemos ver, as características dos widgets citadas acima demonstram o quanto eles 
são necessários e inteligentes, já que sua personalização proporciona melhorias e conceitos 
novos aos usuários.
11
3.1.1 Configuração de widgets
Conforme Visão... (2019a), muitas vezes é necessário configurar os widgets para que eles se-
jam úteis. Por exemplo, em um widget de e-mail é preciso fornecer uma conta para que a cai-
xa de entrada possa ser exibida; enquanto em um widget de foto estática é necessário que o 
usuário defina a imagem da galeria que será exibida.
As exibições dos widgets são exibidas em um painel inicial após serem inseridas pela confi-
guração. Deve-se manter a configuração do widget leve e evitar apresentar mais de três ele-
mentos. Além disso, é necessário substituir atividades em tela cheia por estilo de caixas de 
diálogo, pois isso ajuda nas opções de configuração e a manter o contexto de lugar do usuário, 
ainda que isso exija o uso de várias caixas de diálogo. Por fim, uma vez feita a configuração, 
não há motivos para acessá-la novamente, por isso os widgets não exibem um botão de con-
figuração (VISÃO..., 2019a).
4 O primeiro passo no 
mundo da era mobile através 
do android
A revolução industrial 3.0 foi marcada pela era mobile, em que a informação e a tecnologia 
passaram a caminhar juntas proporcionando grandes benefícios para as pessoas e as empre-
sas. Os smartphones e tablets ganharam cada vez mais visibilidade ao serem utilizados como 
ferramentas de trabalho e comunicação, possibilitando ao usuário o acesso a diversos re-
cursos a partir das redes sociais, aplicativos e mecanismos de busca. O sistema operacional 
móvel do Google é muito recente. O primeiro dispositivo Android foi lançado apenas há alguns 
anos e, atualmente, é o sistema mais utilizado em todo o mundo estando presente em milha-
res de aparelhos e várias marcas (FILHO; ZARA, 2002).
O Android foi desenvolvido por Andy Rubin, Nick Sears, Chris White e Rich Miner, empresários 
do ramo da tecnologia que fundaram a empresa Android Inc., em 2003, na cidade de Palo Alto 
na Califórnia. Nessa época, um dos empresários definiu o Android como os dispositivos mó-
veis mais inteligentes e mais conscientes das preferências do usuário (HENDRICKS, 2002). 
Logo após, o Android foi adquirido pela Google que ofereceu 10 milhões de dólares aos desen-
volvedores que conseguissem criar os melhores aplicativos para o sistema Android e, como 
resultado, o desenvolvimento destas versões ajudou na criação da versão 1.0.
12
Desde então o Android ganhou espaço no mercado e aos poucos foi liderando e assumido os 
smartphones pelo mundo, estando presente na linha Nexus do Google e em celulares de ou-
tras marcas, como a Asus, Samsung, LG, HTC, e ainda em tablets. Já que o Android é de código 
aberto (open source) serviu de base para diversas criações e sistemas customizados que se 
espalharam pela internet.
Atualmente, o Android ocupa uma boa parte dos sistemas operacionais móveis disponíveis 
no mercado. Somente em 2013 possuía 11.868 modelos do sistema em vários tamanhos e re-
soluções e rodava 8 versões diferentes. Diante disso, podemos perceber como é grandioso o 
mercado de oportunidades que o sistema consegue oferecer aos programadores autônomos 
e às empresas de aplicações móveis. Hoje, a Google fornece ferramentas gratuitas para o de-
senvolvimento de aplicações, excelente documentação e suporte.
5 Documentação do android e 
o local de publicação dos apps
De acordo com Publicar... (2021), a publicação se refere ao processo geral que disponibiliza os 
aplicativos Android para os seus usuários. Quando um aplicativo é publicado duas tarefas são 
realizadas: a preparação do aplicativo para o seu lançamento na plataforma; e o lançamento 
do aplicativo para os usuários baixarem. Durante esta última etapa, ocorre a venda, a distri-
buição da versão beta, a divulgação e download para os usuários.
Ainda conforme Publicar... (2021), quando o desenvolvedor preparar um aplicativo para o seu 
lançamento, ele deve realizar o seguinte processo:
• configurar o aplicativo para o lançamento: caso seja usado arquivos de compilação 
do Gradle, será possível usar um tipo de build release para definir as configurações 
para a versão publicada do app. Além disso, algumas configurações podem ser defi-
nidas para cumprir os requisitos do Google Play,ou acompanhar o método usado para 
lançamento;
• assinar e criar uma versão do lançamento do aplicativo: consultar a aba criar e es-
cutar no Android Studio;
• testar a versão antes do lançamento: antes de distribuir o aplicativo, é necessário 
realizar vários testes em pelo menos um dispositivo smartphone e um tablet para ave-
riguar as funcionalidades e possíveis bugs;
• realizar possíveis atualizações de recursos do aplicativo: atualizar arquivos de mul-
timídia e gráficos que precisam ser incluídos ou organizados nos servidores de pro-
dução adequados;
13
• preparar os serviços remotos e servidores que o aplicativo depende: caso o aplica-
tivo dependa de serviços externos ou servidores, é necessário garantir que são segu-
ros e prontos para a produção.
Por fim, durante a estabilidade do aplicativo será necessário executar diversas tarefas como 
parte do processo de preparação, por exemplo, será necessário utilizar uma chave privada 
para assinar o aplicativo, além de criar um ícone. O desenvolvedor também precisará de um 
contrato de licença de usuário final para proteger a organização, pessoa e propriedade inte-
lectual. Depois de todas essas etapas da preparação do aplicativo para o lançamento, ele terá 
um arquivo.apk assinado para distribuir aos usuários (PUBLICAR..., 2021).
6 Recursos disponíveis no 
android
Os recursos são considerados os arquivos adicionais e o conteúdo estático que o código 
utiliza, como definições de layout, instruções de animações, bitmaps e strings da interface do 
usuário. De acordo com Visão... (2019b), é necessário sempre exteriorizá-los para que você 
consiga mantê-los independentes.
FIGURA 4 – aplicativos móveis
 
FONTE: Freepik (2021).
14
No ambiente de execução, o Android usa o recurso com base na configuração atual, por isso 
é importante ofertar os recursos alternativos para configurações específicas do dispositivo, 
assim eles serão agrupados em diretórios de recursos nomeados (VISÃO..., 2019b). 
O Android, com base na configuração atual, usa o recurso adequado levando em conta o am-
biente de execução. Por exemplo, imagine que você quer fornecer um layout de interface do 
usuário diferente e depende do tamanho da tela ou strings diferentes. Quando os recursos do 
aplicativo forem exteriorizados, será possível acessá-los usando códigos de recursos do An-
droid. Esse documento mostra como fornecer recursos alternativos para configurações mais 
específicas do dispositivo, para depois acessá-los no seu código do aplicativo ou arquivos 
XML (VISÃO..., 2019b).
7 Conhecendo os fragments
Um Fragment Activity, em português atividade de fragmento, refere-se a um comportamento 
ou parte da interface do usuário. São inúmeras as possibilidades de combinar vários frag-
mentos em uma única atividade. Você pode, por exemplo, criar uma interface de vários painéis 
e, ainda, conseguir reutilizá-los. Podemos imaginar um fragmento como uma seção modular 
de uma atividade que possui o seu próprio ciclo de vida. Essa seção recebe os próprios even-
tos de entrada e pode ser removida ou adicionada durante a execução da atividade, ou seja, é 
“uma espécie de ‘subatividade’ que pode ser reutilizada em diferentes atividades” (FRAGMEN-
TOS..., 2019, [s. p.]).
Por via de regra, um fragmento precisa ser hospedado em uma atividade e seu ciclo de vida 
é impactado pelo ciclo de vida da atividade do host. Isso quer dizer que quando a atividade é 
pausada, todos os fragmentos também são e, quando a atividade é destruída, todos os frag-
mentos também são (FRAGMENTOS..., 2019).
Porém, quando uma atividade estiver em execução, é possível processar cada fragmento de 
forma independente, como removê-lo ou adicioná-lo. Ao realizar essa transação com frag-
mentos, você também pode adicioná-los a uma pilha de retorno que é gerenciada pela ativi-
dade, ou seja, cada entrada da pilha possui um retorno na atividade. Segundo Fragmentos... 
(2019, [s. p.]), “A pilha de retorno permite que o usuário reverta uma transação de fragmento 
(navegue para trás), pressionando o botão Voltar”.
15
8 Solucionando problemas 
no desenvolvimento android
Muitos problemas no Android são causados pela falta de espaço no disco, como interrup-
ções e falhas. Para evitar esses problemas, o emulador de Android verifica na inicialização 
se existe espaço suficiente livre. É necessário ter 2 GB livres para que o emulador seja inicia-
do, caso contrário ele não iniciará (SOLUÇÃO..., 2021).
Outro problema está no uso de softwares Antivírus, pois eles podem diminuir o desempenho 
de algumas ferramentas, como o Android Emulator, devido ao fato de monitorarem todas as 
operações de gravação e leitura. 
Muitos softwares Antivírus conseguem adicionar aplicativos específicos a uma lista conside-
rada confiável, permitindo que eles funcionem sem degradar o desempenho. Por exemplo, se 
você carregar snapshots do AVD (Dispositivo Virtual Android) e tiver um desempenho ruim, po-
derá melhorá-lo adicionando o Android Emulator como um aplicativo confiável (SOLUÇÃO..., 
2021).
Caso exista outro software antivírus instalado, além do que já possui no sistema operacional, 
você poderá realizar testes para definir qual sistema tem maior efeito no desempenho ao car-
regar o emulador e realizar operações de salvamento. 
Se o software Avast estiver instalado e apresentar problema para executar o Android Emula-
tor, é necessário desativar a opção usar virtualização aninhada quando disponível e, depois, 
ativar a virtualização assistida por hardware nas configurações de “Solução de problemas” 
do Avast (SOLUÇÃO..., 2021).
Para liberar a memória RAM e a carga de confirmação na utilização do Windows, é preciso ini-
ciar o emulador e ele irá ativar a RAM do sistema operacional. A partir disso, será contabilizado 
o tamanho total da memória do convidado na inicialização (SOLUÇÃO..., 2021).
Ainda segundo Solução... (2021), o emulador pode ainda solicitar ao Windows que conte o nú-
mero total da memória convidada e essa solicitação acaba excedendo o limite de confirmação 
atual, que se refere ao total da RAM física e do arquivo de paginação disponíveis. Quando isso 
acontece, o Windows não consegue garantir que essa demanda de trabalho se acomode na 
RAM física ou no arquivo de paginação, fazendo com que o emulador falhe ao iniciar.
Em alguns casos, a paginação e a quantidade de espaço no disco rígido é mais do que sufi-
ciente para a RAM física no uso do emulador. Porém, se acontecer falhas ao iniciar o emulador 
e ultrapassar o limite de confirmação, é recomendável examinar a carga atual, que pode ser 
encontrada na guia “Desempenho” no gerenciador de tarefas do Windows (SOLUÇÃO..., 2021).
Por fim, é importante destacarmos uma ferramenta importante: a Genymotion. Ela permite 
descarregar um simulador específico em algum smartphone. Ao fazer uso dela, os progra-
16
madores conseguem simular as aplicações com eficiência e qualidade em diversos tipos de 
hardware que utilizam Android. Isso ajuda a reduzir os problemas causados pelas milhares de 
versões criadas a partir do Android, já que rodam em vários aparelhos de marcas e tamanhos 
diferentes.
9 Linguagens para 
desenvolvimento android
Existem algumas linguagens de programação que podem ser utilizadas no Desenvolvimento 
Android. Neste tópico, você irá conhecer as melhores linguagens que se adaptam ao sistema 
Android: Java, Kotlin, C#, Lua e BASIC.
O Java é oficialmente a linguagem mais utilizada para desenvolver aplicativos no Android. Foi 
criado em 1995 e tornou-se a linguagem mais popular devido a sua função de desenvolver to-
das as partes do aplicativo, desde front-end até back-end. Ele pode ser usado para o desen-
volvimento de software de computador, por isso é executado em uma máquina virtual para 
compilação em smartphones e aplicativos Android.
A linguagem Kotlin se destaca por oferecer recursos incríveis para o desenvolvimento de 
apps. Ela possui código aberto porque foi subutilizada para tornar as coisas mais eficientes e 
práticas. Por ser compatívelcom o Java, em pouco tempo se tornou a linguagem de progra-
mação oficial para o desenvolvimento de aplicativos.
A linguagem C# foi criada em 2000 pela Microsoft e é considerada uma linguagem muito pro-
missora no desenvolvimento Android. Já foi muito utilizada para várias tarefas diferentes e 
para todos os tipos de desenvolvimento, incluindo o desenvolvimento de jogos e do software 
Windows. Essa linguagem combina os recursos do Java com C++, tornando-se orientada a 
objetos, e é considerada um membro superior da família C- linguagem.
O BASIC (Beginner’s All-purpose Symbolic Instruction Code ou, em português, Código de instru-
ção simbólico para todos os fins para iniciantes) é uma linguagem mais simples de desenvol-
vimento. Embora não seja possível desenvolver todos os tipos de aplicativos no Android com 
essa linguagem, ela é um ótimo começo para quem é iniciante e está em busca de uma expe-
riência no desenvolvimento Android (SAMPAIO, 2006).
Além dessa opção, há uma linguagem mais fácil para quem quer desenvolver aplicativos e 
está começando: a LUA. Ela é open source e, atualmente, é muito utilizada para desenvolver 
jogos no Android.
Além dessas linguagens, também há outras de plataforma cruzada que podem ser utilizadas 
no Android. Mas, afinal, o que é plataforma cruzada? É uma estrutura de programação que 
17
possibilita desenvolver apps que funcionem em diferentes sistemas operacionais, ou seja, 
podem funcionar tanto no Android quanto no iOS.
Uma dessas linguagens é a React Native, criada pelo Facebook. Por ser uma linguagem de 
plataforma cruzada, ela é capaz de fazer aplicativos rodarem em diferentes plataformas, for-
necendo uma ótima experiência de desenvolvimento de apps.
Outra linguagem de plataforma cruzada é a linguagem Flutter. Foi desenvolvida pelo Google 
com um SDK para aplicativo móvel, o que torna o aplicativo muito mais fácil de desenvolver 
tendo uma funcionalidade muito boa.
A linguagem Xamarin também é utilizada em plataforma cruzada já que permite o desenvolvi-
mento de aplicativos semelhantes aos nativos. Foi criada em 2011 e, após 5 anos, foi adquirida 
pela Microsoft.
Agora que você conheceu as principais programações para Android, você pode perceber 
como o mercado é amplo e possui muitas possiblidades para serem utilizadas na criação de 
aplicativos.
10 Definição de layouts 
agora, vamos aprender sobre os layouts do Android? Segundo LAYOUTS... (2021, [s. p.]), “O layout 
define a estrutura de uma interface do usuário no aplicativo”. Em regra, os componentes gráficos do 
layout são gerados pelos objetos View e ViewGroup.
FIGURA 5 – LAYOUTS
 
Fonte: Freepik (2021).
18
A interface se destaca pelas seguintes características: durante o seu tempo de compilação, 
cada elemento no arquivo XML fica compilado no Android; são considerados como métodos 
os atributos do XML; e ocupa uma área retangular na tela.
As Views são uma classe de base de todos os elementos visuais do Android, por exemplo, o 
EditText, WebView, TextView e Button, conhecidos popularmente como Widgets (LAYOUTS..., 
2021).
Enquanto as ViewGroups são Views que possuem vários elementos filhos e representam os 
gerenciadores ou controles de layout. Uma das suas funções é definir onde e como os ele-
mentos serão inseridos na tela. Uma ViewGroup pode estar dentro de outra ViewGroup, assim 
como qualquer componente View pode estar dentro da ViewGroup. Em geral, os layouts do 
Android são:
• Relative Layout;
• Frame Layout;
• Linear Layout;
• Gride Layout;
• Table Layout.
Os layouts são configurados através da linguagem XML. Qualquer arquivo em XML da inter-
face Android precisa ter um elemento raiz (View ou ViewGroup), entretanto, não há restrição 
quanto ao número de layouts que podem ser agregados dentro do layout raiz. 
Todo layout do Android possui dois atributos: height (altura) e width (largura). Assim, ao aco-
modar layouts dentro de layouts e inserir Widgets dentro deles é necessário que eles obede-
çam uma hierarquia (LAYOUTS..., 2021). Pense que todo layout obedece o seu “pai”. Assim, 
quando inserimos layouts e Widgets dentro de um layout raiz, eles devem obedecer ao tama-
nho do “pai”.
Os atributos básicos responsáveis por essa configuração são: wrap_content e o match_pa-
rent. O atributo conhecido como wrap_content indica quando o componente pode ser utilizado 
e qual o tamanho suficiente para receber esse conteúdo. Enquanto o atributo match_parent 
indica quando o componente irá utilizar toda a altura e largura do seu “pai” (LAYOUTS..., 2021).
Nota
Os nomes dos arquivos XML devem ser escritos sempre em letras minús-
culas, contendo letras, números ou underline para separar palavras. Nunca 
podem conter letras maiúsculas.
19
11 Desenvolvimento de apps 
para Android
Você sabia que o desenvolvimento de um aplicativo Android envolve entender as necessidades dos 
usuários? Neste tópico, você aprenderá como funciona esse processo.
É necessário que o desenvolvedor tenha uma ideia de qual será a funcionalidade de um aplicativo an-
tes de começar a desenvolvê-lo. Assim, a organização e o esboço são importantes para alcançar bons 
resultados finais e evitar frustrações futuras. Deve-se pensar sobre quais sistemas operacionais o app 
estará disponível, se será gratuito ou pago etc.
Imagine que você trabalha em uma empresa de vendas e precisa criar um app para auxiliar em seus ne-
gócios. É necessário que você faça uma análise criteriosa sobre como divulgar essa ferramenta e alcan-
çar o seu público, por exemplo. Você deve também elaborar um mapa que possua todas as informações 
sobre esse app. Esse mapa deve conter todas as variáveis para a criação dele, como o objetivo final, o 
público-alvo, como será a interface, a experiência do usuário, entre outros.
Existem alguns tipos de apps: os apps nativos, web apps e apps híbridos. Os apps nativos são aqueles 
que são desenvolvidos com exclusividade para um sistema operacional, Android ou iOS, e só irão funcio-
nar nesses sistemas. Por rodarem em apenas um sistema são considerados mais confiáveis e rápidos 
do que outros.
Um web app, na verdade, não é um aplicativo real. Ele é um site que foi desenvolvido para dis-
positivos móveis e possui uma programação que reconhece quando o usuário acessa por um 
smartphone. A partir disso, ele se adapta ao tamanho da tela.
Já os apps híbridos são uma mistura de apps nativos com web apps, devido ao fato de serem 
constituídos de linguagem de programação CSS, Java Script e HTML5, assim como um site 
mobile. Esse código integra as funcionalidades que o dispositivo oferece, tornando a expe-
riência do usuário melhor do que se fosse utilizado apenas um web app, por exemplo.
20
FIGURA 6 – APPS
 
Fonte: Freepik (2021).
 Para desenvolver um aplicativo para Android, é necessário que você tenha familiaridade com códigos 
e linguagens de programação. As linguagens mais comuns que podem ser implantadas são: linguagem 
C, linguagem Java e C++.
A linguagem C é considerada a mãe da programação. Foi desenvolvida na década de 70 e originou ou-
tras linguagens, como a Java. Ela é essencial para jogos gráficos bem realistas e sistemas com muitos 
cálculos.
A linguagem Java é, atualmente, uma das mais utilizadas e preferidas pelos programadores porque é 
muito flexível e compilada, permitindo ser executada em vários navegadores e aparelhos sem browser. 
Além disso, é multiplataforma, motivo pelo qual funciona perfeitamente no Windows e Android.
Por último, temos a linguagem C++ que é uma das mais populares na área de tecnologia por ser mais 
fácil de ser trabalhada, já que possui uma pluralidade de plataformas e possibilita criar aplicativos mais 
simples e, ainda assim, com uma infinidade de funções.
21
Resumo do curso
Neste curso, você aprendeu sobre as principais funcionalidades e recursos utilizados no De-
senvolvimento Android, como a arquitetura da aplicação, os principais widgets, layouts, entre 
outros. Além disso, você também viu que a demanda do desenvolvimento de sistemas mobileestá crescendo cada vez mais e o programador que possui o domínio do Desenvolvimento An-
droid se destacará no mercado, uma vez que esse sistema operacional é considerado o mais 
utilizado no mundo e o líder no desenvolvimento de apps.
22
Referências 
FILHO, O. V. S.; ZARA, P. M. Microsoft.NET: uma visão geral para programadores. São Paulo: 
SENAC São Paulo, 2002.
FRAGMENTOS. Developer Android, [s. l.], 27 dez. 2019. Guia. Disponível em: https://developer.
android.com/guide/components/fragments?hl=pt-br. Acesso em: 8 set. 2021.
HENDRICKS, M. et. al. Profissional Java Web Service. Rio de Janeiro: Editora Alta Books, 2002.
LAYOUTS. Developer Android, [s. l.], 2 fev. 2021. Guia. Disponível em: https://developer.android.
com/guide/topics/ui/declaring-layout. Acesso em: 14 set. 2021.
PUBLICAR o app. Developer Android, [s. l.], 17 ago. 2021. Guia do Usuário. Disponível em: https://
developer.android.com/studio/publish?hl=pt-BR. Acesso em: 8 set. 2021.
SAMPAIO, C. SOA e Web Services em Java. São Paulo: Brasport. 2006.
SOMERA, G. Treinamento profissional em Java: aprenda a programar nesta poderosa lingua-
gem. São Paulo: Digerati Books, 2006.
SOLUÇÃO de problemas e problemas conhecidos do Android Emulator e imagens do sistema. 
Developer Android, [s. l.], 19 jan. 2021. Disponível em: https://developer.android.google.cn/stu-
dio/run/emulator-troubleshooting?hl=pt. Acesso em: 8 set. 2021.
VISÃO geral do widgets de apps. Developer Android, [s. l.], 27 dez. 2019a. Guias. Disponível em: 
https://developer.android.com/guide/topics/appwidgets/overview?hl=pt-br. Acesso em: 7 
set. 2021.
VISÃO geral dos recursos de aplicativo. Developer Android, [s. l.], 27 dez. 2019b. Documentos. Dis-
ponível em: https://developer.android.com/guide/topics/resources/providing=-resources?hl-
pt-br. Acesso em: 8 set. 2021.
https://developer.android.com/guide/components/fragments?hl=pt-br
https://developer.android.com/guide/components/fragments?hl=pt-br
https://developer.android.com/guide/topics/ui/declaring-layout
https://developer.android.com/guide/topics/ui/declaring-layout
https://developer.android.com/studio/publish?hl=pt-BR
https://developer.android.com/studio/publish?hl=pt-BR
https://developer.android.google.cn/studio/run/emulator-troubleshooting?hl=pt
https://developer.android.google.cn/studio/run/emulator-troubleshooting?hl=pt
https://developer.android.com/guide/topics/appwidgets/overview?hl=pt-br
https://developer.android.com/guide/topics/resources/providing-resources?hl=pt-br
https://developer.android.com/guide/topics/resources/providing-resources?hl=pt-br
	1 Introdução
	2 Arquitetura da aplicação android
	2.1 A nova arquitetura recomendada
	2.2 Componentes da arquitetura android 
	2.2.1 Componentes do ciclo de vida
	2.2.2 Componente LiveData
	2.2.3 Componente ViewModel
	2.2.4 Componente Room
	3 Principais widgets para entrada e saída de dados
	3.1 Tipos de widget
	3.1.1 Configuração de widgets
	4 O primeiro passo no mundo da era mobile através do android
	5 Documentação do android e o local de publicação dos apps
	6 Recursos disponíveis no android
	7 Conhecendo os fragments
	8 Solucionando problemas no desenvolvimento android
	9 Linguagens para desenvolvimento android
	10 Definição de layouts 
	11 Desenvolvimento de apps para Android
	Resumo do curso
	Referências

Outros materiais