Você está na página 1de 39

Aula 01 - Introdução

ao Android

Prof. Dr. Jucimar Souza


jucimar.souza@ifam.edu.br
Introdução
◼ O Android é uma plataforma para
desenvolvimento e execução de programas
para dispositivos móveis, robusta e de fácil
utilização/aprendizagem.
◼ Os programadores de outras linguagens é
uma tarefa simples:
◼ Java ME, Windows Mobile, Windows Phone, iOS e
outros
◼ Utiliza a linguagem Java
◼ Utiliza XML para desenvolver interface visual
Introdução
◼ A grande aposta do Android
◼ Novos aparelhos celulares : Smartphones
◼ Grande poder de processamento e integram vários recursos:
Internet, GPS, sensores, telas sensíveis ao toque

◼ As aplicações móveis em Android utilizam a


máquina virtual Dalvik.
◼ Otimiza memória e recursos de hardware em ambiente
bastante limitado
◼ Programas possuem a extensão .dex que significa
Dalvik Executable
Breve Histórico
◼ O Android foi desenvolvido pela Android
Inc.
◼ Adquirida pela Google em 2005
◼ Hoje é de responsabilidade da Open
Handset Alliance(OHA), fundada em 2007
◼ Uniram-se para fomentar o crescimento da
plataforma
◼ Google, Intel, Acer, Motorola, Asus, DoCoMo,
HTC, Huawei, Kyocera, T_Mobile, LG, Samsung,
Vodafone, SonyEricsson, Qualcomm e NVidia
Breve Histórico (2)
◼ Primeiro dispositivo
móvel Android
Enabled, o HTC T-
Mobile, lançado em
2008
◼ Após este
lançamento inúmeros
aparelhos vem sendo
lançado com
diversos recursos.
Breve Histórico (3)
◼ Tem a prioridade igualitária para
aplicativos nativos e de terceiros
◼ As aplicações de terceiros dispõem de
toda a infraestrutura de hardware e
software
◼ Google Maps, Calendário, Agenda e outros
◼ Existe uma forte ligação entre a
plataforma de desenvolvimento e o
sistema operacional
A Plataforma Android
◼ Pilha de Software que engloba:
◼ SO baseado em Linux, conjunto de
bibliotecas, API chamada Android Runtime,
aplicações preexistentes no Android e
aplicações diversas
◼ Android SDK para criação de aplicativos
◼ Bibliotecas & Ferramentas de Desenvolvimento
◼ Lista muito grande de documentação.

◼ Acesse:
http://developer.android.com/training/index.html
Infraestrutura de Software
Kernel Linux
◼ Responsável pelas tarefas de:
◼ Gerenciamento de memória
◼ Acesso a rede

◼ Gerenciamento de processos

◼ Segurança

◼ Fazer a comunicação entre o software


desenvolvido e o hardware do dispositivo
Infraestrutura do Android
Bibliotecas (Libraries)
◼ Conjunto de bibliotecas C/C++ usadas
por diversos componentes do Android e
possuem funções específicas.
◼ Acessada pelos desenvolvedor através do
Android Application Framework
◼ Entre as bibliotecas:
◼ SQLite – banco de dados relacional
◼ 3D Lib – baseada no OpenGL

◼ Media Lib – baseada em PacketVideo’s


OpenCORE
◼ Entre outras
Infraestrutura do Android
Android Runtime
◼ Compreende as bibliotecas básicas do
Android (core libraries) que são
utilizadas pelas bibliotecas mencionadas
anteriormente
◼ Dois componentes principais:
◼ Bibliotecas Principais do Java (Core Java)
◼ Máquina Virtual Dalvik
Core Java Libraries

◼ Basic java classes -- java.*, javax.*


◼ App lifecycle -- android.*
◼ Internet/Web services -- org. *
◼ Unit testing -- junit.*
Maquina Virtual Dalvik
◼ Workflow Típico
◼ Aplicação escrita em Java
◼ Compila para um arquivo bytecode Java

◼ dx converte o arquivo bytecode Java para


um arquivo dex bytecode (classes.dex)
◼ Dalvik executa o arquivo bytecode dex
Maquina Virtual Dalvik
◼ Projetada para ambientes de recursos
limitados
◼ CPU Lenta
◼ Pouca memória RAM
◼ Tempo de bateria limitada
Maquina Virtual Dalvik
◼ Caso queira conhecer com mais
detalhes veja o video:
◼ Dalvik VM Internals by Dan Bornstein

http://www.youtube.com/watch?v=ptjedOZ
EXPM
Infraestrutura do Android
Application Frameworks
◼ São bibliotecas de mais alto nível,
responsáveis por funções específicas no
aparelho:
◼ Gerenciamento de Janelas
◼ Recursos disponíveis

◼ Notificações
Infraestrutura do Android
Aplicações (Application)
◼ São ferramentas comuns a todos os
usuários de celulares e smartphones
◼ Aplicações padrões incluem:
◼ Home – Tela principal
◼ Contatos – banco de contatos

◼ Telefone – discar para números de telefone

