SlideShare uma empresa Scribd logo
1 de 173
Baixar para ler offline
Desenvolvimento Android
Pontapé inicial...
Toshi Kurauchi
andrew.kurauchi@gmail.com
@toshikurauchi
Por que desenvolver para Android?
Por que desenvolver para Android?
Por que desenvolver para Android?
Por que desenvolver para Android?
Por que desenvolver para Android?
Por que desenvolver para Android?
Por que desenvolver para Android?
Tudo o que você precisa saber:
Tudo o que você precisa saber:
http://developer.android.com/index.html
Dúvidas?
Obrigado!
Quero desenvolver para Android!!!
Quero desenvolver para Android!!!
1. Baixar o SDK
Quero desenvolver para Android!!!
1. Baixar o SDK
2. Instalar o
Eclipse
Quero desenvolver para Android!!!
1. Baixar o SDK
2. Instalar o
Eclipse
3. Instalar o
plugin do
ADT para o
Eclipse
E mais um pouco de download...
Window -> Android SDK Manager
E mais um pouco de download...
Window -> Android SDK Manager
E mais um pouco de download...
Window -> Android SDK Manager
E mais um pouco de download...
Window -> Android SDK Manager
E mais um pouco de download...
Window -> Android SDK Manager
API Levels?
E mais um pouco de download...
Window -> Android SDK Manager
API Levels?
1 = Android 1.0
2 = Android 1.1
3 = Android 1.5
4 = Android 1.6
5 = Android 2.0
6 = Android 2.0.1
7 = Android 2.1.x
8 = Android 2.2.x
...
Criando o emulador...
- Window
'-- AVD Manager
'-- New...
Criando o emulador...
- Window
'-- AVD Manager
'-- New...
Criando o emulador...
- Window
'-- AVD Manager
'-- New...
Criando o emulador...
- Window
'-- AVD Manager
'-- New...
Criando o emulador...
- Window
'-- AVD Manager
'-- New...
Criando o emulador...
- Window
'-- AVD Manager
'-- New...
Criando o emulador...
- Window
'-- AVD Manager
'-- New...
Criando o emulador...
- Window
'-- AVD Manager
'-- New...
Dica:
Nunca feche o emulador
Criando o emulador...
- Window
'-- AVD Manager
'-- New...
Dica:
Nunca feche o emuladorNUNCA
Vai desenvolver uma app?
Vai desenvolver uma app?
JAVA
Vai desenvolver uma app?
JAVA
<XML>
Criando nosso projeto...
Criando nosso projeto...
Criando nosso projeto...
Criando nosso projeto...
Criando nosso projeto...
Criando nosso projeto...
Criando nosso projeto...
Entendendo o que foi gerado
Entendendo o que foi gerado
Entendendo o que foi gerado
Entendendo o que foi gerado
Entendendo o que foi gerado
Entendendo o que foi gerado
Entendendo o que foi gerado
Entendendo o que foi gerado
Entendendo o que foi gerado
Densidades de tela
Aprox. 1mm
Fonte: http://ignorethecode.net/blog/2012/03/16/ipad_screen_microscope/
Entendendo o que foi gerado
Resource qualifiers
Entendendo o que foi gerado
Entendendo o que foi gerado
Strings, dimensões,
cores, valores
numéricos, ...
Entendendo o que foi gerado
Strings, dimensões,
cores, valores
numéricos, ...
Internacionalização:
values-en-rUS
values-pt-rBR
strings.xml
Entendendo o que foi gerado
AndroidManifest.xml
AndroidManifest.xml
AndroidManifest.xml
AndroidManifest.xml
AndroidManifest.xml
AndroidManifest.xml
AndroidManifest.xml
Tela
Tela
=
Tela
=
Activity (Java)
Tela
=
Activity (Java)
+
Tela
=
Activity (Java)
layout (xml)
+
Layout XML
Layout XML
LinearLayout
(vertical)
Layout XML
LinearLayout
(vertical)
Layout XML
LinearLayout
(vertical)
Layout XML
LinearLayout
(vertical)
Layout XML
LinearLayout
(vertical)
Layout XML
LinearLayout
(horizontal)
Layout XML
LinearLayout
(horizontal)
Layout XML
LinearLayout
(horizontal)
Layout XML
LinearLayout
(horizontal)
Layout XML
LinearLayout
(horizontal)
Layout XML
RelativeLayout
Layout XML
RelativeLayout
Layout XML
RelativeLayout
Layout XML
RelativeLayout
Views
Views
<RadioButton>
Views
<RadioButton>
<DatePicker>
Views
<RadioButton> <RatingBar>
<DatePicker>
Views
<TextView>
Texto
<RadioButton> <RatingBar>
<DatePicker>
Views
<Button>
<TextView>
Texto
<RadioButton> <RatingBar>
<DatePicker>
Views
<Button>
<TextView>
Texto
<EditText>
<RadioButton> <RatingBar>
<DatePicker>
Views
<Button>
<TextView>
Texto
<EditText>
<RadioButton> <RatingBar>
<CheckBox>
<DatePicker>
Views
<Button>
<TextView>
Texto
<EditText>
<RadioButton> <RatingBar>
<CheckBox>
<DatePicker>
Etc...
Activity
Activity
Activity
Activity
onCreate()
onStart()
onResume()
onPause()
onStop()
onDestroy()
Rodando...
Activity
Activity
Activity
onCreate()
onStart()
onResume()
Activity
XML
Referência para uma View
Activity Layout XML
<Button
android:layout_width="..."
android:layout_height="..."
android:layout_id="@+id/botao"
/>
● ?
Referência para uma View
Activity Layout XML
<Button
android:layout_width="..."
android:layout_height="..."
android:layout_id="@+id/botao"
/>
● ?
findViewById(?)
Diretório res
Diretório res
Referência para uma View
Activity Layout XML
<Button ... />● Button
findViewById(R.id.botao)
Clicando no botão
Abrindo outra tela...
Abrindo outra tela...
Tela => Activity
Abrindo outra tela...
Tela => Activity
Activity a = new MinhaActivity();
a.onCreate(null);
Abrindo outra tela...
Tela => Activity
Activity a = new MinhaActivity();
a.onCreate(null);
Abrindo outra tela...
Tela => Activity
Activity a = new MinhaActivity();
a.onCreate(null);
Abrindo outra tela...
Tela => Activity
Activity a = new MinhaActivity();
a.onCreate(null);
Intent i = new Intent(context,
OutraTela.class);
Abrindo outra tela...
Tela => Activity
Activity a = new MinhaActivity();
a.onCreate(null);
Intent i = new Intent(context,
OutraTela.class);
startActivity(i);
Abrindo outra tela...
Abrindo outra tela...
Abrindo outra tela...
Chamando outras apps
Ligação, SMS, sites...
Chamando outras apps
Ligação, SMS, sites...
Chamando outras apps
O que eu quero fazer?
Chamando outras apps
O que eu quero fazer?
Ligar!
Chamando outras apps
O que eu quero fazer?
Ligar!
Intent i = new Intent(Intent.ACTION_CALL);
Chamando outras apps
O que eu quero fazer?
Ligar!
Intent i = new Intent(Intent.ACTION_CALL);
Para quem?
Chamando outras apps
O que eu quero fazer?
Ligar!
Intent i = new Intent(Intent.ACTION_CALL);
Para quem?
i.setData(Uri.parse("tel:12345678"));
Chamando outras apps
O que eu quero fazer?
Ligar!
Intent i = new Intent(Intent.ACTION_CALL);
Para quem?
i.setData(Uri.parse("tel:12345678"));
Chamar a Activity:
Chamando outras apps
O que eu quero fazer?
Ligar!
Intent i = new Intent(Intent.ACTION_CALL);
Para quem?
i.setData(Uri.parse("tel:12345678"));
Chamar a Activity:
startActivity(i);
Chamando outras apps
O que eu quero fazer?
Chamando outras apps
O que eu quero fazer?
Site!
Chamando outras apps
O que eu quero fazer?
Site!
Intent i = new Intent(Intent.ACTION_VIEW);
Chamando outras apps
O que eu quero fazer?
Site!
Intent i = new Intent(Intent.ACTION_VIEW);
Qual?
Chamando outras apps
O que eu quero fazer?
Site!
Intent i = new Intent(Intent.ACTION_VIEW);
Qual?
i.setData(Uri.parse("http://www.ime.usp.br"));
Chamando outras apps
O que eu quero fazer?
Site!
Intent i = new Intent(Intent.ACTION_VIEW);
Qual?
i.setData(Uri.parse("http://www.ime.usp.br"));
Chamar a Activity:
Chamando outras apps
O que eu quero fazer?
Site!
Intent i = new Intent(Intent.ACTION_VIEW);
Qual?
i.setData(Uri.parse("http://www.ime.usp.br"));
Chamar a Activity:
startActivity(i);
Chamando outras apps
O que eu quero fazer?
Chamando outras apps
O que eu quero fazer?
SMS!
Chamando outras apps
O que eu quero fazer?
SMS!
Intent i = new Intent(Intent.ACTION_VIEW);
Chamando outras apps
O que eu quero fazer?
SMS!
Intent i = new Intent(Intent.ACTION_VIEW);
Para quem?
Chamando outras apps
O que eu quero fazer?
SMS!
Intent i = new Intent(Intent.ACTION_VIEW);
Para quem?
i.setData(Uri.parse("sms:12345678"));
Chamando outras apps
O que eu quero fazer?
SMS!
Intent i = new Intent(Intent.ACTION_VIEW);
Para quem?
i.setData(Uri.parse("sms:12345678"));
O que?
Chamando outras apps
O que eu quero fazer?
SMS!
Intent i = new Intent(Intent.ACTION_VIEW);
Para quem?
i.setData(Uri.parse("sms:12345678"));
O que?
i.putExtra("sms_body", "Mensagem do SMS")
Chamando outras apps
O que eu quero fazer?
SMS!
Intent i = new Intent(Intent.ACTION_VIEW);
Para quem?
i.setData(Uri.parse("sms:12345678"));
O que?
i.putExtra("sms_body", "Mensagem do SMS")
Chamar a Activity:
Chamando outras apps
O que eu quero fazer?
SMS!
Intent i = new Intent(Intent.ACTION_VIEW);
Para quem?
i.setData(Uri.parse("sms:12345678"));
O que?
i.putExtra("sms_body", "Mensagem do SMS")
Chamar a Activity:
startActivity(i);
Permissões...
Permissões...
Acessando a internet...
Acessando a internet...
Acessando a internet...
HttpClient c = new DefaultHttpClient();
Acessando a internet...
HttpClient c = new DefaultHttpClient();
HttpGet get =
new HttpGet("http://www.ime.usp.br");
Acessando a internet...
HttpClient c = new DefaultHttpClient();
HttpGet get =
new HttpGet("http://www.ime.usp.br");
HttpResponse response = c.execute(get);
Acessando a internet...
HttpClient c = new DefaultHttpClient();
HttpGet get =
new HttpGet("http://www.ime.usp.br");
HttpResponse response = c.execute(get);
String conteudo =
EntityUtils.toString(response.getEntity());
Acessando a internet...
HttpClient c = new DefaultHttpClient();
HttpGet get =
new HttpGet("http://www.ime.usp.br");
HttpResponse response = c.execute(get);
String conteudo =
EntityUtils.toString(response.getEntity());
Acessando a internet...
Permissão de Internet
Fragments
Fragments
Fragments
Fragments
Fragments
Colocando Fragments na tela...
Layout XML
Colocando Fragments na tela...
Layout XML
Activity
Colocando Fragments na tela...
Layout XML
Activity
Só a partir do 3.0 (HoneyComb)!!!
Colocando Fragments na tela...
Layout XML
Activity
Só a partir do 3.0 (HoneyComb)!!!
Compatibility Library
ActionBar
ActionBar
ActionBar
ActionBar
ActionBar
ActionBar
res/menu/main_menu.xml
ActionBar
ActionBar
ActionBar
A
partir do 3.0
Links úteis
http://developer.android.com/index.html
http://developer.android.com/design/index.html
http://actionbarsherlock.com/
http://pivotal.github.com/robolectric/
http://blog.stylingandroid.com/
http://code.google.com/p/google-gson/

