32
Android Paulo Renato

Introdução ao android

Embed Size (px)

DESCRIPTION

Introdução ao android

Citation preview

Page 1: Introdução ao android

AndroidPaulo Renato

Page 2: Introdução ao android

O que é?

Android é uma plataforma para desenvolvimento e execução de programas para dispositivos móveis, robusta e de fácil utilização.

Esta plataforma é vista hoje como uma ótima alternativa para o desenvolvimento de aplicações.

Page 3: Introdução ao android

Open Handset Alliance

Consórcio entre mais de 40 empresas (Google, HTC, Intel, Motorola, Samsung, Nextel e NVIDIA)

Desenvolver padrões abertos para os dispositivos móveis

Primeiro produto foi o Android, construído sobre o sistema operacional Linux

Page 4: Introdução ao android

Infraestrutura de Software

A infraestrutura do Android é formada por: Sistema operacional baseado em Linux, Conjunto de bibliotecas, API chamada Android Runtime, As aplicações pré-existentes no Android

e aplicações diversas

Page 5: Introdução ao android

Linux kernel

Versão do kernel: 2.6 Camada de de abstração entre o hardware e o

resto da pilha de software Segurança Gerenciamento de memória Gerenciamento de processos Protocolos de rede Modelo de drivers

Page 6: Introdução ao android

Bibliotecas

Android inclui um conjunto de bibliotecas C/C++ usadas por diversos componentes do sistema: System C Library Media Libraries Surface Manager LibWebCore SGL 3D Libraries FreeType SQLite

Page 7: Introdução ao android

Runtime

Aplicação Android: É um processo

Linux Própria instância da

máquina vitual Dalvik

Executa arquivos .dex

Page 8: Introdução ao android

Frameworks

Bibliotecas de mais alto nível Responsáveis por funções específicas no aparelho:

Gerenciamento de janelas Gerenciamento de recursos dos dispositivos móveis Notificações

Essas são as bibliotecas acessadas pelos desenvolvedores Android para interagir com o dispositivo móvel.

Page 9: Introdução ao android

Aplicações

Os aplicativos são ferramentas comuns a todos os usuários de celulares e smatphones. Cliente de email Programa SMS Calendário Mapas Navegador Contatos

Page 10: Introdução ao android

Infraestrutura de Software

Page 11: Introdução ao android

Android API x Java API

Pacotes suportados java.io - File and stream I/O java.lang - (except java.lang.management)

Language and exception support java.math - Big numbers, rounding, precision java.net - Network I/O, URLs, sockets java.nio - File and channel I/O java.security - Authorization, certificates, public

keys java.sql - Database interfaces java.text - Formatting, natural language, collation java.util Lists, maps, sets, arrays, collections

Page 12: Introdução ao android

Android API x Java API

Pacotes suportados javax.crypto - Ciphers, public keys javax.security except:

▪ javax.security.auth.kerberos▪ javax.security.auth.spi▪ javax.security.sasl

javax.sound - Music and sound effects javax.xml.parsers - XML parsing org.w3c.dom - DOM nodes and elements▪ but not subpackages

org.xml.sax - Simple API for XML

Page 13: Introdução ao android

Ambiente de execução

A plataforma é composta por uma máquina virtual Dalvik

Requer pouca memória Cada aplicação é um processo Cada processo roda tem sua prórpia

VM Executa arquivos .dex (Dalvik

Executable)

Page 14: Introdução ao android

Ambiente de Desenvolvimento

IDE: Netbeans ou Eclipse (Oficial) JDK - Kit de Desenvolvimento Java Android SDK - Kit de Desenvolvimento

Padrão do Android Plugins:

Eclipse - Android Development Tools (ADT) ▪ http://dl-ssl.google.com/android/eclipse/

Netbeans – Nbandroid▪ http://kenai.com/downloads/nbandroid/

updates.xml

Page 15: Introdução ao android

Ambiente de Desenvolvimento

Deve-se criar um AVD (Android Virtual Device), ao qual um aplicativo quando executado deve ser associado.

O AVD possui características do dispositivo, como resolução de tela, tamanho da memória externa, entre outras.

Page 16: Introdução ao android

DroidDraw

Page 17: Introdução ao android

Aplicação android

