introdução a programação em android

15
Apresentação por : Pedro Veloso Email(s) : [email protected] [email protected] G+: http://goo.gl/yS2sE Introdução de programação ao Android

Upload: pedro-veloso

Post on 30-Jun-2015

610 views

Category:

Technology


4 download

DESCRIPTION

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

TRANSCRIPT

Page 1: 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

Page 2: Introdução a programação em Android

Temas abordados

● Fundamentos do sistema operativo Android● Componentes de uma aplicação● O AndroidManifest.xml● Mecanismo de recursos da aplicação

Page 3: Introdução a programação em Android

Fundamentos do sistema operativoAndroid

● VM e Kernel● Separação lógica entre processos

Page 4: Introdução a programação em Android

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

Page 5: Introdução a programação em 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

Page 6: Introdução a programação em Android

Componentes de uma aplicação

● Application● Activity● Service● Content Provider● Broadcast Receiver

Page 7: Introdução a programação em Android

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

Page 8: Introdução a programação em Android

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)

Page 9: Introdução a programação em Android

Activity Lifecycle

Page 10: Introdução a programação em Android

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); }

}

Page 11: Introdução a programação em Android

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..

Page 12: Introdução a programação em Android

Content Provider

● Usado para partilhar informação com outras aplicações

● Abstrai a forma de como a informação é processada, guardada e obtida

Page 13: Introdução a programação em Android

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

Page 14: Introdução a programação em 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

Page 15: Introdução a programação em Android

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