Guia Completo: Open Handset Alliance e Android
Classificado em Computação
Escrito em em
português com um tamanho de 6,08 KB
O que é a Open Handset Alliance (OHA)?
- Grupo formado por 84 empresas de tecnologia para dispositivos móveis, lideradas pelo Google.
Objetivo do grupo
- Definir uma plataforma única e aberta para celulares, visando maior satisfação dos consumidores com o produto final.
- Criar uma plataforma moderna e flexível para o desenvolvimento de aplicações corporativas.
- Atualmente, esta aliança é a responsável por manter o sistema Android.
Principais funcionalidades
- Sistema operacional Linux
- Máquina virtual Dalvik
- Código aberto
- Browser integrado
- Gráficos 2D e 3D otimizados
- SQLite para armazenamento de dados
Arquitetura do Android
- Camada Applications: Nesta camada encontram-se algumas aplicações fundamentais, como por exemplo: Email, SMS, calendário, mapas, browser, entre outras.
- Camada Applications Framework: Nesta camada encontram-se os principais recursos para facilitar a criação de aplicativos Android (como, por exemplo, botões e caixas de texto).
- Camada Libraries: O Android possui uma série de bibliotecas criadas em C/C++ que são utilizadas nos componentes da camada Application Framework.
- Camada Android Runtime: Nesta camada detecta-se o ambiente de execução ou virtual machine, no caso, o Dalvik. O Dalvik é responsável pela execução das classes em Java da sua aplicação.
- Camada Linux Kernel: O Android é baseado no Linux versão 2.6 para a execução dos serviços básicos, como por exemplo: segurança, gerenciamento de memória e de processos. Esta camada faz a ponte entre o hardware e as diversas camadas da sua aplicação.
Entendendo a estrutura do projeto
- assets: Utilizado para colocar recursos extras do seu aplicativo, como páginas HTML, arquivos de texto, fontes TrueType, arquivos de áudio, etc.
- bin: Ficam os arquivos gerados no momento da construção (build) do projeto, como o pacote .apk (pacote instalável do aplicativo no Android).
- res: Local onde encontram-se os recursos da nossa aplicação. Dentro deste diretório, existem subdiretórios para cada tipo de recurso.
AndroidManifest.xml
- Arquivo XML onde ficam as configurações necessárias para a execução do aplicativo.
- Este arquivo é obrigatório e fica na raiz do projeto.
- É no AndroidManifest.xml também que configuramos as permissões que nosso aplicativo precisará para executar no Android.
Relacionamentos: Agregação, Associação e Composição
- Agregação: Embora as partes possam existir independentemente do todo, o todo necessita da existência das partes para existir. A agregação define uma dependência fraca entre as classes; isto quer dizer que os outros objetos continuam existindo mesmo que o todo seja removido.
- Associação: Para existir um veículo, deve existir um cliente vinculado a ele. Embora uma classe possa depender da outra para existir, no mundo real são coisas totalmente independentes.
- Composição: Define uma dependência forte entre classes, onde, se o todo deixar de existir, as suas partes também deixarão de existir.
Activity e View
- Activity: Define que existe uma tela, controla seu estado, gerencia a passagem de parâmetros de uma tela para outra e define métodos que serão chamados quando o usuário pressionar algum botão.
- View: Tem o papel de exibir elementos visuais. Pode ser um simples elemento gráfico (botão, checkbox, imagem) ou uma view complexa que atua como gerenciador de layout.
- setContentView(view): É o que faz a ligação entre a Activity e a View, recebendo como parâmetro a view que será exibida na tela.
Ciclo de vida da Activity
Uma atividade pode se encontrar nos seguintes estados:
- Executando
- Temporariamente interrompida em segundo plano
- Completamente destruída
Métodos para tratar cada estado de uma Activity
- onCreate(bundle): Obrigatório, este método é chamado uma única vez. Nesse método deve-se criar uma view e chamar o método setContentView(view).
- onStart(): Assim que o método onCreate ou onRestart for finalizado, este método será executado; isto ocorre quando a view estiver ficando visível ao usuário.
- onRestart(): Método chamado quando uma atividade foi parada temporariamente e está sendo iniciada. Este método chama o onStart automaticamente.
- onResume(): Chamado quando a activity está no topo da pilha, ou seja, é a activity principal e pronta para interagir com o usuário (estado em execução). Será sempre chamado depois do onStart.
- onPause(): Chamado quando algum evento ocorrer que cause uma interrupção da aplicação, como por exemplo o celular entrar em modo de espera. Muito utilizado para salvar o estado da aplicação atual.
- onStop(): Chamada quando a activity está sendo encerrada. A aplicação não será encerrada, pode ser reiniciada a partir do método onRestart. Caso a aplicação fique muito tempo parada, o S.O. pode chamar automaticamente o método onDestroy caso necessite liberar memória.
- onDestroy(): Literalmente encerra a execução de uma atividade. Este método pode ser chamado automaticamente pelo S.O. para liberar memória ou pelo método finish. Depois da execução deste método, a atividade é removida completamente da pilha.
O que é uma Intent?
Uma Intent nada mais é do que uma mensagem enviada por um componente de um aplicativo ao núcleo do Android. O objetivo é informar ao S.O. que deseja realizar uma ação, ou seja, uma mensagem informando a intenção de se realizar algo no sistema.