Upload
internet
View
109
Download
0
Embed Size (px)
Citation preview
Sobre o cursoSobre o curso
Google AndroidDiego Souza
Ementa1. Introdução 2. Configuração do ambiente 3. Conceitos básicos 4. Acitivity 5. Intent e Intent Filter 6. Gerenciadores de Layout 7. View 8. Broadcast Receiver 9. Notification 10. Service 11. Banco de dados 12. Content provider 13. Http, Service e Web Services 14. Mapas e GPS
IntroduçãoIntrodução
Google AndroidDiego Souza
Alguns dados estatísticos
• Para cada 1,5 bilhões de televisores existem 3 bilhões celulares no mundo.
• Mais de 3 bilhões de pessoas no mundo possuem um celular, cerca de metade da população mundial.
• Um mercado em expansão, porém, existem poucos profissionais capacitados.
Google AndroidDiego Souza
Mobile Development
• Várias são as plataformas hoje para desenvolvimento de aplicações para dispositivos móveis. Symbian, Brew, JavaME, .NET Compact Framework e Flash Lite.
• O android é a resposta do Google para esse ramo.
Google AndroidDiego Souza
Open Headset Aliance
• Grupo formados por gigantes do mercado de telefonia liderados pelo Google.
• O objetivo principal do grupo é transformar a experiência móvel dos usuários ao redor do mundo.
• Alguns membros: Motorola, HTC, LG, Samsung, Sony Ericson, Toshiba, Intel, Asus, entre outros.
Google AndroidDiego Souza
O que é o android?
• O Android é a nova plataforma do Google voltada para dispositivos móveis.
• Baseada na plataforma Java com sistema operacional Linux.
• Busca inovar e acelerar o desenvolvimento de aplicações e serviços.
• Android é a primeira plataforma móvel completa, aberta e livre (Xing ling pode rodar android ).
Google AndroidDiego Souza
O que é android?
• Sistema Operacional Multitarefa.• Fácil integração com as Aplicações nativas e
serviços do google.• Código aberto e livre.• Poderoso ambiente de desenvolvimento.
Google AndroidDiego Souza
Porque android?
• Plataforma completa para celulares• Android é Free• O código é aberto• Suporte da comunidade• Vários Frameworks disponíveis• Android é 100% Java
Google AndroidDiego Souza
Android Market
• Local onde os desenvolvedores podem postar suas aplicações.
• 70% dos lucros são repassados aos desenvolvedores.
Google AndroidDiego Souza
A plataforma• Framework de Aplicação permitindo reuso de componentes;• Navegador Web Integrado baseado na engine open source WebKit;• Gráficos Otimizados por meio de uma biblioteca de gráficos 2D; e
gráficos 3D baseados na especificação OpenGL ES 1.0;• SQLite para armazenamento de dados em formato de estruturas
relacionais;• Audio (formatos MP3, AAC, AMR), vídeo (MPEG4 e H.264) e
imagens (formatos JPG, PNG, GIF) e suporte a Flash• Bluetooth, EDGE, 3G, WiFi (dependente de hardware) e Tethering.• Câmera, GPS, bússola, e acelerômetro (dependente de hardware)
Google AndroidDiego Souza
Alguns aparelhos
Google AndroidDiego Souza
Motorola Droid2 • Android OS, v2.2 (Froyo)• ARM Cortex A8 1 GHz,
PowerVR SGX530 graphics 128 MB
• 512 MB RAM• microSD, up to 64 GB,
16GB included• 480 x 854 pixels, 3.7” • Acelerometer sensor
Google AndroidDiego Souza
Nexus One
• Android OS, v2.2 (Froyo)• Qualcomm Snapdragon
QSD8250 1 GHz processor
• 512MB RAM• AMOLED capacitive
touchscreen• 480 x 800 pixels, 3.7
inches• O.S. Flash support.
15
Google AndroidDiego Souza
Samsung Galaxy S2
• Android OS, v2.3 (Gingerbread)
• Dual-core 1.2GHz ARM Cortex-A9 proccessor
• 1024 MB RAM• 480 x 800 pixels, 4.3
inches• microSD, up to 64GB• AMOLED screen
16
Google AndroidDiego Souza
Motorola Atrix
• Android OS, v2.2 (Froyo)
• Dual-core 1GHz ARM Cortex-A9 proccessor
• 1024MB RAM• 540 x 960 pixels, 4.0
inches• HDMI Support
17
Google AndroidDiego Souza
Galaxy Tab
• Android OS, v2.2 (Froyo)
• ARM Cortex A8 processor, 1 GHz
• SGX530 GPU 256MB • 512MB RAM• microSD, up to 64GB• HDMI Support• AMOLED screen
18
Google AndroidDiego Souza
Apple Iphone 4• iPhone OS (based on
Mac OS)• Apple A4 1 GHz• PowerVR SGX535
graphics 64 MB• 512 MB RAM• 16 GB/ 32 GB storage
19
Google AndroidDiego Souza
Motorola Defy
• ARM Cortex-A8 processor 800MHz
• 512 MB RAM• MicroSD up to 32GB• 480 x 854 pixels, 3.7
inches• Android OS, v2.1
(Eclair), upgradable to v2.2
Google AndroidDiego Souza
Android x IPhone
Google AndroidDiego Souza
Vamos ao que interessa…
Google AndroidDiego Souza
Arquitetura Android
Google AndroidDiego Souza
Camada de aplicação
• Na camada de aplicação está localizada uma lista de aplicações que incluem um cliente de e-mail, programa de SMS/MMS, calendário, mapas, navegador,gerenciador de contatos, entre outros.
• Aplicações escritas na linguagem Java.
Google AndroidDiego Souza
Aplication Framework
• Componentes que permitirão com que novas estruturas sejam utilizadas para futuras aplicações.
• Um rico e extensível conjunto de componentes gráficos que pode ser utilizado para construir uma aplicação, bem como listas, grids, caixas de textos, botões, etc.
• Provedores de conteúdo que habilitam às aplicações acessar dados de outras aplicações.
Google AndroidDiego Souza
Dalvik VM
• Máquina Virtual do Android.• Toda aplicação roda dentro do seu próprio
processo.• Executa arquivos .dex, bytecodes de java
otimizados para o android.
Google AndroidDiego Souza
O ambiente de desenvolvimento
• Poderoso Ambiente de Desenvolvimento, totalmente integrado ao Eclipse.
• Um Emulador completo.• Ferramentas para Debug e análise de código.• Analisador de memória e performance.• Ferramenta para análise de hieraquia de
Layouts.
Google AndroidDiego Souza
O que é necessário?
• Eclipse IDEwww.eclipse.org
• Java JREhttp://www.oracle.com/technetwork/java/javase/
downloads/jre-6u25-download-346243.html • Android SDK
http://dl.google.com/android/android-sdk_r11-windows.zip • Plugin android
http://dl.google.com/android/ADT-10.0.1.zip
Google AndroidDiego Souza
Emulador
• Vamos dar uma olhada no emulador…
Google AndroidDiego Souza
Hello Android
• Vamos fazer um exemplo prático, com o bom e velho Hello World.
Google AndroidDiego Souza
O que vem por aí?
• Google TV
• Android 3.0 – 8 vezes mais rápido– NFC
• Utilização em Netbooks
Google AndroidDiego Souza
Google TV• Com telas LCD com backlight de LEDs, full HD e tudo que se espera de uma TV de
ponta, o grande diferencial é trazer o sistema operacional Android instalado, onde o usuário encontrará aplicações como o YouTube, Google Maps, previsão do tempo, calendário e navegador Web.
• A aplicação permite o download e a instalação de novos aplicativos, através do Android Market.
ConceitosConceitosbásicosbásicos
Google AndroidDiego Souza
•Representa uma tela da aplicação composta por elementos visuais (android.view.view)
•Similar a JFrame do Swing
•O método setContentView(view) define qual a view principal da tela e deve sempre ser chamado no onCreate()
Activity
Google AndroidDiego Souza
A classe R
• Criada automaticamente e nunca deve ser modificada.
• Define constantes para acesso aos recursos do projeto.
• Ao utilizar um recurso, não precisamos colocar sua extensão.
• O nome dos arquivos adicionados, devem ser minúsculos e sem espaços, caso contrário, a classe R não será compilada corretamente.
Google AndroidDiego Souza
Android Manifest
• É a base de qualquer aplicação android, contendo as configurações necessárias para executar a aplicação.
• Toda activity deve ser declarada no manifest.
Google AndroidDiego Souza
Acessando elementos
• findViewById(R.id.nome_recurso);
• Usado para utilizar recursos da aplicação.
• Acesso aos recurso através dos Id’s da classe R
Google AndroidDiego Souza
•Fazem parte do pacote android.util.Log
•Podemos filtrar esses Log’s no DDMS
LogCat
Google AndroidDiego Souza
•Vamos ver um exemplo prático.
Exemplo
ActivityActivity
Google AndroidDiego Souza
•Uma tela da aplicação.
•Trata todos os eventos gerados pela tela.
•Composta por View’s (layouts).
•Qualquer aplicação (Dialer, browser, etc) é uma activity.
O que é?
Google AndroidDiego Souza
•Gerenciadas pela pilha de Activity.
•Toda activity possui um ciclo de vida.
•Todas devem ser declaradas no Manifest
•Toda activity deve herdar de Activity.
Ex: MyActivity extends Activity
Características
Google AndroidDiego Souza
Ciclo de Vida
Google AndroidDiego Souza
•O método startActivity(Intent) é usado para iniciar uma nova atividade (Activity), que será colocada no topo da atividade pilha.
•O método sempre deve receber por parâmetro a Intent da activity a ser inicializada.
•Ao inicializar, a nova activity ficará no topo da pilha.
Navegação entre telas
Google AndroidDiego Souza
•Ss vezes necessitamos obter um resultado de uma atividade quando ela termina sua execução.•
•Ex: Por exemplo, você pode iniciar uma atividade que permite ao usuário escolher uma pessoa em uma lista de contatos, quando termina, ele retorna a pessoa que foi selecionada.
•Para isso, utilizamos o método startActivityForResult(intent, data)
•Você receberá o retorno da execução no método onActivityResult(intent, data)
Recebendo parâmetros de outras telas
Google AndroidDiego Souza
•Passamos parâmetros para outras telas através das Intent’s.
•O método putExtra adiciona novos valores a intent que iniciará a nova activity.
Passando parâmetros para outras telas
Google AndroidDiego Souza
•Para encerrar um activity utilizamos o método finish()
•Ao utilizá-lo, o onDestroy() é invocado
Encerrando uma Activity
Google AndroidDiego Souza
•Vamos ver um exemplo prático.
Exemplo
IntentIntent
Google AndroidDiego Souza
•É considerada o coração do android
•Representa o envio de uma mensagem de requisição ao S.O. para que algo seja feito
•A mensagem é interpretada pela S.O.
•Representa uma“Ação” que uma aplicação deseja executar.
O que é uma intent?
Google AndroidDiego Souza
•Enviar uma mensagem ao S.O.
•Abrir uma nova tela da aplicação. Ex. startActivity(intent);
•Iniciar outra aplicação a partir da sua.
•Chamar um broadcast receiver
•Dentre outros
Utilização
Google AndroidDiego Souza
• Utilizamos uma intent para iniciar uma activity
• Ao receber uma intent, o S.O. interpreta a mensagem para iniciar alguma activity devidamente.
• Exemplo:
Intent it = new intent(this,tela2.class);
startActivity(it);
Navegação entre telas
Google AndroidDiego Souza
• Abrir o Browser
• Fazer ligações
• Tocar um arquivo mp3 da web
• Visualizar contatos da agenda
• Utilizar a API do google maps• Obs: Algumas aplicações precisam de permissões para
serem executadas.
Algumas intents nativas
Google AndroidDiego Souza
•Vamos ver alguns exemplos no Eclipse.
Exemplos
Intent FilterIntent Filter
Google AndroidDiego Souza
•Utilzado para interceptar mensagens que foram enviadas ao S.O.
•Muitas vezes não sabemos qual classe iniciará determiada activity
•Definimos filtros para as Intents, para que activity’s que estiverem com eles mapeados, saberem que estão sendo chamadas.
Intent Filter
Google AndroidDiego Souza
•Uma Tag <intent-filter> deve ser criada para a intent que receberá o filtro
•Exemplo:
<activity android:name=".Menu" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter></activity>
Configurando um Intent Filter
Google AndroidDiego Souza
•Toda intent com a tag action setada para MAIN e a categoria para LAUNCHER indica que ela será exibida no menu principal, e essa será a activity de entrada da sua aplicação.
Configurando um Intent Filter
Google AndroidDiego Souza
•Ação: Define o que a intent deseja realizar. Existem as padrões, mas podemos criar nossas próprias de acordo com as necessidades.
•Categoria: Conjunto de ações que definem o que a ação deseja realizar. Também é possível definir categorias próprias.
•Existem outros tipos de categorias, mas as principais são Action e Category.
Como identificar uma intent?
Google AndroidDiego Souza
•Se podemos criar uma activity sem o uso de filtros, é reamente necessário criá-los?
•Uma Intent é uma chamada ao S.O que qualquer aplicação pode responder.
•Útil também para fazer com que aplicações em processos diferentes se comuniquem.
•Integração entre aplicações.
Porque criar filtros?
Google AndroidDiego Souza
•Vamos ver alguns exemplos.
Exemplos
Google AndroidDiego Souza
•Crie uma nova aplicação que fará uma chamada a aplicação Controle de combustível via intent filter.
•Faça uma chamada a aplicação Controle de combustível e capture o melhor combustível a ser utilzado e exiba como resultado na sua aplicação.
Exercícios
Google AndroidDiego Souza
Referências Bibliográficas
• Google Android- Autor: Lecheta, Ricardo R.- Editora: Novatec
• Desenvolvimento de Aplicações Android - Autor: Mednieks, Zigurd; Meike, Blake;
- Editora: Novatec • Android para desenvolvedores
- Autor: Pereira, Lucio Camilo Oliva; - Editora: Brasport
Google AndroidDiego Souza
Links
• http://developer.android.com
• http://forum.portalandroid.org/
• http://www.androidbrasil.com/
Google AndroidDiego Souza
Perguntas
?
Google AndroidDiego Souza
Muito Obrigado...
• Diego [email protected]
• Renato Franç[email protected]