imobilis - android te rico [modo de compatibilidade] · android –google = grande impacto!...
TRANSCRIPT
C o m p u t a ç ã o M ó v e l
� Mercado de celulares e tablets em alta!
� Recursos: câmeras, músicas, bluetooth, ótima interface, jogos, GPS, internet, TV digital
IntroduçãoIntroduçãoIntroduçãoIntroduçãoIntroduçãoIntroduçãoIntroduçãoIntrodução
� Empresas buscam por mobilidade, agilizar seus negócios, integração com sistemas
� Existe então uma plataforma moderna, ágil, interface rica e diversos recursos???
� Android – Google = grande impacto!
� Motorola, LG, Samsung, Sony Ericsson: Open Handset Alliance
AndroidAndroidAndroidAndroidAndroidAndroidAndroidAndroid
� Baseada no SO Linux com diversas aplicações já instaladas;
� Ambiente de desenvolvimento poderoso, ousado e flexível (JAVA – open source)
� Arquitetura: integrar aplicações;
� Intent: Mensagemensagemensagemensagem enviada ao SO informando nossa “intenção” de realizar uma tarefa
AndroidAndroidAndroidAndroidAndroidAndroidAndroidAndroid
� Linux gerencia memória e processos. Executa várias aplicações em segundo plano
� Máquina virutal Dalvik: otimizada para mobiles
AndroidAndroidAndroidAndroidAndroidAndroidAndroidAndroid
� Desenvolvimento de Aplicações com o Eclipse e JAVA
� Eclipse: plugin ADT / MOTODEV
AndroidAndroidAndroidAndroidAndroidAndroidAndroidAndroid
� Android SDK: possui um emulador de celular, ferramentas e API completa para JAVA
� .apk – criado automaticamente pelo plugin
� Componentes de tela no Android: ViewViewViewView XML;
� ActivityActivityActivityActivity é a classe responsável pela tela. Define e controla o estado, os parâmetros e métodos.
Conceitos básicosConceitos básicosConceitos básicosConceitos básicosConceitos básicosConceitos básicosConceitos básicosConceitos básicos
métodos.
� O método setContentView(view)setContentView(view)setContentView(view)setContentView(view): ligação entre Activity e View. Método onCreate().
� AndroidManifestAndroidManifestAndroidManifestAndroidManifest: Base! Configurações.
public class PrimeiroExemplo extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
Conceitos básicosConceitos básicosConceitos básicosConceitos básicosConceitos básicosConceitos básicosConceitos básicosConceitos básicos
}
� A constante R.layout.mainR.layout.mainR.layout.mainR.layout.main foi passada como parâmetro, e conseqüentemente o arquivo main.xml main.xml main.xml main.xml localizado na pasta layout será utilizado como o view princiapal da tela.
� Representa uma tela da aplicação;
� Trata eventos gerados nessa tela;
Cada activity deve implementar o método
ActivityActivityActivityActivityActivityActivityActivityActivity
� Cada activity deve implementar o método onCreate() e chamar o método setContentView(view);
� Ciclos de vida: executando, temporariamente interrompida em segundo plano e destruída.
ActivityActivityActivityActivityActivityActivityActivityActivity
� É a ação que a aplicação deseja executar;
� Uma intenção da aplicação de realizar determinada tarefa;
IntentIntentIntentIntentIntentIntentIntentIntent
� Essa “intenção” é enviada ao SO como uma mensagem (broadcast)
� Utilizações:◦ Enviar mensagem para SO;◦ Abrir uma nova tela da aplicação: startActivit(intent)◦ Solicitar ao SO fazer uma lgação ◦ Abrir o borwser em um determinado endereço da
IntentIntentIntentIntentIntentIntentIntentIntent
◦ Abrir o borwser em um determinado endereço da internet;◦ Exibir algum endereço, localização ou rota no Google Maps;◦ Enviar uma mensagem para outra aplicação para executar outro processo◦ E muito mais...
� Executar um processamento em segundo plano, por tempo indeterminado (Serviço);
� Faz um alto consumo de recursos, memória e CPU.
ServiceServiceServiceServiceServiceServiceServiceService
CPU.
� Não precisa de interação com usuário e interface gráfica
� Exemplo: MP3 player
� Sempre executado em segundo plano e o SO é responsável pelo processo e gerenciamento de memória;
� Geralmente é iniciado pelo BroadcastReceiverBroadcastReceiverBroadcastReceiverBroadcastReceiver
ServiceServiceServiceServiceServiceServiceServiceService
� Geralmente é iniciado pelo BroadcastReceiverBroadcastReceiverBroadcastReceiverBroadcastReceivere retorna onReceiveIntent(context, intent)onReceiveIntent(context, intent)onReceiveIntent(context, intent)onReceiveIntent(context, intent);
� A classe Service faz parte do cliclo de vida dos processos controlados pelo SO.
� Android permite aplicações com BD;
� Suporte nativo ao SQLite;
Mas o BD não pode ser compartilhado com as
ContentContentContentContentContentContentContentContent ProviderProviderProviderProviderProviderProviderProviderProvider
� Mas o BD não pode ser compartilhado com as diversas aplicações;
� Solução: Content Provider!
� Permite que determinadas informações sejam públicas para todas as outras aplicações;
� É possível consultar, inserir, alterar e excluir informações.
ContentContentContentContentContentContentContentContent ProviderProviderProviderProviderProviderProviderProviderProvider
informações.