Minicurso de Desenvolvimento Android - Iguatu - CE

Preview:

DESCRIPTION

Minicurso ministrado na II EDUCITRA (Encontro de Educação, Ciência e Trabalho) na cidade de Iguatu - Ceará

Citation preview

MINICURSO DE DESENVOLVIMENTO DE APLICAÇÕES PARA

A PLATAFORMA Google

Apresentação

Ministrante: Ronildo Oliveira da Silva

• Cursando o oitavo semestre do curso IntegradoInformática IFCE Campus Cedro.

• Monitor de Programação Estruturada no IFCECampus Cedro.

• Programador de aplicações desktop e móveis.

O Que é Android?

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

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

• Uso da linguagem de programação Java.

Criação do Android

Andrew E. Rubin – (Fundador da Android Inc.)

• Vice-presidente de mobilidade do Google.

• (CEO) da Android;

• (CEO) da Danger.Inc .

Chief Executive Officer (Diretor Executivo)

Android e a OHA

• Open Handset Alliance™(OHA) é um grupoformado por gigantes do mercado de telefonia decelulares liderados pelo Google que revelou aplataforma Open Source Android e uma versão daSDK em 12 de novembro de 2007.

T-Mobile G1

Open Handset Alliance™

Atualmente são 84 empresas participantes!Acesse: http://www.openhandsetalliance.com/oha_members.html para mais informações.

Versões do Android

Versões do Android

As diferentes versões de Android tem 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)5.0: Key Lime Pie (Maio de 2013)

Estrutura da Aplicação Android

• Arquitetura do Android

• Linux Kernel

• Bibliotecas

• Aplicações

• Android Runtime

• Dalvik VM

Arquitetura da Plataforma Android

Driver de USBDriver do Teclado

Driver de RedeSem fio

Drivers deÁudio

Gerenciamento De Energia

Driver de Display

Driver daCamera

Driver deBluetooth

Driver deCartão (SD)

Driver deConexão (PC)

NÚCLEO LINUX

Gerência deSuperfícies

Quadro deMídias

SQLite -Dados

Open GL/S -Gráficos 3D

FreeType –Fontes

WebKit -Rede Internet

SGL -Gráficos 2D

SSL - Camada de Segurança

Libc -Bibliotecas C

BIBLIOTECAS

Gerência dePacotes

Gerência deTelefonia

Gerência deRecursos

Gerência deLocalização

Serviços deXMPP

Gerência deAtividades

Gerência de Janela

Provedor deConteúdo

Sistema deVisualização

Gerência deNotificação

QUARO DE APLICAÇÕES

Início Contatos Telefone Navegador ...

APLICAÇÕES

Bibliotecas do Núcleo Java

ANDROID TEMPO/EXECUÇÃO

Máquina Virtual Dalvik

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.

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.

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 seguintescaracterísticas:– Poder existir múltiplas instâncias da máquina virtual

simultaneamente;

– Baixo consumo de memória;

– Mais eficiente do que uma JVM.

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

vida d

e u

ma 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 comas referências de todos os recursos do projeto.

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

Classe Rpackage curso.android;

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;

– Manipular configurações suportadas pela Aplicação;

– Permissões;

– Entre outras funções.

Android Manifest

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

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

package="curso.android"

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=“CursoAndroid"

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

Mãos à obra!

Hello World!!

Widgets

Utilizando Recursos Estudados

Referências Bibliográficas

Obrigado

• E-mail:

ro.nildooliveira@hotmail.com

dev.rwx@gmail.com

http://www.slideshare.net/TheRonildoOliveira

Recommended