Descrição geral do Android

Documentos relacionados
Descrição geral do Android

O que é o Android? O que é o Android

COMPUTAÇÃO MÓVEL. Prof. M.Sc Sílvio Bacalá Jr

Sistemas Embarcados Android

A plataforma Android: Uma Introdução

Introdução ao Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ

Introdução ao Android

Capítulo 8. Software de Sistema

Computação II Orientação a Objetos

PROGRAMAÇÃO JAVA. Parte 1

Android Básico Hello World!

EA998/MC933 Guido Araujo e Sandro Rigo

Introdução ao Android. SECAP 2014 Prof. Rone Ilídio - UFSJ

AULA 2. Minicurso PET-EE UFRN

O Windows é um software de sistema, que permite ao utilizador interagir com o computador e com os seus periféricos.

Programação por Objectos

Conceitos Básicos sobre Programação Prática

INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. ADS 6º Período

OFICINA ANDROID COMO COMEÇAR A DESENVOLVER!

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Aspectos de Sistemas Operativos

Dispositivos móveis e o mercado Android Open Handset Alliance Informações sobre Android Arquitetura

Introdução Dalvik Linux 2.6. Android. Diogo de Campos, João Paulo Pizani Flor, Maurício Oliveira Haensch, Pedro Covolan Bachiega

Conceitos Básicos e Práticos do Android

Minicurso - Android Fábio Silva / João Paulo Ribeiro

Android. Marcelo

Curso: Especializado Desenvolvimento de Aplicações para Android

Programação para Android

Programação para Dispositivos Móveis

Introdução à Informática

Resolução de avarias de MPEG

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Desenvolvimento Web TCC Turma A-1

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico

Desenvolvimento de um aplicativo básico usando o Google Android

Introdução ao Android SDK. Prof. Me. Hélio Esperidião

Sobre o Colméia: Grupo de pesquisa em Software e Hardware Livre. Software Livre não é só Linux!

Estrutura de um Sistema Linux Moderno Padrões de um Sistema Linux. Prof. Claudio Silva

Prototipagem e Execução

implementação Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa Fernando Ramos, Nuno Neves, Sistemas Operativos,

Guia Passo a Passo de Actualização do Windows 8.1

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

MONOGRAFIA: PLATAFORMAS DE DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS

Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java

O SISTEMA ANDROID NO UNIVERSO DOS DISPOSITIVOS MÓVEIS

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

OBJETIVO Criação e execução de um projeto Android dentro da IDE IntelliJ.

Desenvolvimento Android.

CONTEÚDO (técnico) COMPLETO DO TREINAMENTO INTENSIVO PARA ANDROID Universidade Android

