Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
ANDROID: CONCEITOS, VERSÕES E FERRAMENTASME. MARCELO AIRES
Agenda▸ Introdução▸ Características do Android▸ Arquitetura do Android▸ Versões do Android▸ Ferramentas para o desenvolvimento▸ Pacotes do Android▸ Recursos e Permissões
2
3
“ Android é um sistema operacional (SO) baseado no núcleo (Kernel) Linux e atualmente é desenvolvido pela empresa de tecnologia Google.
4
Introdução▸ Foi desenvolvido pela Android, Inc. e adquirida pelo Google em 2005;▸ Em 2007, foi formada a Open Handset AllianceTM (HTC, Sony e
Samsung) – que agora tem 84 membros para desenvolver, manter e aprimorar o Android, trazendo inovação para a tecnologia móvel, melhorando a experiência do usuário e reduzindo os custos.
5
Introdução▸ Foi projetado principalmente para dispositivos móveis com tela
sensível ao toque como smartphones e tablets;▸ Utilizado atualmente em TV (Android TV), carro (Android Auto) e relógio
de pulso (Android Wear);▸ Utiliza-se da tela sensível ao toque para manipulação de objetos
virtuais e um teclado virtual;▸ Também é utilizado em consoles de videogames, câmeras digitais,
computadores, satélites da NASA, e-readers, robôs, motores a jato, geladeiras, equipamentos voltados à saúde e muitos outros.
6
Introdução▸ Primeira geração foi lançada em outubro de 2008;▸ Em outubro de 2013, já tinha 81,3% da fatia de mercado global de
smartphones (13,4% da Apple, 4,1% da Microsoft e 1% do Blackberry);▸ 56,5% em tablets (39,6% do iPad e 3,7% Windows);▸ Na conferência anual Google I/O de 2014, a companhia revelou que
existem mais de 1 bilhão de usuários Android ativos;▸ ATENÇÃO! Cerca de 5.000 novos malwares são criados todos os dias
para usuários Android.
7
CARACTERÍSTICAS
8
Introdução▸ Para essa popularidade, o Android possui características
fundamentais:▹ Franqueza e código-fonte aberto;▹ Linguagem Java;▹ Tela multitouch;▹ Aplicativos incorporados;▹ Web services.
9
Franqueza e código-fonte aberto▸ Ser isento de qualquer obrigações, tributos, pagamentos;▸ Permite ver o código-fonte e como seus recursos são implementados;▸ Pode contribuir para o Android relatando erros ou participando nos
grupos de discussão do Open Source Project;▸ Diversos aplicativos Android de código-fonte aberto do Google e outros
estão disponíveis na Internet;▸ O grau de abertura da plataforma estimula a rápida inovação, ao
contrário das concorrentes.
10
Linguagem Java▸ Apesar de usar C no núcleo, utiliza Java para desenvolvimento;▸ Uma das linguagens de programação mais usadas do mundo;▸ Poderosa, gratuita, de código-fonte aberto e milhões de
desenvolvedores já a conhecem;▸ Orientada a objetos e acesso às amplas bibliotecas de classe que
ajudam a desenvolver aplicativos poderosos rapidamente;▸ Programação de interfaces gráficas baseada em eventos;▸ Usa os IDEs do Eclipse e do Android Studio para codificar mais
rapidamente, com recursos de arrastar, autocomplete, etc.
11
Tela multitouch▸ Telas coloridas sensíveis ao toque;▸ Pode navegar facilmente entre as opções de usar seu telefone,
executar aplicativos, tocar música, navegar na web e muito mais;▸ Teclado para digitação de e-mails e mensagens de texto (“Zap”) e
inserção de dados em aplicativos;▸ Opção de gestos que envolvem apenas um toque ou vários toques
simultâneos, como zoom, arrastar, etc.
12
Aplicativos incorporados▸ Vários aplicativos padrão (podem variar de acordo com o aparelho,
fabricante ou serviço de telefonia móvel):▹ Telefone;▹ Pessoas (contatos);▹ Email;▹ Browser;▹ Câmera e Fotos;▹ Mensagens;▹ Calendário;▹ Play Store;Calculadores e muitos mais.
13
Web Services▸ São componentes de software armazenados em um computador
(servidor, nuvem, etc);▸ Podem ser acessados por um aplicativo por meio da Internet;▸ Você pode criar mashups (informações de várias fontes);
▹ 100 Destinations combina as fotos e tweets com os recursos de mapas (Twitter e Google Maps) para explorar países em todo;
▹ O Programmableweb fornece um catálogo com mais de 9.400 APIs e 7.000 mashups, além de guias práticos e exemplos de código para você criar seus próprios mashups (mais utilizadas: Google Maps, Twitter e YouTube).
14
15
Arquitetura
16
17
Android 1.5 - Cupcakeabril de 2009▸ Suporte para teclados virtuais com previsão de texto e dicionário para
palavras personalizadas do usuário;▸ Suporte para Widgets - vistas de aplicativos em miniatura;▸ Gravação e reprodução de vídeo em MPEG-4 e 3GP;▸ Auto-emparelhamento e suporte para Bluetooth estéreo;▸ Recursos de copiar e colar adicionado ao navegador web;▸ Fotos dos usuários mostrado para Favoritos em Contatos;▸ Animações de transições e Auto-rotação de tela;▸ Animação ao iniciar (boot).
18
Android 1.6 - Donutsetembro de 2009▸ Suporte para resoluções de tela (320×240 e 800×480);▸ Interfaces para a programação de aplicativos com reconhecimentos de
gestos;▸ API de programação para uso de “text-to-speech”;▸ Caixa de pesquisa rápida na parte superior da tela inicial.
19
Android 2.0/2.1 - Eclairoutubro de 2009▸ Adicionar múltiplas contas de e-mail ao mesmo tempo;▸ Limpeza automática de mensagens pelo tempo determinado;▸ Câmera ganha opções de ajuste no balanço de cores;▸ Navegador web nativo compatível com HTML5 e interface otimizada;▸ Conectividade bluetooth ganha versão 2.1;▸ Acesso às informações de um contato específico simplificado;▸ Câmera com suporte flash e zoom digital;▸ Cinco telas iniciais; Live Wallpaper;▸ Introdução da digitação de texto por voz.
20
Android 2.2 - Froyomaio de 2010▸ Até cinco vezes mais rápido que a versão anterior (Eclair);▸ Navegador web nativo até três vezes mais rápido;▸ Compartilhamento de internet com computadores com hotspots;▸ Usuário pode relatar bugs e erros diretamente ao desenvolvedor;▸ Possibilidade de armazenar aplicativos no cartão SD;▸ Apps que aprimoram a segurança do aparelho (telas de bloqueio);▸ Android Market pode atualizar aplicativos automaticamente;▸ Câmera ganha menu que possibilita acesso mais fácil às
principais funções.
21
Android 2.3 - Gingerbreaddezembro de 2010▸ Suporte a NFC;▸ Suporte a aparelhos com câmeras frontais;▸ Suporte a sensores de movimentos;▸ Teclado virtual melhorado;▸ Chamadas pela internet.
22
Android 3.x - Honeycombfevereiro de 2011▸ suporte a tablet.
23
Android 4.0 - Ice Cream Sandwichoutubro de 2011▸ Nova interface com tela inicial personalizada;▸ Gerenciador de uso de dados móveis;▸ Compartilhamento de dados entre aparelhos por NFC.
24
Android 4.1/2/3 - Jelly Beanjunho de 2012▸ Google Now: assistência móvel que recomenda conteúdos;▸ Expansão nas notificações com mais informações e respostas rápidas;▸ Várias contas em um único aparelho.
25
Android 4.4 - KitKatdezembro de 2013▸ Assistência por voz: “Ok Google”;▸ Novo design;▸ Discador inteligente;
26
Android 5.0/5.1 - Lollipopnovembro de 2014▸ Presença do Material Design - apps mais chamativos e bonitos;▸ Novos efeitos de toque e de transição;▸ Novo modo de economia de bateria;▸ Tela de bloqueio que exibe as notificações;▸ Mudança na visualização da barra de status e nos botões virtuais;▸ WiFi e Bluetooth ajustável pela barra de notificações;▸ Maior proteção contra roubo e perda;▸ Configurações de sons e volumes mais funcionais;▸ Vários chips de operadora suportados por padrão.
27
Android 6.0 - Marshmallowmaio de 2015▸ Recurso que economiza a bateria automaticamente em stand-by;▸ Suporte nativo para leitores de impressão digital;▸ Melhorias para compartilhamento de conteúdo entre aplicativos;▸ Links com abertura padrão em seus respectivos apps;▸ Suporte para USB Type-C;▸ Backup e restauração automática no Drive para dados e aplicativos;▸ Modo de tela 4K para apps;▸ Adaptação de memória externa (SD cards) como memória interna;▸ Suporte experimental para visualização em multi-janela.
28
Android 7.0/7.1 - Nougatagosto de 2016▸ 72 novos emojis;▸ Aprimoramentos no Launcher Google Now;▸ O "Mono Play", criado para deficientes auditivo;▸ API JobScheduler tornará seu smartphone mais rápido;▸ Responda mensagens pela barra de notificação;▸ Novo menu de notificações;▸ Novo menu de aplicativos;▸ Informações de emergência;▸ Biblioteca OpenJDK, em vez de JAVA;
29
Android 8.0/8.1 - Oreoagosto de 2017▸ O relógio e data na tela de bloqueio estão menores;▸ Consumo de bateria por parte dos aplicativos e também pelos próprios
serviços do Android;▸ O Google Assistente foi introduzido como o assistente virtual padrão;▸ Ícones do sistema padronizados.
30
Android 9.0 - Pieagosto de 2017▸ Deep learning para entender os padrões de uso e priorizar a bateria;▸ Aprende como cada pessoa gosta de definir o controle de brilho,
considerando a iluminação do ambiente ao redor;▸ Prevê as suas próximas ações, para que você possa realizá-las de
forma mais rápida: playlist ouvida em destaque;▸ Novo sistema de navegação: deslizar para cima a partir de qualquer
tela para ver os apps recém usados, menos botões e mais gestos;▸ Capturas de tela melhores, controles de volume simplificados e uma
maneira mais fácil de gerenciar notificações.
31
Android 10.0 - Android Qmarço de 2019▸ Função de modo noturno (escuro) em todo o sistema;▸ Função de optar por “Permitir apenas enquanto o app estiver em uso”;▸ Configurações do sistema através de aplicativos;▸ Fotos com imagem de profundidade dinâmica;▸ Melhor suporte a dispositivos dobráveis;▸ Autonomia restante da bateria na barra de notificações;▸ Armazenamento individual para apps; Modo deslizar notificações;▸ Compartilhar a senha de rede WiFi conectada, à outro dispositivo
através de código QR.
32
Android 10.0 - Android Qmarço de 2019▸ Função de reconhecimento facial 3D;▸ Aumento da segurança da conexão Wi-Fi com protocolo de segurança
WPA3;▸ Suporte a conexão de internet móvel rápida 5G;▸ Função de desabilitar todos os sensores, com o Sensor Privacy;▸ Canais Orientados ao Bluetooth LE, cria conexões para transferir fluxos
de dados maiores entre dois aparelhos com Bluetooth LE;▸ Interface MIDI (Android Native MIDI API - AMidi) que permite a interação
com controladores de música.
33
POR QUE FALAR TANTO DE VERSÕES?
34
API DE DESENVOLVIMENTO
36
RECURSOS E FUNCIONALIDADES
38
Ferramentas para o desenvolvimento
39
Ferramentas para o desenvolvimentoExistem diversas ferramentas para ajudar desenvolvedores de aplicativos android, as fundamentais são:▸ Editores de códigos (IDE’s - simples e melhorados);▸ SDK do Android.
40
Editores de códigos▸ Inúmeros editores de códigos podem ser utilizados no
desenvolvimento, desde um simples editor a um Integrated Development Environment (IDE). As IDE’s mais utilizadas para Android são:▹ Eclipse IDE: Feito em Java com suporte a várias linguagens a
partir de plugins. Atualmente é recomendado para desenvolvedores Android;
▹ Android Studio: feito especificamente para o desenvolvimento para Android.
41
Tarefas comuns das IDEs▸ Edição (editar o código)▸ Compilação (transformar em linguagem de máquina)▸ Depuração (analisar a execução para encontrar erros)▸ Automação de testes (testes no código)▸ Modelagem (classes, objetos, interfaces, etc)▸ Refatoração (distribuir o código para tornar mais limpo)▸ Pré-visualização (ver o software antes de ser compilado)▸ Distribuição (deployment - colocar em produção)
42
Escolha de IDE adequada▸ Linguagem de programação▸ Integração▸ Ferramentas▸ Edição de código inteligente▸ Design▸ Preço
43
44
Android Studio▸ Desenvolvido com foco em aplicações Android;▸ Características:
▹ Gradle: sistema de automação de compilação (mais rápido);▹ Ferramentas de Lint para capturar performance, usabilidade,
compatibilidade de versão e outros problemas (análise);▹ Integração com ProGuard: reduz, otimiza e ofusca o código Java;▹ Rico editor de layout com opção de pré-visualizar em diferentes telas;▹ Suporte para a criação de apps para Android Wear;▹ Suporte nativo para a Google Cloud Platform, permitindo a integração com
Google Cloud Messaging e App Engine.45
SDK
46
SDK do Android▸ O SDK (Software Development Kit) fornece as ferramentas
necessárias para construir aplicativos Android;▸ Inclui exemplo com código-fonte, ferramentas de
desenvolvimento, emuladores e bibliotecas necessárias;▸ Possui alguns componentes fundamentais: SDK Tools,
Build Tools e Platform Tools.▸ Toda vez que o Google lança uma nova versão do Android,
um SDK correspondente também é lançado.47
SDK Tools▸ Conjunto de ferramentas do SDK:
▹ Android SDK Manager: permite gerenciar os pacotes do SDK, como plataformas instaladas e imagens do sistema.
▹ AVD Manager: interface gráfica para criar e gerenciar dispositivos virtuais Android (AVDs) executados no emulator;
▹ Android Emulador: ferramenta de emulação de dispositivo para debugar e testar seus aplicativos em um ambiente real;
▹ Android Monitor, Android Monitor Device e Dalvik Debug Monitor Server: fornece monitores de log, memória, CPU, GPU e rede para debug e análise de aplicativos.
48
Build Tools▸ Componente necessário para a criação de aplicativos
Android; ▸ Instalado no diretório <sdk>/build-tools/;▸ Responsável por construir a aplicação, fazendo todo o
processo de assinatura, otimização, codificação de imagens, etc.
49
Platform Tools▸ Inclui ferramentas que fazem interface com a plataforma
Android, como Android Debug Bridge (ADB), fastboot e systrace;
▸ Ferramentas que permitem a comunicação com uma instância de emulador ou com um dispositivo Android conectado;
▸ Instala e depura aplicativos;▸ Permite visualizar recursos utilizados.
50
51
PACOTES DOANDROID
52
RECURSOS E PERMISSÕES
53
54
Exercícios de Fixação▸ Quais as características do Android? Descreva-as.▸ Por que é fundamental o conhecimento das versões e API’s
do Android?▸ Quais as ferramentas essenciais para o desenvolvimento de
aplicativos Android?▸ Para que serve o SDK Tools, Build Tools e Platform Tools?▸ Qual a necessidade de utilizar os pacotes do Android? Cite 3
pacotes.55