SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
Introdução de programação ao
               Android


●   Apresentação por : Pedro Veloso
●   Email(s) : pedro.n.veloso@gmail.com
●            pedronveloso@androidpt.com
●   G+: http://goo.gl/yS2sE
Temas abordados
●   Fundamentos do sistema operativo Android
●   Componentes de uma aplicação
●   O AndroidManifest.xml
●   Mecanismo de recursos da aplicação
Fundamentos do sistema
              operativo
               Android
●   VM e Kernel
●   Separação lógica entre processos
VM e Kernel
●   Corre em cima de um Kernel de GNU/Linux
    modificado
●   Dalvik é a máquina virtual de Java usada para
    correr aplicações Android
Separação lógica entre processos
●   Android implementa o princípio de menor
    privilégio
●   Para obter uma permissão, esta tem de estar
    explicita no Manifest da aplicação, ou é
    produzido um Force Close em tempo de
    execução
●   É possível implementar o conceito de espaço
    de memória partilhado, mas para tal é
    necessário usar o mesmo certificado ao
    assinar um APK*
    * APK: Android Package
Componentes de uma aplicação
●   Application
●   Activity
●   Service
●   Content Provider
●   Broadcast Receiver
Application
●   Application é estendida por apenas uma
    sub-classe na aplicação
●   Serve para abstrair funcionalidades que
    necessitam de um contexto sempre ativo,
    mesmo quando o utilizador navega entre
    diferentes ecrãs
●   Trata de lógica da aplicação, não deve ser
    usado para elementos visuais
●   De uso específico a determinadas situações, e
    de uso opcional
Activity
●   Uma Activity é um ecrã onde o utilizador pode
    interagir de alguma forma, o análogo a uma
    Janela num computador (também chamado de
    Form noutras linguagens/sistemas)
Activity Lifecycle
Activity - Exemplo
public class MinhaActivity extends Activity {

 private static final String MSG_TOPO = "msgTopo";

  @Override
  void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.minha_activity);
    ...
                                                         @Override
  }
                                                         public void onSaveInstanceState(Bundle savedInstanceState) {
                                                           // Guardar algumas configurações antes de sair
  @Override                                                savedInstanceState.putString(MSG_TOPO, "Bem vindo de
  protected void onPause() {                                  volta.");
    musica.pausar();                                       super.onSaveInstanceState(savedInstanceState);
  }                                                      }

                                                         @Override
                                                         public void onRestoreInstanceState(Bundle savedInstanceState) {
                                                         //resgatar as configs ao reiniciar a app
                                                           super.onRestoreInstanceState(savedInstanceState);
                                                           String minhaString = savedInstanceState.getString(MSG_TOPO);
                                                         }

                                                     }
Service
●   Corre em plano de fundo (background).
    Utilizado frequentemente em conjunção com
    Activity
●   Não possui interface de utilizador
●   Tal como a Activity possui métodos úteis de
    callback tais como onStart, onBind, onStop,
    etc..
●
Content Provider
●   Usado para partilhar informação com outras
    aplicações
●   Abstrai a forma de como a informação é
    processada, guardada e obtida
Broadcast Receiver
●   Uma componente que reage a um evento de
    sistema
●   Não requer que a aplicação esteja a ser
    executada
●   Cada broadcast de sistema é um Intent de
    Android
O AndroidManifest.xml
●   Peça fundamental de uma aplicação Android
       –   Define que dispositivos são compatíveis com a
            aplicação
       –   Define quais as componentes de uma aplicação
       –   Define as permissões da aplicação
AndroidManifest - Exemplo
   <?xml version="1.0" encoding="utf-8"?>
   <manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.pedronveloso.projtest"
      android:versionCode="1"
      android:versionName="1.0">
     <uses-sdk android:minSdkVersion="4" />


     <application android:icon="@drawable/icon"
     android:label="@string/app_name">
       <activity android:name=".MainActivity"
             android:label="@string/app_name">
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
       </activity>


     </application>
   </manifest>


Mais informação em : http://developer.android.com/guide/topics/manifest/manifest-intro.html

Mais conteúdo relacionado

Destaque

Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012guisester
 
Desenvolvimento Android, por onde começar?
Desenvolvimento Android, por onde começar?Desenvolvimento Android, por onde começar?
Desenvolvimento Android, por onde começar?Rudson Lima
 
Introdução ao desenvolvimento de apps para Android - Dia 1/2
Introdução ao desenvolvimento de apps para Android - Dia 1/2Introdução ao desenvolvimento de apps para Android - Dia 1/2
Introdução ao desenvolvimento de apps para Android - Dia 1/2Matheus Calegaro
 

Destaque (8)

Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012
 
Android - Além do HelloWord
Android - Além do HelloWordAndroid - Além do HelloWord
Android - Além do HelloWord
 
