Prof: Ricardo Quintão email: ricardo.quintao@uva.br 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 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.
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 Sistema 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 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
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 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.
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.
Android Studio SDK Váseguindo normalmente o procedimento de instalação. Mantenha marcado os dois componentes listados.
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.
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.
Android Studio SDK Siga as telas seguintes clicando em Next.
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.
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 doandroid 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.
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.
Android Studio SDK Em seguida aceite todas as licenças e então click em Next.
Android Studio SDK Aguarde até o final da atualização e então click em Finish Emseguida, click em OK na janela do gerenciador do SDK.
Android Studio SDK Voltamos para a tela inicial do Android Studio.
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.
Android AVD Na tela do projeto, click no ícone do AVD Manager.
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.
Android AVD Na janela que se abre, escolha a opção Galaxy Nexus. Em seguida click em Next.
Android AVD Na nova janela, vá na aba Other Images. Selecione KitKat como mostra a figura ao lado. Em seguida click em Next.
Android AVD Escolha um nome para a sua AVD. Em seguida click em Finish.
Android AVD Sua AVD estará agora presente na lista de AVDs. Click na seta verde para executar a AVD.
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.
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: ricardo.quintao@uva.br Site: www.rgquintao.com.br