Buscar

Desenvolvimento Android

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 173 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 173 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 173 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

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()
Ac
tiv
ity
XM
L
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...
Per
mis
são
 de 
Inte
rnet
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
 part
ir do
 3.0 
(Hon
eyCo
mb)!
!!
Colocando Fragments na tela...
Layout XML
Activity
Só a
 part
ir do
 3.0 
(Hon
eyCo
mb)!
!!
Compatibility Library
ActionBar
ActionBar
ActionBar
ActionBar
ActionBar
ActionBar
res/menu/main_menu.xml
ActionBar
ActionBar
ActionBar
A p
arti
r 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/

Outros materiais