Mais conteúdo relacionado

Semelhante a Android 2303

Desenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidDesenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidJosé Alexandre Macedo
 
Criando aplicações em Android brincando de quebra-cabeça!
Criando aplicações em Android brincando de quebra-cabeça!Criando aplicações em Android brincando de quebra-cabeça!
Criando aplicações em Android brincando de quebra-cabeça!Comunidade Tá safo!
 
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...Adriel Café
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao androidMessias Batista
 
Curso de android
Curso de androidCurso de android
Curso de androidflaviokreis
 
[FLISOL] Android Faixa Branca (Iniciando no Android) – 2013
[FLISOL] Android Faixa Branca (Iniciando no Android) – 2013[FLISOL] Android Faixa Branca (Iniciando no Android) – 2013
[FLISOL] Android Faixa Branca (Iniciando no Android) – 2013Douglas Drumond
 
AppInventor_manual.pdf
AppInventor_manual.pdfAppInventor_manual.pdf
AppInventor_manual.pdfGonaloRoxo5
 
Aprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma práticaAprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma práticaJosué Rockefeller
 
Aprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma práticaAprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma práticaJosué Rockefeller
 
Android Palestra
Android PalestraAndroid Palestra
Android PalestraRenato
 
Phonegap - Framework Mobile
Phonegap - Framework MobilePhonegap - Framework Mobile
Phonegap - Framework MobileIldyone Martins
 
Semcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com Swift
Semcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com SwiftSemcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com Swift
Semcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com SwiftJuliana Chahoud
 
Aulas Google Android
Aulas Google AndroidAulas Google Android
Aulas Google AndroidIury Teixeira
 
Apresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno CottaApresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno CottaGPrimola
 
Introdução ao Titanium Mobile
Introdução ao Titanium MobileIntrodução ao Titanium Mobile
Introdução ao Titanium MobileEric Cavalcanti
 
Criando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerCriando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerGiovanni Kenji Shiroma
 
Android Wear: Expandindo as funcionalidades do seu Android
Android Wear: Expandindo as funcionalidades do seu AndroidAndroid Wear: Expandindo as funcionalidades do seu Android
Android Wear: Expandindo as funcionalidades do seu AndroidHeider Lopes
 
Class 01 - Android Study Jams: Android Development for Beginners
Class 01 - Android Study Jams: Android Development for BeginnersClass 01 - Android Study Jams: Android Development for Beginners
Class 01 - Android Study Jams: Android Development for BeginnersJordan Silva
 

Semelhante a Android 2303 (20)

Desenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidDesenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma Android
 
Criando aplicações em Android brincando de quebra-cabeça!
Criando aplicações em Android brincando de quebra-cabeça!Criando aplicações em Android brincando de quebra-cabeça!
Criando aplicações em Android brincando de quebra-cabeça!
 
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android
 
