Transferências Governamentais Constitucionais e Legais Palestrante: Ronildo Ferreira Nunes.
Minicurso Android Ronildo Oliveira
-
Upload
ronildo-oliveira -
Category
Technology
-
view
1.013 -
download
0
Transcript of Minicurso Android Ronildo Oliveira
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