minicurso android ronildo oliveira

36
MINICURSO DE DESENVOLVIMENTO DE APLICAÇÕES PARA A PLATAFORMA Google

Upload: ronildo-oliveira

Post on 11-Jun-2015

1.013 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Minicurso Android  Ronildo Oliveira

MINICURSO DE DESENVOLVIMENTO DE APLICAÇÕES PARA

A PLATAFORMA Google

Page 2: Minicurso Android  Ronildo Oliveira

Apresentação

Ministrante: Ronildo Oliveira da Silva

• Cursando o sétimo semestre do curso IntegradoInformática IFCE Campus Cedro.

• Monitor de Programação Estruturada no IFCE CampusCedro.

• Programador de aplicações móveis.

Page 3: Minicurso Android  Ronildo Oliveira

Apresentação

Orientador: Derig Almeida Vidal

• Mestre em Computação Aplicada a Redes deComputadores, Engenheiro de Produção e Tecnólogoem Automática.

• Professor e coordenador do Curso Integrado emInformática do IFCE Campus Cedro.

Page 4: Minicurso Android  Ronildo Oliveira

O Que é Android?

• O Android é um ambiente de desenvolvimento de software para dispositivos móveis.

• Utiliza-se a linguagem de programação Java para desenvolver aplicações para a plataforma.

• O Android possui: Aplicações, Bibliotecas, Frameworks, rica interface de Usuário (UI) e muito mais.

Page 5: Minicurso Android  Ronildo Oliveira

Andrew E. Rubin

• Vice-presidente de mobilidade

do Google.

• Diretor Executivo (CEO) da

Android e da Danger (Companhia

de design de hardware).

O Que é Android?

Page 6: Minicurso Android  Ronildo Oliveira

O Que é Android?

• Open Handset Alliance™(OHA) é um grupo formado por gigantes do mercado de telefonia de celulares liderados pelo Google que revelou a plataforma Open Source Android e uma versão da SDK em 12 de novembro de 2007.

Page 7: Minicurso Android  Ronildo Oliveira

T-Mobile G1

Page 8: Minicurso Android  Ronildo Oliveira

Open Handset Alliance™

Page 9: Minicurso Android  Ronildo Oliveira

Versões do Android

Page 10: Minicurso Android  Ronildo Oliveira

Versões do Android

As diferentes versões de Android têm desde a versão 1.5, nomes de sobremesas ou bolos (em inglês) e seguem uma lógica alfabética:

1.5: Cupcake (Abril de 2009)1.6: Donut (Setembro de 2009)2.1: Eclair (Janeiro de 2010)2.2: FroYo (Frozen Yogourt - Maio de 2010)2.3-2.4: Gingerbread (Dezembro de 2010)3.0-3.2: Honeycomb (Janeiro de 2011)4.0: Ice Cream Sandwich (Outubro de 2011)4.1: Jelly Bean (Junho de 2012)

Page 11: Minicurso Android  Ronildo Oliveira

Estrutura da Aplicação Android

• Arquitetura do Android

• Linux Kernel

• Bibliotecas

• Aplicações

• Android Runtime

• Dalvik VM

Page 12: Minicurso Android  Ronildo Oliveira

Usb Driver Keypad Driver WiFi Driver Audio DriversPower

Management

Display Driver Camera DriverBluetooth

DriverFlash Memory

DriverBinder (PC)

Driver

LINUX KERNEL

SurfaceManager

Media Framework

SQLite

Open GL/S FreeType WebKit

SGL SSL libc

LIBRARIES

PackageManager

TelephonyManager

ResourceManager

LocationManager

XMPP Service

ActivityManager

WindowManager

ContentProviders

View SystemNotification

Manager

APLICATION FRAMEWORK

Home Contacts Phone Browser ...

APLICATIONS

Arquitetura da Plataforma Android

Core Libraries

ANDROID RUNTIME

Dalvik Virtual Machine

Page 13: Minicurso Android  Ronildo Oliveira

Linux Kernel

• O Android foi construído sobre uma versão dokernel do Linux.

• Isso permite que a plataforma Android tenha alta portabilidade.

• Por ser de código aberto, permite que talentos individuais e companhias melhorem-no ainda mais.

Page 14: Minicurso Android  Ronildo Oliveira

Bibliotecas

A próxima camada acima do kernel contém asbibliotecas nativas do Android.

Essas bibliotecas são todas escritos em C ou C++ e compiladas para a arquitetura de hardware específica utilizada pelo telefone.

Page 15: Minicurso Android  Ronildo Oliveira

Bibliotecas

Algumas das mais importantes bibliotecasnativas incluem o seguinte:

• Surface Manager;

• Gráficos 2D e 3D (SGL);

• Codecs de mídia (Media Framework);

• Banco de dados SQL (SQLite);

• Browser engine (Webkit);

• FreeType.

Page 16: Minicurso Android  Ronildo Oliveira

