e tertulia paol-rq

46

Upload: kmilt

Post on 25-May-2015

121 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: E tertulia paol-rq
Page 2: E tertulia paol-rq

Agenda Evolução

M-Learning - Desenvolvimento

Web

Nativo

Caso de estudo: Android

Plataforma

Desenvolvimento

Contactos

Page 3: E tertulia paol-rq

Evolução Computadores

Tamanho & Desempenho

66 anos

ENIAC1947

HTC One(Abril 2013)

Page 4: E tertulia paol-rq

Evolução Computadores

Tamanho & capacidade

IBM RAMAC (5MB)1956

SSD SATA(256 GB)2006

50 anos

Page 5: E tertulia paol-rq

Evolução Computadores

Interacção com o meio envolvente

ARPANET1968

WEB 2.02004

36 anos

Page 6: E tertulia paol-rq

Evolução Primeiros computadores portáteis

Xerox NoteTaker (1976)

Osborne (1980)

Compaq Portable (1983)

Page 7: E tertulia paol-rq

Evolução Personal Digital Assistant (PDA)

Assistentes digitais pessoais

Evolução:

Calculadoras avançadas

Organizadores pessoais

Computadores de bolso

Principais PDAs

Psion Organizer (1984)

Apple Newton Message Pad (1993)

Palm Pilot (1996)

Page 8: E tertulia paol-rq

Evolução Primeiros SOs e plataformas

Microsoft (WinPad + Pulsar = Pegasus)

Nascimento do Windows CE (1996)

Estatísticas do mercado:

Windows CE – 34%

Palm OS – 43%

Page 9: E tertulia paol-rq

Evolução A hegemonia da Microsoft e da Palm, Inc. foi posta em

causa com o aparecimento de novos SO no novo milénio…

Apple IPhoneiOS

(2007)

HTC DreamAndroid(2008)

Page 10: E tertulia paol-rq

M-Learning - DesenvolvimentoM-Learning…desafios técnicos?

Bateria

Conetividade

Tamanho do ecrã

Streaming

Formatos suportados

Segurança

Fragmentação (standards, resoluções, SO)

Adaptação de conteúdos

Page 11: E tertulia paol-rq

M-Learning - DesenvolvimentoAbordagens

1. Usar sistemas de e-learning existentes

2. Criar novos sistemas

Aplicações Web

Aplicações Nativas

Page 12: E tertulia paol-rq

1. Usar sistemas de e-learning existentes1. Sistemas de Gestão de Aprendizagem

1. MM (Moodle Mobile)

HTML5 app (suporte Moodle 2.4)

REST Web Services para obter/enviarinfo de/para a instalação mãe do Moodle

Layout criado usando HTML5/CSS3

Interação com o dispositivo via Phonegap

Suporte jQuery (javascript framework)

Chamada de Web Services

Manipulação do DOM

Interação com o Phonegap

M-Learning - Desenvolvimento

Page 13: E tertulia paol-rq

1. Usar sistemas de e-learning existentes2. Ferramentas de autoria multi-dispositivos

1. Articulate StoryLine

2. Lectora

3. Captivate

4. GoMoLearning

M-Learning - Desenvolvimento

Page 14: E tertulia paol-rq

2. Criar novos sistemas1. Aplicações Web

Podem ser executadas em múltiplas plataformas

A mesma interface independente do dispositivo

Atualização rápida e abrangente

Ex: HTML5

2. Aplicações Nativas Mais tempo para chegar a todas as plataformas

SDK facilita a programação e teste das aplicações

Tira melhor partido do dispositivo (ex.: sensores).

Uso dos recursos de hardware (ex. acelerómetro para jogos)

Ex: Android apps, iOS apps, etc.

M-Learning - Desenvolvimento

Page 15: E tertulia paol-rq

Desenvolvimento Web Técnicas de otimização de sites para smartphones

1. Responsive web design

2. User agent

3. Separate sites

Page 16: E tertulia paol-rq

Desenvolvimento Web1. Responsive web design

Usa uma única URL

Mesmo conteúdo para todos osdispositivos

Usa CSS3 media queriespara inferir características docliente e decidir formatação

Page 17: E tertulia paol-rq

Desenvolvimento Web2. User-Agent

Usa uma única URL

Deteta responsável pelo pedido através da inspeção do cabeçalho do pedido HTTP user-agent

Direciona o pedido para diferentes conteúdos

Page 18: E tertulia paol-rq

Desenvolvimento Web3. Separate sites

Usa normalmente duas URLs

Uma para o site desktop

Outra para o site mobile

Page 19: E tertulia paol-rq

Desenvolvimento Nativo

Sistemas Operativos móveis

Android (Eclipse + Java)

iOS (Xcode + Objective-C)

BlackBerry (Eclipse+Java(ME))

Windows Phone (Visual Studio + C#/VB/*)

1 – Relatório IDC 2012

Page 20: E tertulia paol-rq

Desenvolvimento Nativo Mercado nos Sistemas Operativos móveis 1

Android (75%)

iOS (14,9%)

BlackBerry (4,3%)

Symbian (2,3%)

Windows Phone (2%)

Google Nexus 4Android 4.2.2

(2012)1 – Relatório IDC 2012

Page 21: E tertulia paol-rq

Plataforma Android O que é o Android?

Sistema Operativo

Baseado em Linux

Direcionado para smartphones e tablets

Criado em 2007 pela Open Handset Alliance (Google et al)

Primeiro dispositivo foi o HTC Dream lançado em 2008

Page 22: E tertulia paol-rq

Plataforma Android Versões

Page 23: E tertulia paol-rq

Plataforma Android Arquitetura

Page 24: E tertulia paol-rq

Plataforma Android Google Play

Loja online mantida pela Google paradistribuição de aplicações, jogos, etc.

Quase 1 milhão de apps disponíveis

Google Play Store

Page 25: E tertulia paol-rq

Plataforma Android Características

Armazenamento - suporte SQLite (base de dados relacional);

Conectividade - suporte para GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth (inclui A2DP e AVRCP), Wi-Fi, LTE, e WiMAX;

Mensagens - suporte de SMS e MMS;

Navegação Web - baseado no motor WebKit. Suporte para Flash;

Multimédia - suporte para formatos de imagem (JPEG, PNG, GIF, e BMP), audio (MP3, Ogg Vorbis, WAV) e vídeo (MPEG4, H.264);

Hardware - câmaras de vídeo, touchscreen, acelerómetros, sensor de proximidade, GPS, bússola digital, gráficos 3D;

Interação - suporte multi-toque e aplicações multi-tarefa;

SDK - contém as ferramentas necessárias para criar, compilar, testar, empacotar e distribuir aplicações Android.

Page 26: E tertulia paol-rq

Desenvolvimento em Android Requisitos para desenvolvimento

1. Android SDK

2. Eclipse

3. Android Development Tools

ADT Bundle: http://developer.android.com/sdk/index.html

Android SDK(1)

ADT (3)

SO

Eclipse (2)

JAVA

Page 27: E tertulia paol-rq

Desenvolvimento em Android1. Android SDK

Contém as ferramentas necessárias para criar, compilar, testar, empacotar e distribuir aplicações

URL: http://developer.android.com/sdk/index.html

SDK Manager

Page 28: E tertulia paol-rq

Desenvolvimento em Android2. Eclipse

IDE recomendado para codificação de aplicações Android

Versão mais recente é o Eclipse Juno (4.2)

URL: http://www.eclipse.org/downloads/

Pacote: “Eclipse IDE for Java EE Developers”

Page 29: E tertulia paol-rq

Desenvolvimento em Android3. Android Development Tools (ADT)

Conjunto de plugins que extendeo Eclipse para suporte Android

Android Virtual Devices (AVD)

URL: https://dl-ssl.google.com/android/eclipse/

Page 30: E tertulia paol-rq

Desenvolvimento em Android3. Android Development Tools (ADT)

Conjunto de plugins que extendeo Eclipse para suporte Android

Android Virtual Devices (AVD)

URL: https://dl-ssl.google.com/android/eclipse/

Page 31: E tertulia paol-rq

Desenvolvimento em Android A minha primeira App (I)

Page 32: E tertulia paol-rq

Desenvolvimento em Android A minha primeira App (II)

Page 33: E tertulia paol-rq

Desenvolvimento em Android A minha primeira App (III)

Page 34: E tertulia paol-rq

Desenvolvimento em Android A minha primeira App (IV)

Page 35: E tertulia paol-rq

Desenvolvimento em Android A minha primeira App (V)

Page 36: E tertulia paol-rq

RECURSOS

Desenvolvimento em Android Anatomia de um projeto Android

APP

ATIVIDADES

UI LÓGICA

MANIFESTO

Page 37: E tertulia paol-rq

Desenvolvimento em Android Anatomia de um projeto Android

Atividades – entidades principais de uma app composta por:

Parte gráfica(.XML)

Parte lógica (.JAVA)

Page 38: E tertulia paol-rq

Desenvolvimento em Android Anatomia de um projeto Android

Atividades – entidades principais de uma app composta por:

Parte gráfica(.XML)

Parte lógica (.JAVA)

public class HelloWorldActivity extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_hello_world);

}

}

Page 39: E tertulia paol-rq

Desenvolvimento em Android Componentes

FUNCIONALIDADE CLASSE BASE JAVA EXEMPLOS

Foco em coisas que o utilizador possa fazer Activity Editar uma nota, jogando um jogo

Execução de processos em background Service Tocar uma música

Receção de mensagens BroadcastReceiver Despoletar alarme após evento

Armazenamento/recuperação de dados ContentProvider Abrir um contacto telefónico

Page 40: E tertulia paol-rq

Desenvolvimento em Android Comunicação entre atividades

Usando Intents

Intent sendIntent = new Intent();

sendIntent.setAction(Intent.ACTION_SEND);

sendIntent.putExtra(Intent.EXTRA_TEXT, "Uma mensagem de

texto...");

sendIntent.setType("text/plain");

startActivity(sendIntent);

Page 41: E tertulia paol-rq

Desenvolvimento em Android Interface Gráfica

Hierarquia de objetos View e ViewGroup

Page 42: E tertulia paol-rq

Desenvolvimento em Android Interface Gráfica

Tipos de layout (objetos ViewGroup)

Page 43: E tertulia paol-rq

Desenvolvimento em Android Interface Gráfica

Tipos de widgets (objetos View)

Page 44: E tertulia paol-rq

Desenvolvimento em Android Sensores

Movimento - medem as forças deaceleração e de rotação, ao longo detrês eixos. Esta categoria incluiacelerômetros, sensores de gravidade,giroscópios, entre outros;

Ambientais - medem vários parâmetros ambientais, tais como a temperatura ambiente do ar e da pressão, a iluminação e humidade. Esta categoria inclui barómetros, fotômetros e termômetros;

Posição - medem a posição física de um dispositivo. Esta categoria inclui sensores de orientação e magnetómetros.

Page 45: E tertulia paol-rq

Desenvolvimento móvelM-Learning…futuro?

Location aware learning

Point-and-shoot learning e códigos 2D

Segurança nas transações - Near Field Communications (NFC)

Sensores e acelerómetros (behavioral based learning)

Criação de conteúdos móveis (user generated content)

Jogos

Simulação e realidade aumentada

Page 46: E tertulia paol-rq

Contactos

"I practice until I have my life in my fingers"Pianists' expression

[email protected]