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.

Entradas relacionadas: