Introdução ao Android

Olá pessoal esta semana comecei a estudar Android e me surpreendi com a infinidade de possibilidades que esta plataforma oferece. Por isso estou fazendo esse post e espero que seja o primeiro de muitos sobre esse tema. Em breve postarei mais tutoriais e quem sabe um vídeo sobre o assunto no meu canal no youtube.

O que é o Android?

O Android é conjunto de software para dispositivos móveis que inclui um sistema operacional, middleware e aplicações chave. O Android SDK fornece as ferramentas e APIs necessárias para começar o desenvolvimento de aplicativos na plataforma Android usando a linguagem de programação Java.

Colocarei abaixo algumas imagens do emulador rodando juntamente com E clipse, nas imagens vocês podem ver algumas funcionalidades e aplicações, além de um hello Word que fiz.

Este slideshow necessita de JavaScript.

Características

  • Framework que permite reutilização e substituição de componentes.
  • Máquina virtual Dalvik otimizada para dispositivos móveis.
  • Browser integrado baseado na engine WebKit que possui código-fonte aberto
  • Gráficos otimizados alimentado por uma biblioteca de gráficos personalizados 2D; gráficos 3D baseado no OpenGL ES 1,0 especificação (aceleração de hardware opcional).
  • SQLite para armazenamento de dados estruturados.
  • Suporte de Media para áudio comum, vídeo e imagem estática nos formatos (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF).
  • GSM de telefonia (hardware dependente).
  • Bluetooth, EDGE, 3G e WiFi (dependente de hardware).
  • Câmera, GPS, bússola e acelerômetro (dependente de hardware).
  • Rico ambiente de desenvolvimento, incluindo um emulador, ferramentas de depuração, memória e desempenho de perfis, e um plugin para o Eclipse IDE.

Aplicações

Android  já vem com um conjunto de aplicativos, incluindo um cliente de e-mail, programa de envido de SMS, calendário, mapas, navegador, contatos e outros. Todos as aplicações são escritas utilizando a linguagem de programação Java.

Application Framework

Ao fornecer uma plataforma de desenvolvimento aberta, o Android oferece aos desenvolvedores a capacidade de criar aplicações extremamente ricas e inovadoras. Os desenvolvedores estão livres para aproveitar o hardware do dispositivo, as informações de localização de acesso, execução de serviços de background, definir alarmes, notificações para adicionar a barra de status, e muito, muito mais.

Os desenvolvedores têm acesso total às mesmas APIs do mesmo Framework usado pelos aplicativos core. A arquitetura do aplicativo é projetado para simplificar a reutilização dos componentes, qualquer aplicação pode publicar suas capacidades e qualquer outra aplicação pode então fazer uso dessas capacidades (sujeito a restrições de segurança impostas pelo framework). Este mesmo mecanismo permite que componentes possam ser substituídos pelo usuário.

Todas as aplicações são um conjunto de serviços e sistemas, incluindo:

  • Um rico e extensível conjunto de pontos de vista que pode ser usado para construir uma aplicação, incluindo listas, grids, caixas de texto, botões, e até mesmo um navegador web embutido.
  • Os provedores de conteúdo que permitem que aplicativos acessem dados de outros aplicativos (como Contatos), ou para compartilhar seus próprios dados.
  • Um Resource Manager(gerente de recursos), fornece acesso aos recursos non-code como seqüências localizadas, gráficos e arquivos de layout.
  • Um Notification Manager (gerente de notificações)que permite que todos os aplicativos exibam alertas personalizados na barra de status.
  • Um Activity Manager (gerente de atividades) que gerencia o ciclo de vida de aplicações e fornece um backstack comuns de navegação.

Bibliotecas

O Android inclui um conjunto de bibliotecas C / C + + usadas por diversos componentes do sistema Android.Estas capacidades são expostos a desenvolvedores através da estrutura de aplicativos do Android. Algumas das principais bibliotecas estão listados abaixo:

  • System C library – uma implementação de derivados do BSD do sistema de biblioteca padrão C (libc), incrementado para dispositivos baseados em Linux
  • Media Libraries – baseada em PacketVideo’s OpenCORE, as bibliotecas dão suporte a reprodução e gravações de áudio e nos formatos mais populares de vídeo, bem como arquivos de imagem estática, incluindo MPEG4, H.264, MP3, AAC, AMR, JPG e PNG
  • Surface Manager – gerencia o acesso ao display e permite a exibição de gráficos de camadas 2D e 3D para aplicações múltiplas.
  • LibWebCore – uma engine de navegador moderno tanto para um navegador android como para uma navegação web enbutida embutida
  • SGL – engine para gráficos 2D
  • Bibliotecas 3D – uma implementação baseada em OpenGL ES 1.0 APIs; as bibliotecas usam hardware aceleração 3D (quando disponível) ou o incluído, quanto software rasterizer altamente otimizado.
  • FreeType – Renderização de fontes bitmap e vetoriais.
  • SQLite – uma engine poderosa de banco de dados relacional leve à disposição de todos os aplicativos

Android Runtime

O Android inclui um conjunto de bibliotecas que fornece a maioria das funcionalidades disponíveis nas principais bibliotecas da linguagem de programação Java.

Cada aplicação Android roda em seu próprio processo, com sua própria instância da máquina virtual Dalvik. Dalvik foi escrito de forma que um dispositivo pode executar vários VMS eficientemente. O Dalvik VM executa os arquivos em Dalvik executável (. DEX) formato que é otimizado para o mínimo consumo de memória . A VM é baseada em registradores, e executa classes compiladas por um compilador de linguagem Java que foram transformadas para o formato dex. Incluído pela ferramenta”dx”.

O Dalvik VM invoca o kernel do Linux para a funcionalidade subjacente como encadeamento de baixo nível de gerenciamento de memória.

Kernel Linux

Android baseia-se no kernel versão 2.6 para o sistema central de serviços, como segurança, gerenciamento de memória, gerenciamento de processos, rede de pilha, modelo de drivers. O kernel também atua como uma camada de abstração entre o hardware e o resto da pilha de software.

Referências:

Android Developers : http://developer.android.com/guide/basics/what-is-android.html

Anúncios

Sobre kurtphpr
Ronaldo Caldas : Formado em Ciência da Computação - UNICENTRO-PR

2 Responses to Introdução ao Android

  1. Marcos Lima says:

    Oi Ronaldo tudo bem.

    Meu nome e Marcos e moro em Fortaleza, gostei muito de sua iniciativa em fornecer aulas em Java e outros programas no Youtube e no seu Blog, parabéns novamente e espero consiguir aprender bastante com suas aulas, pois estou começando a iniciar programação em Java. Abraço e que Deus lhe abençoe cada vez mais.

  2. Rafael Sousa says:

    TamoJunto ><
    Vou acompanhar teus tutoriais pq comecei a estudar Android tbm

Deixe seu comentário, opinião , critica ou dúvida aqui :)

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: