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