Curso de android
Curso de androidCurso de android
Curso de android
 
[FLISOL] Android Faixa Branca (Iniciando no Android) – 2013
[FLISOL] Android Faixa Branca (Iniciando no Android) – 2013[FLISOL] Android Faixa Branca (Iniciando no Android) – 2013
[FLISOL] Android Faixa Branca (Iniciando no Android) – 2013
 
AppInventor_manual.pdf
AppInventor_manual.pdfAppInventor_manual.pdf
AppInventor_manual.pdf
 
Aprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma práticaAprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma prática
 
Aprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma práticaAprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma prática
 
Android Palestra
Android PalestraAndroid Palestra
Android Palestra
 
Phonegap - Framework Mobile
Phonegap - Framework MobilePhonegap - Framework Mobile
Phonegap - Framework Mobile
 
Semcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com Swift
Semcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com SwiftSemcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com Swift
Semcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com Swift
 
Aulas Google Android
Aulas Google AndroidAulas Google Android
Aulas Google Android
 
Apresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno CottaApresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno Cotta
 
Introdução ao Titanium Mobile
Introdução ao Titanium MobileIntrodução ao Titanium Mobile
Introdução ao Titanium Mobile
 
Backend
Backend Backend
Backend
 
Criando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerCriando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & Docker
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Android Wear: Expandindo as funcionalidades do seu Android
Android Wear: Expandindo as funcionalidades do seu AndroidAndroid Wear: Expandindo as funcionalidades do seu Android
Android Wear: Expandindo as funcionalidades do seu Android
 
Class 01 - Android Study Jams: Android Development for Beginners
Class 01 - Android Study Jams: Android Development for BeginnersClass 01 - Android Study Jams: Android Development for Beginners
Class 01 - Android Study Jams: Android Development for Beginners
 

Mais de Emerson Candido

Mais de Emerson Candido (6)

Capitulo 1 diodos
Capitulo 1 diodosCapitulo 1 diodos
Capitulo 1 diodos
 
Python basics
Python basicsPython basics
Python basics
 
Ex. Interface
Ex. InterfaceEx. Interface
Ex. Interface
 
K10 a50d toshiba
K10 a50d toshibaK10 a50d toshiba
K10 a50d toshiba
 
Apostila projetistas spda (1)
Apostila projetistas spda (1)Apostila projetistas spda (1)
Apostila projetistas spda (1)
 
Quem eu sou no reino de deus
Quem eu sou no reino de deusQuem eu sou no reino de deus
Quem eu sou no reino de deus
 

Android 2303