O que é Android?
O Android é uma plataforma de software que permite criar aplicativos para dispositivos
móveis, como smartphones e tablets.
O Android foi desenvolvido pela Google™, e posteriormente pela OHA (Open Handset
Alliance), uma organização que une várias empresas com o objetivo de criar padrões
abertos para dispositivos móveis.
O que eu preciso para desenvolver para Android?
Uma das vantagens de desenvolver para o Android é que as ferramentas e programas necessários
são todos gratuitos e disponíveis para todos os sistemas operacionais (OS X, Windows™ e Linux).
Para começar a programar para o Android é necessário conhecer (ou aprender) a linguagem Java,
pois foi a linguagem escolhida pela Google™.
Entre as ferramentas que você precisa instalar estão:
• JDK - como o Android faz uso da tecnologia Java, é necessário ter o Java Development Kit
instalado.
• Android Studio - a IDE que será utilizada para o desenvolvimento para o Android.
• Android SDK - que inclui as bibliotecas e várias ferramentas, como o emulador, por
exemplo. Iremos também criar um emulador para rodar os nossos programas.
O que eu preciso para desenvolver para Android?
Você não é obrigado a ter um aparelho com Android.
O SDK inclui um emulador que permite rodar as aplicações desenvolvidas. Porém, é altamente
recomendado que se rode a aplicação em um aparelho de verdade, antes de liberar o aplicativo no
Google Play, a loja de aplicativos do Android.
OBS:
Um aplicativo Android é um arquivo com extensão .apk, que basicamente é um pacote que
contém o código compilado e os demais recursos, como XMLs e imagens.
Preparando o ambiente para a programação em Android
Java – JDK
Vamos começar pelo Java.
Para desenvolver aplicações Java, o programador deve instalar em sua máquina um Java
Development Kit (JDK).
Um JDK contém diversas ferramentas utilizadas na criação de um programa Java.
Mostraremos a seguir como instalar um JDK no sistema operacional Windows.
1ª Etapa: Faça o download do JDK da Oracle através do link :
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Após entrar neste link clique no ícone indicado com setas vermelhas como mostra a imagem
abaixo :
Java Platform (JDK) 8u73 / 8u74 NetBeans with JDK 8
Preparando o ambiente para a programação em Android
Java – JDK
2ª Etapa: Aceite o Acordo de Licença e então escolha a versão adequada para o seu Windows.
Preparando o ambiente para a programação em Android
Java – JDK
Após o download da JDK, clique no arquivo baixado e acompanhe a instalação.
Quando for indicado o local de instalação do Java, anote este local, pois ele será necessário para
algumas configurações.
Preparando o ambiente para a programação em Android
Java – JDK
3ª Etapa: Agora iremos configurar algumas variáveis de ambiente do Windows.
Clique em “Este Computador” ou “Meu Computador” com o botão direito e, no menu de contexto que vai
aparecer, clique em “Propriedades”. Na janela seguinte, clique em “Configurações avançadas do Sistema”.
Preparando o ambiente para a programação em Android
Java – JDK
Na janela que se abre, selecione a aba “Avançado”
e em seguida clique em “Variáveis de Ambiente”.
Preparando o ambiente para a programação em Android
Java – JDK
A janela que se abriu possui dois ambientes de configuração: “Variáveis de Usuário” e “Variáveis do Sistema.”
Variáveis de Usuário
Variáveis do Sistema
Preparando o ambiente para a programação em Android
Java – JDK
4ª Etapa: Clique na opção “Novo...” em Variáveis de Sistema e vamos acrescentar duas novas variáveis de Ambiente.
Repita o procedimento para a criação da variável “CLASSPATH”
O valor será: “.;%JAVA_HOME%”
Preparando o ambiente para a programação em Android
Java – JDK
Obs: Antes do ponto-e-vírgula tem um ponto.
Criação da variável “JAVA_HOME”
O valor da variável será o local onde a JDK foi instalada.
5ª Etapa: Selecione a variável “Path” em Variáveis do Sistema e em seguida a opção “Editar...”.
Depois clique em “Novo” para acrescentar uma entrada à variável “Path”.
Acrescente a entrada: “%JAVA_HOME%\bin”
Preparando o ambiente para a programação em Android
Java – JDK
6ª Etapa: Verificar se a JDK foi corretamente instalada.
Abra o “Prompt de Comando” e digite o comando: javac –version
Se tudo estiver correto, na linha de baixo aparecerá a versão instalada do Java.
Preparando o ambiente para a programação em Android
Java – JDK
Preparando o ambiente para a programação em Android
Android Studio – SDK
Vamos agora realizar a instalação do Android
Studio.
Para adquirir o Android Studio, devemos
acessar o site:
https://developer.android.com/sdk/index.html
Na página que se abre, click em baixar o
Android Studio.
Preparando o ambiente para a programação em Android
Android Studio – SDK
Na página seguinte, aceite o termo de
compromisso e click para baixar o Android
Studio.
Será feito o download do instalador. Após o
download, execute-o.
Preparando o ambiente para a programação em Android
Android Studio – SDK
Vá seguindo normalmente o procedimento de instalação.
Mantenha marcado os dois componentes listados.
Preparando o ambiente para a programação em Android
Android Studio – SDK
Aceite a licença e click em next.
Escolha onde deseja instalar a aplicação e o SDK e em seguida aguarde enquanto é feita a instalação do Android Studio e
do SDK.
Preparando o ambiente para a programação em Android
Android Studio – SDK
Ao terminar a instalação vamos iniciar a execução do Android Studio clicando em Finish.
Se você estiver atualizando o Android Studio e tiver configurações já pré-definidas, marque a primeira opção, caso
contrário, mantenha a segunda opção marcada e click em OK.
Preparando o ambiente para a programação em Android
Android Studio – SDK
Siga as telas seguintes clicando em Next.
Preparando o ambiente para a programação em Android
Android Studio – SDK
Se o Android Studio não tiver encontrado o SDK, informe o local da instalação.
Após verificar as configurações, click em Finish.
Preparando o ambiente para a programação em Android
Android Studio – SDK
O Android Studio fará a atualização de alguns componestes. Quando a atualização terminar, click em Finish.
Finalmente chegamos na tela de abertura do Android Studio.
Vamos agora configurar o SDK para baixar as informações referente a API 19, (Android 4.4 KitKat).
Click em Configurações e em seguida, no menu que aparece, SDK Manager.
Preparando o ambiente para a programação em Android
Android Studio – SDK
• Marcar a opção “Show Package Details”
• Rolar a barra de rolagem até o Android 4.4 (KitKat) API 19 e marcar todos os seus itens.
• Em seguida clicar em “Apply”.
• Na tela seguinte é apresentado um
resumo das atualizações.
• Confirme clicando em OK.
Preparando o ambiente para a programação em Android
Android Studio – SDK
Em seguida aceite todas as licenças e então click em Next.
Preparando o ambiente para a programação em Android
Android Studio – SDK
Aguarde até o final da atualização e então click em “Finish”
Em seguida, click em “OK” na janela do gerenciador do SDK.
Preparando o ambiente para a programação em Android
Android Studio – SDK
Voltamos para a tela inicial do Android Studio.
Preparando o ambiente para a programação em Android
Android – AVD
Agora vamos criar a AVD (Android Virtual Device – Dispositivo Virtual Android).
Para acessar o gerenciador da AVD (AVD Manager), é preciso estar com um projeto aberto.
Se for a sua primeira vez com o Android Studio, provavelmente você terá que criar um projeto novo.
Se não souber como criar, aguarde que mais a frente explicaremos como criar um projeto e então
retorne a esta etapa para concluir a criação da sua AVD.
Preparando o ambiente para a programação em Android
Android – AVD
Na tela do projeto, click no
ícone do AVD Manager.
Preparando o ambiente para a programação em Android
Android – AVD
Será aberta a janela do AVD
Manager.
Será apresentada a lista de AVDs já
criadas.
Se for a sua primeira vez, não haverá
AVDs listadas.
Vamos criar um nova AVD.
Click em Create Virtual Device.
Preparando o ambiente para a programação em Android
Android – AVD
Na janela que se abre, escolha a opção
“Galaxy Nexus”.
Em seguida click em Next.
Preparando o ambiente para a programação em Android
Android – AVD
Na nova janela, vá na aba “Other Images”.
Selecione “KitKat” como mostra a figura ao
lado.
Em seguida click em Next.
Preparando o ambiente para a programação em Android
Android – AVD
Escolha um nome para a sua AVD.
Em seguida click em Finish.
Preparando o ambiente para a programação em Android
Android – AVD
Sua AVD estará agora presente na
lista de AVDs.
Click na seta verde para executar a
AVD.
Preparando o ambiente para a programação em Android
Android – AVD
O emulador será inicializado.
Tenha paciência, pois a sua inicialização é um pouco lenta.
Em seguida, arraste
o cadeado para o
lado para abrir a
AVD.
Arquitetura Geral da Plataforma Android
O Sistema Operacional Android é baseado no Linux.
As aplicações para Android são desenvolvidas através da linguagem Java.
As Interfaces Visuais podem ser criadas através de arquivos .xml, o que simplifica
consideravelmente o processo de desenvolvimento.
Para otimizar a execução de aplicações mobile desenvolvidas em Android, este utiliza uma
máquina virtual chamada Dalvik, que foi projetada para otimizar a memória e os recursos de
hardware em um ambiente que pode ser bastante limitado.
Por este motivo, as aplicações desenvolvidas para a plataforma Android possuem a extensão .dex,
que significa Dalvik Executable, fazendo uma referência à máquina virtual Dalvik.
Arquitetura Geral da Plataforma Android
No que diz respeito à infraestrutura do software, o Android consiste de uma pilha que engloba:
• Um sistema operacional baseado em Linux;
• Um conjunto de bibliotecas;
• Uma API chamada Android Runtime;
• As aplicações preexistentes no Android;
• Aplicações diversas.
A figura a seguir ilustra essa organização.
Arquitetura Geral da Plataforma Android
Na figura abaixo temos as diversas camadas da Arquitetura Android.
Arquitetura Geral da Plataforma Android
Linux Kernel Esta camada contém o
núcleo do Sistema Operacional que,
como já mencionamos, é baseado no
Linux.
Esta camada é responsável pelo
gerenciamento do hardware do seu
dispositivo, permitindo que as diversas
aplicações tenham acesso ao hardware
de forma organizada.
Arquitetura Geral da Plataforma Android
Libraries (Bibliotecas) O Android nos
fornece um conjunto de bibliotecas C/C++
utilizadas por vários componentes do sistema.
Veja algumas das bibliotecas:
System C library (libc): Consiste em uma
implementação derivada da biblioteca C
padrão.
Surface Manager: Responsável pelo acesso
ao subsistema de exibição bem como as
múltiplas camadas de aplicações 2D e 3D.
FreeType: Biblioteca responsável pela
renderização de fontes bitmap e vetoriais.
SQLite: Consiste no sistema gerenciador de
banco de dados (SGBD) relacional disponível
para todas as aplicações.
Arquitetura Geral da Plataforma Android
Media Framework: São as bibliotecas que
suportam os mais diversos formatos de áudio e
vídeo, incluindo também imagens.
WebKit: Consiste em um web browser engine
utilizado tanto no Android Browser quanto
para exibições web.
SGL: O engine de gráficos 2D.
OpenGL | ES: Uma implementação baseada
no OpenGL ES 1.0 APIs. As bibliotecas
utilizam aceleração 3D via hardware (quando
disponível) ou o software de renderização 3D
altamente otimizado incluído no Android.
SSL: Permite uma comunicação segura pela
rede.
Etc…
Arquitetura Geral da Plataforma Android
Android Runtime Representa os
componentes básicos para a execução das
aplicações Android.
Core Libraries: O Android é constituído por
um conjunto de bibliotecas que fornece a
maioria das funcionalidades disponíveis nas
principais bibliotecas da linguagem Java.
Dalvik Virtual Machine: Toda aplicação
Android roda em seu próprio processo, com
sua própria instância da máquina virtual
Dalvik. O Dalvik foi escrito de forma a
executar várias VMs eficientemente. Ele
executa arquivos .dex, que é otimizado para
consumo mínimo de memória.
Arquitetura Geral da Plataforma Android
Aplication Framework São bibliotecas de
mais alto nível, responsáveis por funções
específicas no aparelho como:
• Gerenciamento de Janelas;
• Gerenciamento de Recursos;
• Gerenciamento de Notificações;
Etc....
Aplications São as diversas aplicações que
são executadas no dispositivo.
Componentes de um Projeto Android
Activity
O componente mais importante na aplicação Android é a Classe Activity.
Uma Activity é basicamente uma classe gerenciadora de UI (User Interface – Interface com o
Usuário).
Todo aplicativo Android começa por uma Activity, ou seja, quando uma aplicação Android é
executada, na verdade é a sua Activity principal que é lançada.
Para entendermos melhor o funcionamento da Activity, devemos conhecer seu ciclo de vida.
A Activity é Iniciada
onCreate( )
onStart( )
onResume( )
A Activity está em Foco
Quando uma tela é acionada, o
primeiro método no ciclo a ser
chamado é o onCreate( ).
Sua principal função, além de criar
a Activity, costuma ser a de
apresentar a(s) tela(s) associada(s)
à Activity.
Após a execução do método
onCreate( ), outros dois métodos
são executados: onStart( ) e
onResume( ).
onStart( ) É chamada imediatamente após a
onCreate( ), e também quando uma Activity que
estava em background volta a ter foco.
onResume( ) Assim como a onStart( ), é
chamada na inicialização da Activity (logo após a
própria onStart( )) e também quando uma Activity
volta a ter foco.
Qual a diferença entre as duas?
A onStart( ) só é chamada quando a Activity não
estava mais visível na tela e volta a ter o foco,
enquanto a onResume( ) sempre é chamada nas
“retomadas de foco”.
Após onResume( ), a Activity passa a estar no foco
do usuário, isto é, visível e com seus componentes
visuais ativos para interagir.
Ciclo de Vida de uma Activity
A Activity é Iniciada
onCreate( )
onStart( )
onResume( )
A Activity está em Foco
onPause( )
A Activity vai
para Foreground
Outra Activity vem a frente
Ciclo de Vida de uma Activity
Uma vez que a Activity está em foco, é possível
que uma outra Activity a sobreponha parcialmente.
Neste caso, ela perde o foco e o método onPause( )
é chamado colocando-a em pausa.
Quando a Activity que a sobrepôs for fechada, a
anterior volta para foreground e o método
onResume( ) é chamado para que ela volte ao foco.
O Sistema precisa
de mais Memória
O Processo é Destruído
O Usuário Reabre a Activity
Enquanto a Activity estiver em pausa, se o sistema
precisar de memória ele pode destruí-la.
Neste caso, quando o usuário reabrir a Activity, ela
deverá ser novamente criada retornando ao método
onCreate( ).
A Activity é Iniciada
onCreate( )
onStart( )
onResume( )
onRestart( )
A Activity está em Foco
onPause( )
A Activity não é mais visível
onStop( )
O Sistema precisa
de mais Memória
O Processo é Destruído
O Usuário Reabre a Activity
A Activity vai
para Foreground
A Activity vai
para Foreground
Outra Activity vem a frente
Ciclo de Vida de uma Activity
Caso a Activity se torne completamente
invisível, ela é paralisada chamando o
método onStop( ).
Neste caso, quando for para retornar ao
foco, o método onRestart( ) deve ser
chamado seguido do onStart( ).
Da mesma forma que no onPause( ), se
o sistema precisar de memória ele
poderá destruir a Activity, tendo que
chamar onCreate( ) para reativá-la.
A Activity é Iniciada
onCreate( )
onStart( )
onResume( )
onRestart( )
A Activity está em Foco
onPause( )
A Activity não é mais visível
onStop( )
onDestroy( )
A Activity é destruída
O Sistema precisa
de mais Memória
O Processo é Destruído
O Usuário Reabre a Activity
A Activity vai
para Foreground
A Activity vai
para Foreground
Outra Activity vem a frente
Ciclo de Vida de uma Activity
A última função a ser executada é a onDestroy( ).
Depois dela, a Activity é considerada “morta”, ou seja,
não pode mais ser relançada. Se o usuário voltar a
requisitar essa Activity, outro objeto será construído.