Minicurso Android Ronildo Oliveira

Preview:

Citation preview

MINICURSO DE DESENVOLVIMENTO DE APLICAÇÕES PARA

A PLATAFORMA Google

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.

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.

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.

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?

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.

T-Mobile G1

Open Handset Alliance™

Versões do Android

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)

Estrutura da Aplicação Android

• Arquitetura do Android

• Linux Kernel

• Bibliotecas

• Aplicações

• Android Runtime

• Dalvik VM

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

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.

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.

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.

Android Runtime

• Core libraries;

• Dalvik Virtual Machine.

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.

Dalvik VM

Código JAVA

DalvikExecutable

Compilador Compilador JAVA

JAVA Byte Code

Compilador Compilador DEX

Dalvik Byte Code

APK

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.

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

Conceitos básicos

• Activity

• R.java

• Método findViewById

• Manifest

• Layout

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

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

}

}

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

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.

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;

} }

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

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.

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>

Layout

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>

Mãos à obra!

Hello World!!

Widgets

Projeto Final

Referências Bibliográficas