As aplicações são compostas por um ou mais componentes:

Activity BroadcastReceiver Service ContentProvider

Page 18: Introdução ao android

Activity

É um componente do aplicativo que fornece uma tela com a qual os usuários podem interagir, a fim de fazer algo, como discar o telefone, tirar uma foto, envie um e-mail, ou ver um mapa.

As atividades são armazenada em uma pilha

Page 19: Introdução ao android

Activity

Page 20: Introdução ao android

Content Providers

ContentProviders armazenam e recuperam dados e tornam estes dados disponíveis para todas as aplicações.

São o único modo de compartilhar dados entre as aplicações.

A plataforma fornece ContentProvider para os tipos de dados mais comuns (áudio, vídeo, imagens, etc.)

Page 21: Introdução ao android

BroadcastReceiver

BroadcastReceiver é utilizado quando a aplicação necessita responder a eventos externos, como uma ligação sendo recebida.

As aplicações podem iniciar os broadcasts, para notificar outras aplicações que um conteúdo foi baixado e está disponível para uso.

Page 22: Introdução ao android

Service

Um serviço é um componente da aplicação que pode executar operações de longa duração em segundo plano e não oferece uma interface de usuário. 

Outro componente do aplicativo pode iniciar um serviço e vai continuar a correr em segundo plano, mesmo se o usuário muda para outro aplicativo.

Page 23: Introdução ao android

Estrutura do projeto

AndroidManifest.xml: Um XML descrevendo a aplicação que está sendo construida e quais componentes (atividades, serviços, etc.) são fornecidos por esta aplicação.

build.xml: um script Ant para compilar a aplicação e instalar ela no dispositivo.

default.properties, um arquivo de propriedade usado pelo script build

bin/ contém o aplicativo, uma vez que é compilado libs/ contém os JARs externos utilizados na aplicação src/ contém o código-fonte da aplicação res/ contém os recursos (Gif, layouts GUI) assets/ contém arquivos estáticos que necessitam ser

empacotados junto com a aplicação

Page 24: Introdução ao android

Estrutura do projeto

Quando compilado o projeto, os resultados vão para a pasta bin

bin /classes/  contém  as classes compiladas Java

bin /classes.dex  contém  o executável criado a partir dessas classes Java compiladas

bin /yourapp.ap_  contém os recursos do seu aplicativo, como um arquivo ZIP

bin / YourApp-unsigned.apk é a aplicação real do Android

Page 25: Introdução ao android

JoKenPo

Page 26: Introdução ao android

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.jokenpo" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="2" />

<application android:icon="@drawable/icon" android:label="@string/app_name">

<activity android:name="JoKenPo" 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>

Page 27: Introdução ao android

Main.xml

<?xml version="1.0" encoding="utf-8"?><AbsoluteLayout android:id="@+id/widget27"android:layout_width="fill_parent" android:layout_height="fill_parent"xmlns:android="http://schemas.android.com/apk/res/android">

<TextView android:id="@+id/escolha" android:layout_width="wrap_content"

android:layout_height="wrap_content" android:text="Escolha:"android:textStyle="bold|italic" android:layout_x="11px"android:layout_y="276px"></TextView><ImageButton android:id="@+id/papel" android:layout_width="90px"android:layout_height="55px" android:src="@drawable/papel"android:layout_x="7px" android:layout_y="314px"></ImageButton>...

</AbsoluteLayout>

Page 28: Introdução ao android

JoKenPo.java

public class JoKenPo extends Activity {

private ImageButton btnPapel, btnPedra, btnTesoura, btnUserPick, btnCpuPick;....public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);setContentView(R.layout.main);btnPapel = (ImageButton) findViewById(R.id.papel);btnPedra = (ImageButton) findViewById(R.id.pedra);btnTesoura = (ImageButton) findViewById(R.id.tesoura);...btnPapel.setOnClickListener(new ImageButton.OnClickListener() {

public void onClick(View v) {escolherPapel();}

});

...

Page 29: Introdução ao android

Emulador

Page 30: Introdução ao android

Emulador

Page 31: Introdução ao android

Conclusão

O Android se mostra um grande concorrente para Apple e vem apresentando números impressionantes em seu crescimento.

Page 32: Introdução ao android

Dúvidas?