Prof: Ricardo Quintão email: rgquintao@gmail.com Site: www.rgquintao.com.br
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 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. Eclipse e ADT Plugin - a IDE que será utilizada e o plugin para facilitar o desenvolvimento para o Android. O uso do eclipse e do plugin não é obrigatório, mas é altamente recomendado, por diminuir as tarefas repetitivas.
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.
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.
Java JDK 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
Java JDK 2ª Etapa: Aceite o Acordo de Licença e então escolha a versão adequada para o seu Windows.
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.
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.
Java JDK Na janela que se abre, selecione a aba Avançado e em seguida clique em Variáveis de Ambiente.
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
Java JDK 4ª Etapa: Clique na opção Novo... em Variáveis de Usuário e vamos acrescentar duas novas variáveis de Ambiente. Criação da variável JAVA_HOME O valor da variável será o local onde a JDK foi instalada. Repita o procedimento para a criação da variável CLASSPATH O valor será:.;%java_home% Obs: Antes do ponto-e-vírgula tem um ponto.
Java JDK Após estes procedimentos, a janela de Variáveis de Ambiente estará semelhante a da figura ao lado, contendo agora as duas variáveis que acabamos de criar. Obs: Os valores utilizados nas variáveis de ambiente podem variar de acordo com a versão do Java que está sendo instalada.
Java JDK 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: C:\Program Files\Java\jdk1.8.0_74\bin Obs: O valor utilizado deve ser da pasta onde foi instalada a JDK. Confira no seu computador onde esta pasta se encontra.
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.
Android SDK Vamos agora realizar a instalação do Android SDK. Para adquirir o Android SDK, devemos acessar o site: https://developer.android.com/sdk/index.html Role a página até chegar em Other Download Options na opção SDK Tools Only Escolha a opção para Windows, preferencialmente a versão executável.exe, que possui um instalador facilitando o processo.
Android SDK Após a instalação do Android SDK, devemos instalar os seus componentes. Vá até o Menu Iniciar Todos os Aplicativos Android SDK Tools SDK Manager.
Android SDK Na janela que surge, devemos marcar algumas API. Marque: Android 4.1.2 (API 16) Android 4.4.2 (API 19) Android 6.0 (API 23) Após marcar todas as opções, clique em Install package.... Durante a instalação, serão solicitadas diversas confirmações de acordo de licença. Aceite todas elas e continue a instalação.
Android AVD Agora vamos criar a AVD (Android Virtual Device Dispositivo Virtual Android). Vá até o Menu Iniciar Todos os Aplicativos Android SDK Tools AVD Manager.
Android AVD Na janela que surge, devemos clicar em Create....
Android AVD Na janela seguinte, devemos preencher com os dados daavd. Preencha de acordo com a figura ao lado e, em seguida, clique em OK. Em seguida aparecerá um resumo da máquina criada. É só clicar em OK.
Android AVD O nosso emulador já aparece na lista, como mostra a figura abaixo. Clique no emulador recém criado e depois em Start..., para executá-lo. Na tela seguinte clique em Launch.
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.
Android AVD Pronto!!! Sua AVD já está funcionando e pronta para ser usada.
Android AVD Usando a combinação Ctrl + F11, é possível virar o dispositivo. Ctrl + F11 Ctrl + F11
Eclipse Vamos agora realizar a instalação do Eclipse. O Eclipse é um IDE (Integrated Development Environment Ambiente de Desenvolvimento Integrado) que facilitará bastante a programação, já que ele oferece uma interface bem interativa para a montagem da aplicação Para adquirir o Eclipse, devemos acessar o site: http://www.eclipse.org/downloads/ Baixe a versão adequada do instalador referente ao seu Sistema Operacional (32 bits ou 64 bits) e execute-o. O instalador irá apresentar as versões do Eclipse. É só escolher a versão para Java, como por exemplo Eclipse IDE Java for Developers.
Eclipse ADT Plugin Vamos instalar agora o ADT Plugin no Eclipse. Abra normalmente o Eclipse. Escolha o local do Workplace e quando e Eclipse abrir, selecione: Help Install new software. Irá aparecer uma nova janela, clique no botão add.
Eclipse ADT Plugin Irá aparecer outra janela, preencha como no exemplo abaixo: Name: ADT Plugin Location: https://dl-ssl.google.com/android/eclipse/ Obs: Não se esqueça da última barra, caso contrário o Eclipse não encontrará o Plugin.
Eclipse ADT Plugin Marque todas as opções como mostra a figura ao lado. Para garantir que os pacotes aparecerão, desmarque a opção Hide item that are already installed. Clique em Next > e em seguida marque a opção em que aceita a licença e siga a instalação. É provável que após a instalação seja necessário reiniciar o Eclipse.
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.
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. Arquitetura Geral da Plataforma Android
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.
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( ). A Activity é Iniciada oncreate( ) onstart( ) onresume( ) A Activity está em Foco Ciclo de Vida de uma Activity 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.
A Activity é Iniciada oncreate( ) Ciclo de Vida de uma Activity O Usuário Reabre a Activity onstart( ) onresume( ) O Processo é Destruído O Sistema precisa de mais Memória A Activity está em Foco Outra Activity vem a frente onpause( ) A Activity vai para Foreground 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. 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( ) Ciclo de Vida de uma Activity O Usuário Reabre a Activity onstart( ) onresume( ) onrestart( ) O Processo é Destruído O Sistema precisa de mais Memória A Activity está em Foco Outra Activity vem a frente onpause( ) A Activity não é mais visível onstop( ) A Activity vai para Foreground A Activity vai para Foreground 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( ) Ciclo de Vida de uma Activity O Usuário Reabre a Activity onstart( ) onresume( ) onrestart( ) O Processo é Destruído O Sistema precisa de mais Memória A Activity está em Foco Outra Activity vem a frente onpause( ) A Activity não é mais visível onstop( ) ondestroy( ) A Activity é destruída A Activity vai para Foreground A Activity vai para Foreground 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.
Prof: Ricardo Quintão email: rgquintao@gmail.com Site: www.rgquintao.com.br