660 likes | 802 Views
Google Android. Diego Souza diegotsouza83@hotmail.com Renato França ragpf@hotmail.com. Sobre o curso. Ementa. Introdução Configuração do ambiente Conceitos básicos Acitivity Intent e Intent Filter Gerenciadores de Layout View Broadcast Receiver Notification Service
E N D
Google Android Diego Souza diegotsouza83@hotmail.com RenatoFrança ragpf@hotmail.com
Ementa • Introdução • Configuração do ambiente • Conceitos básicos • Acitivity • Intent e Intent Filter • Gerenciadores de Layout • View • Broadcast Receiver • Notification • Service • Banco de dados • Content provider • Http, Service e Web Services • Mapas e GPS
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.
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.
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.
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 ).
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.
Porque android? • Plataforma completa para celulares • Android é Free • O código é aberto • Suporte da comunidade • Vários Frameworks disponíveis • Android é 100% Java
Android Market • Local onde os desenvolvedores podem postar suas aplicações. • 70% dos lucros são repassados aos desenvolvedores.
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)
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
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.
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
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
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
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
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
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.
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.
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.
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.
O que é necessário? • Eclipse IDE www.eclipse.org • Java JRE http://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
Emulador • Vamos dar uma olhada no emulador…
Hello Android • Vamos fazer um exemplo prático, com o bom e velho Hello World.
O que vem por aí? • Google TV • Android 3.0 • 8 vezes mais rápido • NFC • Utilização em Netbooks
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.
Activity • 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()
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.
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.
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
LogCat • Fazem parte do pacote android.util.Log • Podemos filtrar esses Log’s no DDMS
Exemplo • Vamos ver um exemplo prático.
O que é? • 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.
Características • 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: MyActivityextendsActivity
Navegação entre telas • 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.
Recebendo parâmetros de outras telas • Ss vezesnecessitamosobter um resultado de umaatividadequandoelaterminasuaexecuçã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)
Passando parâmetros para outras telas • 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.
Encerrando uma Activity • Para encerrar um activity utilizamos o método finish() • Ao utilizá-lo, o onDestroy() é invocado
Exemplo • Vamos ver um exemplo prático.
O que é uma intent? • É considerada o coração do android • Representa o envio de umamensagem de requisiçãoao S.O. paraquealgosejafeito • A mensagem é interpretadapela S.O. • Representauma“Ação” queumaaplicaçãodesejaexecutar.