Android Marcelo Quinta @mrquinta
Oi, eu sou o Marcelo Quinta Pública Público-privada Privada Próprio negócio Voluntariado
Parabéns à organização do GO-GTUG
Tablets 160% de aumento em 2011 Smartphones Aumento de 150% em 2010
Senta que lá vem história 2005 = Google compra a Android Inc. 2007 = Lançamento sobre OHA 2008 = Criação do Android Market Lançamento do HTC G1 2009...2011= Lançamento de novas versões do Android (nomes de doces) e aumento de telefones com tecnologia
O que é o Android Sistema operacional, versão modificada do kernel do Linux; Plataforma para desenvolvimento e execução de programas; Para otimizar a execução das aplicações, foi criada a máquina virtual Dalvik;
Quem faz Android é um projeto de código aberto; Open Handset Alliance (OHA) - 2007 Google; Intel; Acer; Motorola; 400 empresas Samsung; NVidia...
O que é o Android Sistema operacional, versão modificada do kernel do Linux; Plataforma para desenvolvimento e execução de programas; Para otimizar a execução das aplicações, foi criada a máquina virtual Dalvik;
O primeiro Android Pode ser customizado pelas operadoras HTC G1
E a carrada de Androids...
Características Prioridade igualitária para aplicativos nativos e de terceiros; Aplicações desenvolvidas por terceiros tem toda a infra-estrutura de hardware e software disponíveis; Aplicativos nativos do Google, como Google Maps, Calendário, Agenda, Email, Picasa... Marca associada ao Google - relevância;
Características Teclado virtual; Home Screen customizável; Exploração de arquivos facilitada; Gravação e compartilhamento de vídeo; Browser rápido com suporte a padrões estabelecidos; Reconhecimento por voz; Bluetooth e hands-free nativo;
Infra-estrutura de software Sistema operacional; Conjunto de bibliotecas; API Android Runtime; Aplicações nativas; Aplicações diversas
Infra-estrutura de software
Sistema Operacional Kernel Linux, versão 2.6; Escolhido porque é um modelo confiável de suporte aos drivers; Gerenciamento de memória, acesso a rede e gerenciamento de processos;
Infra-estrutura de software
Bibliotecas Conjunto de bibliotecas em C/C++ com funções específicas O desenvolvedor as acessa pelo Android Application Framework; Muitos dizem que aqui mora o poder do Android; SQL Lite, Bibliotecas 3D, LibWebCore, Surface Manager, FreeType...
SGL é usada para o mesmo objetivo, mas imagens 2D; Bibliotecas Surface Manager Responsável pelo desenho das telas no aparelho (display); Pega diferentes telas de diferentes aplicações que estão rodando em diferentes processos e desenha-as em diferentes momentos. Bibliotecas 3D (Open GL / ES e SGL) Bibliotecas baseadas no Open GL/ES 1.0 para aceleração de gráficos 3D em hardware (se estiver presente) no processamento de imagens gráficas;
Bibliotecas Media Framework Baseada em Packet Video s, suporta gravação e execução de mídias. (Ex: H.264, MP3, AAC...); Suporte a estatísticas; FreeType Renderização de fontes com alta qualidade (Bitmap e vetorial);
Bibliotecas SQLite Implementação d eum banco de dados relacional, disponível para todos os aplicativos; WebKit Engine de browser open-source; Mesma engine do Safari, ou seja, a mesma do iphone
Infra-estrutura de software
Android Runtime Bibliotecas básicas do Android (Core Libraries), que utilizam as bibliotecas mencionadas anteriormente; Escritas em Java; Projetada especificamente para atender aos requisitos de ambientes móveis limitados; A Dalvik Virtual Machine executa os.dex, bytecodes gerados à partir de.class e.jar; A conversão dos.class e.jar em.dex resulta em bytecodes otimizados para os aparelhos e seus pequenos processadores e memórias.
Infra-estrutura de software
Application Framework Bibliotecas de alto nível, responsáveis por funções ainda mais específicas no aparelho; Aqui é o nosso negócio; Aplicações escritas pelo google e aplicações escritas por qualquer um; Todas as aplicações usam o mesmo framework e as mesmas APIs;
Application Framework Activity Manager Ciclo de vida das aplicações e comunicação (nível de processo) entre elas; Package Manager Gerenciador de pacotes e capacidades para instalação de aplicativos; Window Manager Gerencia janelas. Telephony manager
Application Framework Content providers Permite às aplicações compartilhar dados com outras View System Botões, Listas, blocos, TextFields... Notification Manager Gerenciamento de dados da aplicação que não são código; Location Manager APIs para localização.
Infra-estrutura de software
Applications Sua aplicação; Contatos; Telefone; Navegador...
Chega de teoria. Eu quero programar!
Organização da aplicação Activity Broadcast Receiver Service Content Provider
Organização da aplicação Activity Parte da interface gráfica, geralmente UMA tela; Se sua aplicação tem três telas, então vão ser ao menos três activities; Broadcast Receiver Classe que intercepta eventos do celular. O conjunto de eventos externos que podem ser os gatilhos (triggers) é aberto e extensível, mas fique esperto com o tempo!
Organização da aplicação Service Classe para fazer tarefas que não precisam estar relacionadas à interface, rodando em background. Content Provider Componente que permite compatilhar alguns dados com outras aplicações
Por onde eu começo?
Desenvolvimento Android Requisitos computacionais SDK Android; IDE; Requisitos não tecnológicos Tirar da cabeça que vou programar para um computador; Criatividade na aplicação.
SDK Android http://developers.android.com
SDK Android
Configurando o Ambiente Configurar as ferramentas para que elas trabalhem em conjunto; 1. Abrir a pasta onde o SDK foi descompactado; 2. Executar a aplicação de configuração do Android 1. No Windows: setup.exe; 2. No Linux e OS X: android 3. Instalar todos os pacotes diponiveis Accept-All 1. Selecionar a categoria available package e selecionar a url do repositório (lado direito) e mandar Install selected
Configurando o Ambiente
Configurando o Ambiente
Virtual Device Criar um Android Virtual Device 1. Vá a categoria Virtual Devices 2. Escolha New 3. De um nome ao seu AVD 4. Insira as caracteristicas 5. Create AVD Se der tudo certo ele te avisa com um JOptionPane.
Configurando o Ambiente
E a IDE?
Netbeans www.netbeans.org
Eclipse
Motodev Studio
Adicione a plataforma!
Plugin Netbeans
Plugin Netbeans
Plugin Netbeans
Adicionar plataforma Ferramentas > Plataformas Java
Adicionar plataforma Ferramentas > Plataformas Java
Adicionar plataforma Encontrar onde a pasta do Android está
Adicionar plataforma Escolher a versão e Finish!
Dinheiro
Android Market Apps Stores Independentes Mercado local http://www.slideshare.net/research2guidance/androidmarket-monitor-may-2011 Não pense somente em aplicações pagas
Razões para escolher Android
Razões para escolher Android Android tem a maior quantidade de aplicações, e subindo... iphone tem maior volume de dinheiro rodando (até onde eu sei) Android é pautado sobre o software livre, ao contrário do criticado ios; O ios 5 já está começando a ter que correr atrás do Android; Android não é exclusivo a um hardware; Desenvolvimento para iphone só com Mac*; $25 para subir apps, enquanto para ios é $99; Processo de up do Android Market é MUITO mais simples do que na App Store da Apple; Com Android, podemos instalar apps via internet, em sites comuns; JAVA é mais fácil de aprender do que Objective-C.
Android x Windows Phone Conheça a cabeça de bacalhau e o Windows Phone
marceloricardoquinta@gmail.com www.marceloquinta.com.br/blog @mrquinta