SlideShare uma empresa Scribd logo
FUNDAMENTOS DA
PROGRAMAÇÃO PARA
ANDROID
MSC. JESSE TEIXEIRA DA SILVA
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.
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.
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
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....
APLICAÇÃO DE EXEMPLO
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
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
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
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

Mais conteúdo relacionado

Semelhante a Fundamentos da programação para android - parte 1

Paradigmas de Linguagens de Programação - Modularização, componentização e re...
Paradigmas de Linguagens de Programação - Modularização, componentização e re...Paradigmas de Linguagens de Programação - Modularização, componentização e re...
Paradigmas de Linguagens de Programação - Modularização, componentização e re...
Adriano Teixeira de Souza
 
Frameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de softwareFrameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de software
Thomas Kanzig
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDK
Ryan Padilha
 

Semelhante a Fundamentos da programação para android - parte 1 (20)

Fundamentos Java - 01
Fundamentos Java - 01Fundamentos Java - 01
Fundamentos Java - 01
 
Aula 1a.ppt
Aula 1a.pptAula 1a.ppt
Aula 1a.ppt
 
Programação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaProgramação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com Java
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
Paradigmas de Linguagens de Programação - Modularização, componentização e re...
Paradigmas de Linguagens de Programação - Modularização, componentização e re...Paradigmas de Linguagens de Programação - Modularização, componentização e re...
Paradigmas de Linguagens de Programação - Modularização, componentização e re...
 
Frameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de softwareFrameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de software
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
 
Csharp
CsharpCsharp
Csharp
 
Introdução ao Java_14Agosto2012.pdf
Introdução ao Java_14Agosto2012.pdfIntrodução ao Java_14Agosto2012.pdf
Introdução ao Java_14Agosto2012.pdf
 
Docker meetup
Docker meetupDocker meetup
Docker meetup
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
Introdução ao android
Introdução ao androidIntrodução ao android
Introdução ao android
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDK
 
Introdução a Arquitetura Android
Introdução a Arquitetura AndroidIntrodução a Arquitetura Android
Introdução a Arquitetura Android
 
Docker - Básico
Docker - BásicoDocker - Básico
Docker - Básico
 
Netbeans
NetbeansNetbeans
Netbeans
 
Maven: Introdução
Maven: IntroduçãoMaven: Introdução
Maven: Introdução
 
NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de Software
 
Introdução ao android e plataforma android
Introdução ao android e plataforma androidIntrodução ao android e plataforma android
Introdução ao android e plataforma android
 

Fundamentos da programação para android - parte 1

  • 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