Android Runtime

• Core libraries;

• Dalvik Virtual Machine.

Page 17: Minicurso Android  Ronildo Oliveira

Dalvik VM

• Ao invés de usar uma versão da máquina virtualJava, tal como Java ME, ele usa a sua própriamáquina virtual.

• A máquina virtual Dalvik possui as

seguintes características:– Poder existir múltiplas instâncias da

máquina virtual simultaneamente;

– Baixo consumo de memória;

– Mais eficiente do que uma máquina virtual Java.

Page 18: Minicurso Android  Ronildo Oliveira

Dalvik VM

Código JAVA

DalvikExecutable

Compilador Compilador JAVA

JAVA Byte Code

Compilador Compilador DEX

Dalvik Byte Code

APK

Page 19: Minicurso Android  Ronildo Oliveira

Aplicações

O Android nos fornece um conjunto de aplicações fundamentais, são elas:

• um cliente de e-mail;

• programa de SMS;

• agenda;

• mapas;

• navegador;

• contatos entre outros.

Page 20: Minicurso Android  Ronildo Oliveira

Instalação e Configuração do Eclipse e do Android

Page 21: Minicurso Android  Ronildo Oliveira

Conceitos básicos

• Activity

• R.java

• Método findViewById

• Manifest

• Layout

Page 22: Minicurso Android  Ronildo Oliveira

Activity

• A classe android.app.Activity representa basicamente uma tela da aplicação.

• Uma tela (Activity) é composta de vários elementos visuais, os quais no Android são representados pela classe android.view.View

Page 23: Minicurso Android  Ronildo Oliveira

Activitypackage ifce.android.minicurso;

import android.app.Activity;

import android.os.Bundle;

public class MinicursoActivity extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

}

Page 24: Minicurso Android  Ronildo Oliveira

Ciclo

de v

ida d

e um

a A

ctivity

Activity

onCreate()

onStart()

onResume()

Activity Iniciada

Outra Activity é Iniciada

onPause()

A Activity principal não é mais visível

onStop()

onDestroy()

A Activity principal é destruída

O programa precisa de mais memória

onRestart()

A Activity perde o foco

A Activity perde o foco

A Activity é reaberta através do usuário

O processo é destruído

Page 25: Minicurso Android  Ronildo Oliveira

Classe R

• É uma classe que possui métodos estáticos com asreferências de todos os recursos do projeto.

• A classe R é gerada automaticamente pelo pluginADT do eclipse e NUNCA deve ser alteradamanualmente.

Page 26: Minicurso Android  Ronildo Oliveira

Classe Rpackage ifce.android.minicurso;

public final class R {

public static final class attr {

}

public static final class drawable {

public static final int ic_launcher=0x7f020000;

}

public static final class layout {

public static final int main=0x7f030000;

}

public static final class string {

public static final int app_name=0x7f040001;

public static final int hello=0x7f040000;

} }

Page 27: Minicurso Android  Ronildo Oliveira

Método findViewByIdActivity Principal (Activity.java)

Button meuBotao01 = (Button)

findViewById(R.id.button1);

@Override

public void onCreate(Bundle

savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

View Principal (main.xml)<LinearLayout>

<Button

android:id="@+id/button1"

android:layout_width="100dp"

android:layout_height="wrap_co

ntent"

android:text="@string/telaInic

ialBotao" /> </LinearLayout>

Arquivo R.java

public static final class id {

public static final int

button1 =0x7f050002; }

Page 28: Minicurso Android  Ronildo Oliveira

Android Manifest

• O arquivo AndroidManifest.xml é o alicerce de uma aplicação Android.

• Este arquivo deve estar na raiz da aplicação.

• Este arquivo serve para:– Descrever o contexto da aplicação;

– Activities, Services, Content Providers e

Broadcast Receivers suportados pela aplicação;

– Permissões necessárias para a aplicação utilizar

os recursos de hardware e software;

– Entre outras funções.

Page 29: Minicurso Android  Ronildo Oliveira

Android Manifest<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="ifce.android.minicurso"

android:versionCode="1"

android:versionName="1.0" >

<uses-sdk android:minSdkVersion="7" />

<application

android:icon="@drawable/ic_launcher"

android:label="@string/app_name" >

<activity

android:name=".MinicursoActivity"

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 30: Minicurso Android  Ronildo Oliveira

Layout

Page 31: Minicurso Android  Ronildo Oliveira

Layout

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/hello" />

</LinearLayout>

Page 32: Minicurso Android  Ronildo Oliveira

Mãos à obra!

Page 33: Minicurso Android  Ronildo Oliveira

Hello World!!

Page 34: Minicurso Android  Ronildo Oliveira

Widgets

Page 35: Minicurso Android  Ronildo Oliveira

Projeto Final

Page 36: Minicurso Android  Ronildo Oliveira

Referências Bibliográficas