◼ Browser – visualizar páginas web

◼ Leitor de Email – composição & leitura de


mensagens de email
◼ Você pode substituir estas aplicações por
outras
Ambiente de
Desenvolvimento
◼ Principais IDEs:
◼ Eclipse
◼ Facilidade no gerenciamento de Plugins
◼ Excelente editor de códigos

◼ Google e principal site de desenvolveres


Android (developer.android.com) apoiam o uso
desta IDE
◼ Netbeans
◼ Facilidade de Uso
◼ Pioneira em ambientes visuais de
desenvolvimento mobile
Ambiente de
Desenvolvimento
◼ Principais IDEs:
◼ IntelliJ IDEA
◼ Recentemente anunciada pela Google
◼ Android Studio baseou-se nesta IDE

◼ http://www.jetbrains.com/idea/features/andr
oid.html
Ambiente de
Desenvolvimento
◼ Principais IDEs:
◼ Android Studio
◼ IDE oficial para desenvolvimento de aplicativos
Android, baseado no IntelliJ IDEA.
◼ http://developer.android.com/tools/studio/in
dex.html
◼ Vamos usar a IDE Android Studio
Intalando o Ambiente de
Desenvolvimento
◼ Instale o JDK (Kit de desenvolvimento
padrão do Java)
◼ http://www.oracle.com/technetwork/pt/java/j
avase/downloads/index.html?ssSourceSiteI
d=otnes
Instalando o Android SDK e
o ADT Bundle
◼ O ADT Bundle traz uma estrutura de
pastas prontas para uso, incluindo o SDK
e o Eclipse. Baixe a ferramenta em:
◼ http://developer.android.com/sdk/installing/bu
ndle.html
◼ Após baixar um arquivo .zip. Basta
desempacotar na pasta desejada. Dentro do
pacote encontra-se duas pastas (Eclipse e
SDK) e um arquivo SDKManager.
◼ Feito isso, o ambiente está pronto
Atualizando o Android SDK
◼ Execute o SDKManager.exe para abrir o
Gerenciador do Android SDK
Atualizando o Android SDK
◼ Deve-se escolher somente os pacotes
necessários para o desenvolvimento
◼ O pacote tools traz as ferramentas para
fazer testes com o emulador de dispositivo
Android e outros pacotes trazem versões
do Android.
◼ Para instalar o Android 2.1, também chamado
de API7, deve ser marcado e depois clique em
Install
Atualizando o Android SDK
◼ Cada plataforma deve ultrapassar
100MB, por isso, instale somente o que
você precisar.
◼ Aconselhável instalar as versões 2.3 (tem o
maior Market share) e a 4.4(por ser uma
das últimas)
Versões do Android
Estrutura de Pastas do
Android SDK
◼ O diretório
platforms contém
todas as
plataformas
baixadas no
Android SDK
Criando um Android Virtual
Device
◼ O Android Virtual Device (AVD) é um emulador
para um aparelho Android.
◼ Simula um dispositivo Android real
◼ Define opções de Hardware e Software
◼ Alguns pontos negativos:
◼ Pode ser muito lento
◼ Algumas características não estão disponíveis
◼ Suporte a Bluetooth
◼ Conexão USB
◼ Pode emular características de usuários
◼ Velocidade de Rede / Bateria / Coordenadas de localização
Criando um AVD
◼ Dentro do diretório onde está instalado o
Android SDK e execute o AVDManager.exe
Criando um AVD
◼ Clique na opção
New... e informe
as
características
do dispositivo
◼ AVD Name
◼ Device: alguns
device pré-
configurados
◼ Target: versão
do Android a ser
emulada
Criando um AVD
◼ CPU/ABI: CPU a ser emulada.
◼ Keyboard: Indica se existirá teclado físico no
dispositivo Android.
◼ Skin: Indica se as teclas de hardware (Voltar,
home e Menu) serão apresentadas
◼ FrontCamera e BackCamera: permite simular os
recursos de câmeras frontais e atrás do aparelho
◼ Memory Option: Valores de memória RAM
◼ Internal Storage: Simula o tamanho do
armazenamento interno do dispositivo emulado
◼ SD Card: informa sobre o suporto cartão de
memória que esteja conectado ao emulador.
Criando um AVD
◼ Clique em start para que o emulador
que você configurou seja executado:
Outras Opções de IDEs para
Desenvolvimento Android
◼ IDE Motodev Studio
◼ http://www.motorola.com/us/Motorola-
Developers/motorola-developers.html
◼ Ambiente personalizado pela Motorola para
desenvolvimento Android
◼ Download Gratuito – necessário fazer
cadastro no portal
Outras Opções de IDEs para
Desenvolvimento Android
◼ IntelliJ IDEA
◼ http://www.jetbrains.com/idea/features/andr
oid.html
◼ Possui uma versão Community gratuita

◼ Ambiente Visual de desenvolvimento


◼ Clicar e Arrastar
◼ Debug Simples com mensagens intuitivas
com os tipos e locais de erro.
Dúvidas ??

Você também pode gostar