Conhecendo android
Conhecendo androidConhecendo android
Conhecendo android
 
Desenvolvimento Android, por onde começar?
Desenvolvimento Android, por onde começar?Desenvolvimento Android, por onde começar?
Desenvolvimento Android, por onde começar?
 
Android - Parte 8
Android - Parte 8Android - Parte 8
Android - Parte 8
 
Aula android 01.pdf
Aula android 01.pdfAula android 01.pdf
Aula android 01.pdf
 
Introdução ao desenvolvimento de apps para Android - Dia 1/2
Introdução ao desenvolvimento de apps para Android - Dia 1/2Introdução ao desenvolvimento de apps para Android - Dia 1/2
Introdução ao desenvolvimento de apps para Android - Dia 1/2
 
Mulheres
MulheresMulheres
Mulheres
 

Semelhante a Introdução Programação Android

Atividades e Intenções (Android)
Atividades e Intenções (Android)Atividades e Intenções (Android)
Atividades e Intenções (Android)Natanael Fonseca
 
Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)Rodrigo Rocha
 
Androidconf 2011 lecheta
Androidconf 2011 lechetaAndroidconf 2011 lecheta
Androidconf 2011 lechetarlecheta
 
Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5Erisvaldo Junior
 
Seminário sd android_exemplos
Seminário sd android_exemplosSeminário sd android_exemplos
Seminário sd android_exemplosCalvin Rodrigues
 
Introdução ao Zend Framework 2
Introdução ao Zend Framework 2Introdução ao Zend Framework 2
Introdução ao Zend Framework 2Elton Minetto
 
Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Rafael Benevides
 
Ecosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_javEcosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_javJulio Viegas
 
Dê seus primeiros passos no desenvolvimento com Android
Dê seus primeiros passos no desenvolvimento com AndroidDê seus primeiros passos no desenvolvimento com Android
Dê seus primeiros passos no desenvolvimento com AndroidRodolfo Faquin Della Justina
 
PDC - Engenharia - Plataforma Microsoft .NET
PDC - Engenharia - Plataforma Microsoft .NETPDC - Engenharia - Plataforma Microsoft .NET
PDC - Engenharia - Plataforma Microsoft .NETslides_teltools
 
Aula08 android outros_recursos
Aula08 android outros_recursosAula08 android outros_recursos
Aula08 android outros_recursosRoberson Alves
 
Curso Android - 03 Conceitos Chaves
Curso Android - 03 Conceitos ChavesCurso Android - 03 Conceitos Chaves
Curso Android - 03 Conceitos ChavesRonildo Oliveira
 
Desenvolvimento de Apps e Games para Android - Parte 4
Desenvolvimento de Apps e Games para Android - Parte 4Desenvolvimento de Apps e Games para Android - Parte 4
Desenvolvimento de Apps e Games para Android - Parte 4Erisvaldo Junior
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4Jose Berardo
 
Curso de J2ME - Parte 03 - Desenvolvimento de aplicações
Curso de J2ME - Parte 03 - Desenvolvimento de aplicaçõesCurso de J2ME - Parte 03 - Desenvolvimento de aplicações
Curso de J2ME - Parte 03 - Desenvolvimento de aplicaçõesLeonardo Melo Santos
 
DevFest 2012 - Esquartejando sua Activity com Fragments
DevFest 2012 - Esquartejando sua Activity com FragmentsDevFest 2012 - Esquartejando sua Activity com Fragments
DevFest 2012 - Esquartejando sua Activity com FragmentsSuelen Carvalho
 

Semelhante a Introdução Programação Android (20)

Atividades e Intenções (Android)
Atividades e Intenções (Android)Atividades e Intenções (Android)
Atividades e Intenções (Android)
 
Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)
 
Androidconf 2011 lecheta
Androidconf 2011 lechetaAndroidconf 2011 lecheta
Androidconf 2011 lecheta
 
Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5Desenvolvimento de Apps e Games para Android - Parte 5
Desenvolvimento de Apps e Games para Android - Parte 5
 
Seminário sd android_exemplos
Seminário sd android_exemplosSeminário sd android_exemplos
Seminário sd android_exemplos
 
Fragmentos
FragmentosFragmentos
Fragmentos
 
Introdução ao Zend Framework 2
Introdução ao Zend Framework 2Introdução ao Zend Framework 2
Introdução ao Zend Framework 2
 
Android na Prática
Android na PráticaAndroid na Prática
Android na Prática
 
Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007
 
Backbone.js
Backbone.jsBackbone.js
Backbone.js
 
Ecosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_javEcosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_jav
 
Dê seus primeiros passos no desenvolvimento com Android
Dê seus primeiros passos no desenvolvimento com AndroidDê seus primeiros passos no desenvolvimento com Android
Dê seus primeiros passos no desenvolvimento com Android
 
