Introdução a programação em Android
-
Upload
pedro-veloso -
Category
Technology
-
view
610 -
download
4
description
Transcript of Introdução a programação em Android
● Apresentação por : Pedro Veloso● Email(s) : [email protected]● [email protected]● G+: http://goo.gl/yS2sE
Introdução de programação ao Android
Temas abordados
● Fundamentos do sistema operativo Android● Componentes de uma aplicação● O AndroidManifest.xml● Mecanismo de recursos da aplicação
Fundamentos do sistema operativoAndroid
● 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 protected void onPause() { musica.pausar(); }
@Override public void onSaveInstanceState(Bundle savedInstanceState) { // Guardar algumas configurações antes de sair savedInstanceState.putString(MSG_TOPO, "Bem vindo de
volta."); 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