Escolar Documentos
Profissional Documentos
Cultura Documentos
Programador
PHP, Ruby on Rails, .Net, Android... PostgreSql, SQL Server, Oracle
Contatos
http://www.lgmafra.com.br
@lgmafra
Apresentao
lvaro Coelho(Degas)
Bacharel em Cincia da Computao, UFPb
Campus II Campina Grande/Pb Mestre em Cincia da Computao, UFCG Campina Grande/Pb Doutor em Cincia da Computao, UFCG Campina Grande/Pb
Roteiro Parte 1
Plataforma Android
Hello World
Quais as formas de fazer?
Mtodos de informao
Toast e AlertDialog
Roteiro Parte 2
Interface do Usurio
Roteiro Parte 3
Armazenamento de Dados
SQLite
Persistncia de Dados da Aplicao Parmetros entre Activities Criando uma ListView startActivityForResult() Utilizando uma Intent
Realizando um ligao
Plataforma Android
O que ?
Sistema Operacional baseado em Linux
Open Source Open Handset Alliance
Operadoras de celular
Fabricantes de aparelhos Empresas de semicondutores
Empresas de software
Empresas de comercializao
Plataforma Android
Recursos do Android
Framework
DVM Navegador web
Ambiente de desenvolvimento
Android Development Tool
Plataforma Android
Principais APIs
android.util Containers e XML
android.os Comunicao android.database Comunicao com BD
Plataforma Android
Arquitetura
Plataforma - Arquitetura
Aplicaes
Aplicativos fundamentais SMS, Contatos, Calendrios, Navegadores... Rodam sobre Dalvik Virtual Machine
Framework
Activity Manager Ciclo de vida Package Manager Utilizada pela Activity
Plataforma - Arquitetura
Bibliotecas
Freetype Fontes e bitmaps
Webkit Browser Webkit SQLite SQL92
Plataforma - Arquitetura
Kernel Linux
Utiliza a verso 2.6
Segurana, processos, protocolos de rede...
Hardware Software
Binder
Obter e enviar interface de servio requisitada
Gerenciamento de energia
Plataforma - Arquitetura
Ambiente de Execuo
Instncia da Mquina Virtual Dalvik Executada paralelamente Utilizada em sistemas De baixa frequncia de CPU Pouca memria RAM e sem Swap Otimiza o consumo de memria e bateria Executa arquivos .DEX Core Libraries Compiladas em bytecodes Dalvik
Plataforma - Ferramentas
Emulador
Plataforma - Ferramentas
DDMS
Depurao de aplicaes
LogCat Devices
Emulator Control
File Explorer Threads
Heap
Allocation Tracker
Plataforma - Ferramentas
DDMS
Classe R
Realiza o mapeamento dos elementos
Diretrios drawable, layout, values
Intent
Mensagens Assncronas
Representa uma Ao Utilizao
Abrir nova tela, realizar chamadas, abrir
browser...
android.content.Intent
Intent Filter
Intercepta requisio de uma Intent
Executa de acordo com a mensagem Configurvel no AndroidManifet.xml
<intent-filter>
android.content.IntentFilter
BroadcastReceiver
Uma das classe mais importantes
Utilizada para processar mensagens(Intent) Executa em segundo plano
Configurvel no AndroidManifest.xml
<receiver>
android.content.BroadcastReceiver
Services
Utilizado para executar processos em
segundo plano
Ex: MP3, Download da internet
AndroidManifest.xml
Contm as configuraes da aplicao
Nome do pacote, nome das activities, verso
do SDK...
Toda activity deve ser declarada
<activity android:name=.NomeActivity>
Mtodos de informao
Executando
Temporariamente interrompida
Em segundo plano Completamente destruda
Subnveis do ciclo
Entire lifetime
Ciclo completo
Visible lifetime
Activity iniciada, pode estar ativa ou parada
Foreground lifetime
Activity no topo da pilha e interagindo
Mtodos
onCreate(bundle)
onStart() onRestart()
onResume() onPause()
onStop()
onDestroy()
Gerenciadores de Layout
Posio e tamanho
android:gravity Top Left Right Bottom android:layout_height, android:layout_width fill_parent wrap_content
ID
android:id @+id/NomeDoElemento
Menu de Contexto
onOptionsItemSelected(Item do Menu)
Menu de Opes
onContextItemSelected(Item do Menu)
Submenu
onCreateOptionsMenu()
Armazenamento de Dados
SQLite
http://www.sqliteexpert.com/SQLiteExpertPersSetup.exe
Armazenamento de Dados
Envio
android.os.Bundle
putString(chave, valor)
Recebimento
getIntent()
startActivityForResult()
startActivityForResult()
Finalizando a Aplicao
Cadastro
carregaRegistro validaCampos
ListRegistro
carregaRegistros onCreate
ViewRegistro
Aplicao
OBRIGADO!