O documento descreve fundamentos da programação para Android, incluindo a máquina virtual Dalvik, ferramenta DX e estrutura de arquivos em aplicativos Android. A Dalvik é responsável por executar softwares no Android e possui bibliotecas próprias. A ferramenta DX converte arquivos Java em arquivos .dex executáveis na Dalvik. Aplicativos Android tem extensão .apk e contém arquivos .dex, recursos e manifesto.
2. A MÁQUINA VIRTUAL DALVIK
• Criada por Dan Bornstein, Dalvik é a máquina
virtual do Android
• É responsável por rodar os softwares no
Sistema operacional
• Ela não é “instalada” pelo usuário, pois faz
parte do sistema Android
• Possui bibliotecas próprias que são diferentes
das bibliotecas Java SE e Java ME
• Ao contrário das JVMs tradicionais, utiliza uma
arquitetura baseada em registros.
3. A ferramenta DX
• Utilizado para tornar as aplicações compatíveis com a
Dalvik
• Os programas (aplicações) são escritos em linguagem
Java e logo após compilados em Bytecodes.
• Logo em seguida devem ser convertidos de arquivos
.class compatíveis com as JVMs para arquivos .dex, que
são executáveis da maquina Dalvik.
• Nem todas as Classes são compiladas, e múltiplas classes
podem ser incorporadas em apenas uma
• Strings e Constantes repetidas em várias classes são
então unificadas e incluídas nos arquivos .dex, a fim de
economizar espaço.
• Sendo assim, podemos afirmar que a DALVIK é otimizada
para trabalhar com menor montante de memória.
4. APLICAÇÕES EM ANDROID
• As aplicações no Android possuem a extensão
.apk,
• O formato .apk é definido pela Open Handset
Alliance (http://www.openhandsetalliance.com/)
• Em sua essência , o .apk é um arquivo
comprimido contendo todos os arquivos
necessários para o programa em questão:
– Os arquivos .DEX
– Arquivos de recursos (.ARSC)
– O arquivo Android.manifest
5. A ESTRUTURA DE ARQUIVOS E
DIRETÓRIOS NO ANDROID
• Toda aplicação Android deve possuir uma
estrutura de arquivos bem definida para
garantir seu bom funcionamento
• Não é possível executar aplicações que não
sigam estes padrões
• Vejamos o exemplo de uma aplicação e sua
estrutura....
7. A PASTA SRC
• Contém as classes JAVA do projeto
• Deve Conter toda a lógica dos programas
• Cada classe pode ou não referenciar uma activity XML
8. A PASTA GEN
• Contém a classe R.java, que é gerada automaticamente e não deve ser
alterada manualmente em nenhuma hipótese e também a classe
BuildConfig.java
9. A PASTA RES
• Contém os recursos da aplicação (imagens, telas e arquivos)
• Existem quatro subpastas: layout, drawable , menu e values
DRAWABLE: Contém as imagens da aplicação
nas mais diversas resoluções
LAYOUT: Contém os arquivos XML que
definem os Layouts das Telas
VALUES: Contém arquivos XML para
internacionalização e também configurações
diversas da aplicação
MENU: Contém arquivos XML para criação de
menus personalizados
10. REFERÊNCIAS E MATERIAIS DE APOIO
• http://lordelfo.blogspot.com.br/2011/07/utilizando-seu-
proprio-celular-para.html
• http://www.techtudo.com.br/noticias/noticia/2013/07/a
ndroid-43-entenda-as-novidades-do-novo-sistema-do-
google.html
• http://developer.android.com/about/index.html