1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através da codificação ASCII (American Standard Code for

2-Introdução e Conceitos Básicos das TIC

Introdução ao ANDROID Prof. Dr. Joaquim C. Assunção

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres

KF2.4 MANUAL DE UTILIZADOR

Virtualização Gerencia de Redes Redes de Computadores II

Tutorial 1.0. Instalação

Desenvolvimento para Android Prá9ca 1. Prof. Markus Endler

Programação de Computadores II TCC Turma A-1

Aula 1 - Introdução e configuração de ambiente de desenvolvimento

Sistemas Operacionais Introdução

Universidade da Beira Interior Cursos: Engenharia Informática, Matemática /Informática e Ensino da Informática

Programação para Dispositivos Móveis

A Revolucionar a Gestão de Filas.

Programação de Computadores - I. Profª Beatriz Profº Israel

Introdução à Arquitetura e Linguagem Assembly de Processadores IA-32

Manual Teamwork. Manual de instalação, configuração e utilização

Linguagem de Programação Introdução a Linguagem Java

Minicurso introdutório de desenvolvimento para dispositivos Android. Cristiano Costa

Apresentação Introdução Ambiente de desenvolvimento Aplicativos. Minicurso Android. Dia 1. Adão Henrique R. Justo Filho UFC - DETI 16/10/2012

INSTALAÇÃO UBUNTU NUM INSTANTE

MODELAGEM DE SISTEMA Apresentação

PROJETO PEDAGÓGICO DE CURSOS

Manual de Utilização de Webcams no. Desenvolvimento de Aplicativos Java

(Aula 15) Threads e Threads em Java

C3SL - Centro de Computação Científica e Software Livre. Estudo sobre Android

Introdução a Arquitetura Android

Interface Homem Máquina para Domótica baseado em tecnologias Web

Infra-Estrutura de Software. Introdução. (cont.)

Sistemas Embarcados Android

Departamento de Engenharia e Ciências do Mar Licenciatura em Engenharia Informática e de Computadores Projeto Fim de Curso TÍTULO

Departamento de Informática

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

Simulação de Redes de Comunicação

Google Android para Tablets

Desenvolvimento com Android Studio Aula 01 Instalação e Configuração do Ambiente de Desenvolvimento, Estrutura de um projeto Android

Sistemas Operacionais 1/66

Boot Camp Manual de Instalação e Configuração

Sistemas Operacionais. Roteiro. Sistemas de Computadores. Os sistemas de computadores são projetados com basicamente 3 componentes: Marcos Laureano

Transcrição:

Descrição geral do Android (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt)

Versões & API A versão 1.0 foi lançada em Fevereiro de 2009 (API 2) Cada versão tem novas características: Para o programador (mantendo compatibilidade) Para o utilizador Versão Codename nível da API Distribuição 2.2 Froyo 8 1.2% 2.3.0 2.3.7 Gingerbread 9..10 19.0% 3.0 3.2 Honeycomb 11..13 0.1% 4.0.0 4.0.3 Ice Cream Sandwich 14..15 15.2% 4.1 4.3 Jelly Bean 16..18 62.0% 4.4 KitKat 19 2.5% 2

O Android é Stack de software para dispositivos móveis Aplicações essenciais (Java): Home; Phone; Contacts; Browser; Application Framework (Java): Gestão dos componentes das aplicações Runtime (Java & C): Máquina virtual Java (Dalvik) ; Bibliteca geral (Java) Biblioteca (C/C++): Gráficos; Base de Dados; Biblioteca de C; Áudio; Vídeo; Imagens; Sistema Operativo (Kernel Linux): Mecanismo de segurança; Gestão memoria; Gestão de processos; Stack de Rede; Gestão de alimentação; Drivers Ambiente de desenvolvimento (Windows; MacOS; Linux) SDK (Aplicações - Java) ; NDK (Componentes críticos - C/C++) 3

Arquitetura do Androide 4

Dalvik Dalvik é o nome duma vila na Islândia MV baseada em registos (em vez de stack) Menos instruções geradas O código Java depois de compilado é recompilado para a MV Dalvik Um só ficheiro dex com todo o código da aplicação A biblioteca Java é baseada na Platform Standard Edition Hierarquias de classes Swing e AWT substituídas por Views Acrescentadas novas funcionalidades 5

Máquina Virtual Dalvik Java source.java Java Compiler javac... Java source.java Java Compiler javac Java archive.jar Java byte code.class... Java byte code.class stack machine JVM Resources.xml.xml Dex Compiler dx Dalvik byte code.dex Android Manifest.xml Application package.apk regiter machine Dalvik 6

Aplicação para Android As aplicações são desenvolvidas em Java Usando as ferramentas tradicionais de Java O código e os recursos de cada aplicação são empacotados num ficheiro, com extensão.apk Usando o utilitário (android) do SDK A aplicação é instalada no dispositivo a partir do ficheiro.apk A aplicação pode ser testada no SDK num dispositivo virtual Usando o emulador para Android Virtual Device (AVD) Para cada aplicação é criado um utilizador Linux (user ID) e só esse tem acesso a todos os recursos (ficheiros) da aplicação Cada aplicação é executada no seu próprio processo Linux com a sua própria instância da máquina virtual Dalvik 7

Componentes de uma aplicação App A aplicação não é uma classe com um método main(). A S P R A aplicação é constituída por componentes que interagem com o sistema. Cada tipo de componente tem objectivos específicos e ciclos de vida distintos: Atividades - classe derivada de Activity A Écrans de interacção com o utilizador. Uma delas é lançada no arranque da aplicação (LAUNCHER). Exemplo: Edição de SMS Serviços - classe derivada de Service S Operações demoradas executadas em segundo plano Exemplo: Reproduzir uma música Fornecedores de conteúdos - derivada de ContentProvider P Gestor da informação partilhada que reside em qualquer fonte de dados Exemplo de conteúdo: Lista de contactos Receptores de notificações - derivada de BroadcastReceiver R Captura as notificações originadas pelo sistema ou outras aplicações Exemplo de notificação: Bateria fraca 8

Manifesto da aplicação Cada aplicação tem um ficheiro (AndroidManifest.xml) que descreve as suas características: Os seus componentes; Nível mínimo da API suportada; Recursos de hardware e software necessita; etc. <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="hello" android:versioncode="1" android:versionname="1.0" > <uses-sdk android:minsdkversion="10" /> <application> <activity android:name="firstappactivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity>... <sevice>... <receiver>... <provider>... <supports-screens android:anydensity="true"/> </application> </manifest> 9

Recursos da aplicação As aplicações têm vários tipos de recursos: - Disposição de écrans; Tabelas de strings; Menus; Imagens Normalmente, descritos em XML - xmlns:android="http://schemas.android.com/apk/res/android" Podem ser especializados para várias dimensões de écran e línguas - res/layout/main.xml & res/layout-port/main.xml - res/values/strings.xml & res/values-pt/strings.xml Os recursos e os elementos dos recursos podem ter um ID único (int) que pode ser gerado automaticamente pelo SDK - R.string.app_name = 0x7f040001; 10