PDC - Engenharia - Plataforma Microsoft .NET
PDC - Engenharia - Plataforma Microsoft .NETPDC - Engenharia - Plataforma Microsoft .NET
PDC - Engenharia - Plataforma Microsoft .NET
 
Aula08 android outros_recursos
Aula08 android outros_recursosAula08 android outros_recursos
Aula08 android outros_recursos
 
Curso Android - 03 Conceitos Chaves
Curso Android - 03 Conceitos ChavesCurso Android - 03 Conceitos Chaves
Curso Android - 03 Conceitos Chaves
 
Desenvolvimento de Apps e Games para Android - Parte 4
Desenvolvimento de Apps e Games para Android - Parte 4Desenvolvimento de Apps e Games para Android - Parte 4
Desenvolvimento de Apps e Games para Android - Parte 4
 
Caelum Day In Rio
Caelum Day In RioCaelum Day In Rio
Caelum Day In Rio
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
 
Curso de J2ME - Parte 03 - Desenvolvimento de aplicações
Curso de J2ME - Parte 03 - Desenvolvimento de aplicaçõesCurso de J2ME - Parte 03 - Desenvolvimento de aplicações
Curso de J2ME - Parte 03 - Desenvolvimento de aplicações
 
DevFest 2012 - Esquartejando sua Activity com Fragments
DevFest 2012 - Esquartejando sua Activity com FragmentsDevFest 2012 - Esquartejando sua Activity com Fragments
DevFest 2012 - Esquartejando sua Activity com Fragments
 

Introdução Programação Android

  • 1. Introdução de programação ao Android ● Apresentação por : Pedro Veloso ● Email(s) : pedro.n.veloso@gmail.com ● pedronveloso@androidpt.com ● G+: http://goo.gl/yS2sE
  • 2. Temas abordados ● Fundamentos do sistema operativo Android ● Componentes de uma aplicação ● O AndroidManifest.xml ● Mecanismo de recursos da aplicação
  • 3. Fundamentos do sistema operativo Android ● VM e Kernel ● Separação lógica entre processos
  • 4. VM e Kernel ● Corre em cima de um Kernel de GNU/Linux modificado ● Dalvik é a máquina virtual de Java usada para correr aplicações Android
  • 5. Separação lógica entre processos ● Android implementa o princípio de menor privilégio ● Para obter uma permissão, esta tem de estar explicita no Manifest da aplicação, ou é produzido um Force Close em tempo de execução ● É possível implementar o conceito de espaço de memória partilhado, mas para tal é necessário usar o mesmo certificado ao assinar um APK* * APK: Android Package
  • 6. Componentes de uma aplicação ● Application ● Activity ● Service ● Content Provider ● Broadcast Receiver
  • 7. Application ● Application é estendida por apenas uma sub-classe na aplicação ● Serve para abstrair funcionalidades que necessitam de um contexto sempre ativo, mesmo quando o utilizador navega entre diferentes ecrãs ● Trata de lógica da aplicação, não deve ser usado para elementos visuais ● De uso específico a determinadas situações, e de uso opcional
  • 8. Activity ● Uma Activity é um ecrã onde o utilizador pode interagir de alguma forma, o análogo a uma Janela num computador (também chamado de Form noutras linguagens/sistemas)
  • 10. Activity - Exemplo public class MinhaActivity extends Activity { private static final String MSG_TOPO = "msgTopo"; @Override void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.minha_activity); ... @Override } public void onSaveInstanceState(Bundle savedInstanceState) { // Guardar algumas configurações antes de sair @Override savedInstanceState.putString(MSG_TOPO, "Bem vindo de protected void onPause() { volta."); musica.pausar(); super.onSaveInstanceState(savedInstanceState); } } @Override public void onRestoreInstanceState(Bundle savedInstanceState) { //resgatar as configs ao reiniciar a app super.onRestoreInstanceState(savedInstanceState); String minhaString = savedInstanceState.getString(MSG_TOPO); } }
  • 11. Service ● Corre em plano de fundo (background). Utilizado frequentemente em conjunção com Activity ● Não possui interface de utilizador ● Tal como a Activity possui métodos úteis de callback tais como onStart, onBind, onStop, etc.. ●
  • 12. Content Provider ● Usado para partilhar informação com outras aplicações ● Abstrai a forma de como a informação é processada, guardada e obtida
  • 13. Broadcast Receiver ● Uma componente que reage a um evento de sistema ● Não requer que a aplicação esteja a ser executada ● Cada broadcast de sistema é um Intent de Android
  • 14. O AndroidManifest.xml ● Peça fundamental de uma aplicação Android – Define que dispositivos são compatíveis com a aplicação – Define quais as componentes de uma aplicação – Define as permissões da aplicação
  • 15. AndroidManifest - Exemplo <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.pedronveloso.projtest" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="4" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> Mais informação em : http://developer.android.com/guide/topics/manifest/manifest-intro.html