2. Apresentação
Ministrante: Ronildo Oliveira da Silva
• Cursando o sétimo semestre do curso Integrado
Informática IFCE Campus Cedro.
• Monitor de Programação Estruturada no IFCE Campus
Cedro.
• Programador de aplicações móveis.
3. Apresentação
Orientador: Derig Almeida Vidal
• Mestre em Computação Aplicada a Redes de
Computadores, Engenheiro de Produção e Tecnólogo
em Automática.
• Professor e coordenador do Curso Integrado em
Informática do IFCE Campus Cedro.
4. O Que é Android?
• O Android possui: Aplicações, Bibliotecas,
Frameworks, rica interface de Usuário (UI) e muito
mais.
• 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.
5. O Que é Android?
Andrew E. Rubin
• Vice-presidente de mobilidade
do Google.
• Diretor Executivo (CEO) da
Android e da Danger (Companhia
de design de hardware).
6. 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.
10. 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)
11. Estrutura da Aplicação Android
• Arquitetura do Android
• Linux Kernel
• Bibliotecas
• Aplicações
• Android Runtime
• Dalvik VM
12. Arquitetura da Plataforma Android
APLICATIONS
Home Contacts Phone Browser ...
APLICATION FRAMEWORK
Activity Window Content Notification
View System
Manager Manager Providers Manager
Package Telephony Resource Location
XMPP Service
Manager Manager Manager Manager
LIBRARIES ANDROID RUNTIME
Surface Media
SQLite Core Libraries
Manager Framework
Dalvik Virtual
Open GL/S FreeType WebKit
Machine
SGL SSL libc
LINUX KERNEL
Bluetooth Flash Memory Binder (PC)
Display Driver Camera Driver
Driver Driver Driver
Power
Usb Driver Keypad Driver WiFi Driver Audio Drivers
Management
13. Linux Kernel
• O Android foi construído sobre uma versão do
kernel 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.
14. Bibliotecas
A próxima camada acima do kernel contém as
bibliotecas 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.
15. Bibliotecas
Algumas das mais importantes bibliotecas
nativas 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.
17. Dalvik VM
• Ao invés de usar uma versão da máquina virtual
Java, tal como Java ME, ele usa a sua própria
má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.
19. 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.
22. 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
23. Activity
package 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);
}
}
24. Activity
Ciclo de vida de uma Activity
onCreate()
A Activity é reaberta através do usuário
onStart() onRestart()
O processo é destruído
onResume()
A Activity perde o foco
O programa precisa de mais
Activity Iniciada
memória
Outra Activity é Iniciada A Activity perde o foco
onPause()
A Activity principal não é mais visível
onStop()
onDestroy()
A Activity principal é destruída
25. Classe R
• É uma classe que possui métodos estáticos com as
referências de todos os recursos do projeto.
• A classe R é gerada automaticamente pelo plugin
ADT do eclipse e NUNCA deve ser alterada
manualmente.
26. Classe R
package 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;
} }
27. Método findViewById
Activity Principal (Activity.java) View Principal (main.xml)
Button meuBotao01 = (Button) <LinearLayout>
findViewById(R.id.button1); <Button
android:id="@+id/button1"
@Override android:layout_width="100dp"
public void onCreate(Bundle android:layout_height="wrap_co
savedInstanceState) ntent"
android:text="@string/telaInic
{
ialBotao" /> </LinearLayout>
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Arquivo R.java
} public static final class id {
public static final int
button1 =0x7f050002; }
28. 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.