Introdução a programação em Android

795 visualizações

Publicada em

Slides de apresentação complementares ao workshop de introdução a Android : http://xx.sinfo.org/en/workshop-android-programming

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
795
No SlideShare
0
A partir de incorporações
0
Número de incorporações
20
Ações
Compartilhamentos
0
Downloads
46
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Introdução a programação em Android

  1. 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. 2. Temas abordados● Fundamentos do sistema operativo Android● Componentes de uma aplicação● O AndroidManifest.xml● Mecanismo de recursos da aplicação
  3. 3. Fundamentos do sistema operativo Android● VM e Kernel● Separação lógica entre processos
  4. 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. 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. 6. Componentes de uma aplicação● Application● Activity● Service● Content Provider● Broadcast Receiver
  7. 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. 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)
  9. 9. Activity Lifecycle
  10. 10. Activity - Exemplopublic 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. 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. 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. 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. 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. 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

×