SlideShare uma empresa Scribd logo
1 de 61
Baixar para ler offline
Sua primeira
Androidapp
ConexãoJava
Suelen GC
Desenvolvedora
& Instrutora
github.com/suelengc
GDG
São Paulo
Android
Meetup
meetup.com/GDG-SP
toda primeira terça do mês
Laptop?
quem está com
Laptop?
quem está com
?smart
quem está com
phone
?smart
quem está com
phone
Vamos acessa o
SITEpelo
navegador
d o c e l u l a r
Typist
clo?!
Judiiiiiith
Sua paciência tem que ser
Infinity
O q u e f a z e r e n t ã o ?
V a m o s c r i a r u m
d o n o s s o f ó r u m
mobile
app
2 principais plataformas
Qual plataforma escolher?
interesse
Google Trends 20/05/2014
com o passar
Android
iOS
do tempo
Eclipse
Java Objective-C
xCode
linguagem
linguagem
especial para Android
IDE
Conexão
?Objective-C
Conexão
Java
Yo u w i n ! ! !
Bla bla bla pergunta 1
Bla bla bla pergunta 2
Bla bla bla pergunta 3
Conexão Java 2014
missão1
lista
C r i a r u m a
pa ra ex ibi r as
perguntas
d o f ó r u m
+
Java
eclipse
ADT
Android !
Developer!
Tools{ }
ANDROID
plugin
+
DESENVOLVER
KEEP
CALM
AND
BAIXE O
ECLIPSE ADTdeveloper.android.com/tools/sdk
KEEP
CALM
AND
BAIXE O
ECLIPSE ADTdeveloper.android.com/tools/sdk
Read!
to use
?
C o m o c r i a r u m a
tela
Bla bla bla pergunta 1
Bla bla bla pergunta 2
Bla bla bla pergunta 3
Conexão Java 2014
e m a n d r o i d
Web
HTML
Java
parte visual
comportamento
Android
XML
Java
parte visual
comportamento
V a m o s
começar!
R e a d y t o c o d e ?
src
gen
res
MainActivity.java
R.java
drawable-hdpi
layout
main_activity.xml
ic_launcher.jpg
(código java / comportamento)
(recursos como imagens, sons, etc)
(gerada automaticamente pelo Android)
ConexaoJava2014
(ponte entre recursos e código java)
AndroidManifest.xml (configurações do projeto)
Parte
visual
main_activity.xml
<?xml version="1.0" encoding="utf-8"?>	
<LinearLayout xmlns:android="http://schemas.android.com/apk/
res/android"	
android:layout_width="match_parent"	
android:layout_height="match_parent"	
android:orientation="vertical" >	
	
!
!
!
!
</LinearLayout>
layoutres
<?xml version="1.0" encoding="utf-8"?>	
<LinearLayout xmlns:android="http://schemas.android.com/apk/
res/android"	
android:layout_width="match_parent"	
android:layout_height="match_parent"	
android:orientation="vertical" >	
	
<ListView 	
android:layout_height="match_parent"	
android:layout_width="match_parent"/>	
!
</LinearLayout>
main_activity.xmllayoutres
<?xml version="1.0" encoding="utf-8"?>	
<LinearLayout xmlns:android="http://schemas.android.com/apk/
res/android"	
android:layout_width="match_parent"	
android:layout_height="match_parent"	
android:orientation="vertical" >	
	
<ListView 	
		 android:id=“@+id/lista“	
	android:layout_height="match_parent"	
	android:layout_width="match_parent"/>	
!
</LinearLayout>
identificador
main_activity.xmllayoutres
Compor
tamento
!
!
public class MainActivity {	
	 	
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
}	
MainActivity.javasrc
import android.app.Activity;	
!
public class MainActivity extends Activity {	
	 	
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
}	
Activity
Tela do Android
MainActivity.javasrc
import android.app.Activity;	
!
public class MainActivity extends Activity {	
!
	 @Override	
	 protected void onCreate(Bundle savedInstanceState) {	
	 	 super.onCreate(savedInstanceState);	
	 	 	
	 }	
!
!
!
!
!
!
!
!
!
!
!
}	
Chamado pelo Android
para criar a tela
MainActivity.javasrc
import android.app.Activity;	
!
public class MainActivity extends Activity {	
!
	 @Override	
	 protected void onCreate(Bundle savedInstanceState) {	
	 	 super.onCreate(savedInstanceState);	
	 	 setContentView(R.layout.main_activity);	
	 }	
!
!
!
!
!
!
!
!
!
!
!
}	
associa layout
com a Activity
MainActivity.javasrc
import android.app.Activity;	
!
public class MainActivity extends Activity {	
!
	 @Override	
	 protected void onCreate(Bundle savedInstanceState) {	
	 	 super.onCreate(savedInstanceState);	
	 	 setContentView(R.layout.main_activity);	
	 	 	
	 	 findViewById(R.id.lista)	
	 }	
!
!
!
!
!
!
!
!
!
}	
recupera uma view da tela pelo id
MainActivity.javasrc
import android.app.Activity;	
!
public class MainActivity extends Activity {	
!
	 @Override	
	 protected void onCreate(Bundle savedInstanceState) {	
	 	 super.onCreate(savedInstanceState);	
	 	 setContentView(R.layout.main_activity);	
	 	 	
	 	 ListView lista = (ListView) findViewById(R.id.lista)	
	 }	
!
!
!
!
!
!
!
!
!
}	
MainActivity.javasrc
queremos exibir
algo aqui
import android.app.Activity;	
!
public class MainActivity extends Activity {	
!
	 @Override	
	 protected void onCreate(Bundle savedInstanceState) {	
	 	 super.onCreate(savedInstanceState);	
	 	 setContentView(R.layout.main_activity);	
	 	 	
	 	 ListView lista = (ListView) findViewById(R.id.lista)	
	 	 List<Pergunta> perguntas = new BuscadorDePerguntas().getPerguntas();	
	 	 	
	 }	
!
!
!
!
!
!
!
}	
MainActivity.javasrc
Vamos exibir
lista de
perguntas
List<Pergunta> queremos
exibir
java
objetos
Bla bla bla pergunta 1
Bla bla bla pergunta 2
Bla bla bla pergunta 3
Conexão Java 2014
ListView
em uma
view
xml
feita com
Bla bla bla pergunta 1
Bla bla bla pergunta 2
Bla bla bla pergunta 3
Conexão Java 2014
List<Pergunta>
Java xml
ListView
Bla bla bla pergunta 1
Bla bla bla pergunta 2
Bla bla bla pergunta 3
Conexão Java 2014
List<Pergunta>
Java xml
ListView
import android.app.Activity;	
!
public class MainActivity extends Activity {	
!
	 @Override	
	 protected void onCreate(Bundle savedInstanceState) {	
	 	 super.onCreate(savedInstanceState);	
	 	 setContentView(R.layout.main_activity);	
	 	 	
	 	 ListView lista = (ListView) findViewById(R.id.lista)	
	 	 List<Pergunta> perguntas = new BuscadorDePerguntas().getPerguntas();	
!
	 	 ArrayAdapter<Pergunta> adaptador = new ArrayAdapter<Pergunta>(?, ?, ?);	
	 	 	
	 }	
!
!
!
!
!
}	
MainActivity.javasrc
criar um
adapter
import android.app.Activity;	
!
public class MainActivity extends Activity {	
!
	 @Override	
	 protected void onCreate(Bundle savedInstanceState) {	
	 	 super.onCreate(savedInstanceState);	
	 	 setContentView(R.layout.main_activity);	
	 	 	
	 	 ListView lista = (ListView) findViewById(R.id.lista)	
	 	 List<Pergunta> perguntas = new BuscadorDePerguntas().getPerguntas();	
!
	 	 ArrayAdapter<Pergunta> adaptador = 	
	 	 	 	 	 	 	 	 	 new ArrayAdapter<Pergunta>(this, 	
	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 android.R.layout.simple_list_item_1, 	
	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 perguntas);	
	 	 	
	 }	
!
!
}	
MainActivity.javasrc
onde?
como?
o quê?
import android.app.Activity;	
!
public class MainActivity extends Activity {	
!
	 @Override	
	 protected void onCreate(Bundle savedInstanceState) {	
	 	 super.onCreate(savedInstanceState);	
	 	 setContentView(R.layout.main_activity);	
	 	 	
	 	 ListView lista = (ListView) findViewById(R.id.lista)	
	 	 List<Pergunta> perguntas = new BuscadorDePerguntas().getPerguntas();	
!
	 	 ArrayAdapter<Pergunta> adaptador = 	
	 	 	 	 	 	 	 	 	 new ArrayAdapter<Pergunta>(this, 	
	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 android.R.layout.simple_list_item_1, 	
	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 perguntas);	
	 	 	
	 	 lista.setAdapter(adaptador);	
	 }	
!
}	
MainActivity.javasrc
vincula adapter com a lista
Exe cu tando o ap p no
te mo s o re su ltado
emulador
aolado
V a m o s d e i x a r +
divertido
Bla bla bla pergunta 1
Bla bla bla pergunta 2
Bla bla bla pergunta 3
Conexão Java 2014
missão2 item
lista
C l i c a r n o
da
e exibir uma
mensagemposição clicada 1
Bla bla bla pergunta 1
Bla bla bla pergunta 2
Bla bla bla pergunta 3
cliquei
no item
lista
import android.app.Activity;	
!
public class MainActivity extends Activity {	
!
	 @Override	
	 protected void onCreate(Bundle savedInstanceState) {	
	 	 //códigos anteriores	
	 	 	
	 	 lista.setOnItemClickListener(new OnItemClickListener() {	
	 	 	 @Override	
	 	 	 public void onItemClick(AdapterView<?> adapter, View view,	
	 	 	 	 	 int posicao, long id) {	
	 	 	 	 	 	 //comportamento do clique aqui	
	 	 	 }	
	 	 });	
	 }	
!
!
!
!
}	
MainActivity.javasrc
!
de clique
no item
da lista
Listener
Faz pular pão
Toastclasse
Faz pular mensagens
import android.app.Activity;	
!
public class MainActivity extends Activity {	
!
	 @Override	
	 protected void onCreate(Bundle savedInstanceState) {	
	 	 //códigos anteriores	
	 	 	
	 	 lista.setOnItemClickListener(new OnItemClickListener() {	
	 	 	 @Override	
	 	 	 public void onItemClick(AdapterView<?> adapter, View view,	
	 	 	 	 	 int posicao, long id) {	
	 	 	 	 	 	 Toast.makeText(MainActivity.this, 	
	 	 	 	 	 	 	 	 	 	 	 	 	 "Posição clicada " + posicao,	
	 	 	 	 	 	 	 	 	 	 	 	 	 Toast.LENGTH_SHORT).show();	
	 	 	 }	
	 	 });	
	 }	
!
!
}	
MainActivity.javasrc
Exibindo
mensagem
Bla bla bla pergunta 1
Bla bla bla pergunta 2
Bla bla bla pergunta 3
Conexão Java 2014
missõesP a r a b é n s ! ! !
posição clicada 1
cumpridas
Suelen GC
github.com/suelengc
www.suelengc.com.br
Obrigada!github.com/caelum/conexaojava2014

Mais conteúdo relacionado

Destaque (6)

Apostila android
Apostila androidApostila android
Apostila android
 
TDC2012 Android - Deixando Sua Interface mais Bonita com Shapes
TDC2012 Android - Deixando Sua Interface mais Bonita com ShapesTDC2012 Android - Deixando Sua Interface mais Bonita com Shapes
TDC2012 Android - Deixando Sua Interface mais Bonita com Shapes
 
QConSP 2012 - SOLID em 5 minutos
QConSP 2012 - SOLID em 5 minutosQConSP 2012 - SOLID em 5 minutos
QConSP 2012 - SOLID em 5 minutos
 
DevFest 2012 - Esquartejando sua Activity com Fragments
DevFest 2012 - Esquartejando sua Activity com FragmentsDevFest 2012 - Esquartejando sua Activity com Fragments
DevFest 2012 - Esquartejando sua Activity com Fragments
 
Porque apararece la celulitis
Porque apararece la celulitisPorque apararece la celulitis
Porque apararece la celulitis
 
O sucesso do seu app está nos detalhes!
O sucesso do seu app está nos detalhes!O sucesso do seu app está nos detalhes!
O sucesso do seu app está nos detalhes!
 

Semelhante a Conexao Java - Sua primeira app Android

Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para Android
Jorge Cardoso
 
O fantástico mundo de Android
O fantástico mundo de AndroidO fantástico mundo de Android
O fantástico mundo de Android
Suelen Carvalho
 

Semelhante a Conexao Java - Sua primeira app Android (20)

Android na Prática
Android na PráticaAndroid na Prática
Android na Prática
 
Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)
 
Desvendando as ferramentas e serviços para o desenvolvedor Android
Desvendando as ferramentas e serviços para o desenvolvedor AndroidDesvendando as ferramentas e serviços para o desenvolvedor Android
Desvendando as ferramentas e serviços para o desenvolvedor Android
 
jQuery básico (parte 3)
jQuery básico (parte 3)jQuery básico (parte 3)
jQuery básico (parte 3)
 
Android wear
Android wearAndroid wear
Android wear
 
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
 
Qcon SP 2012, 5 (ou mais) coisas que você gostaria de saber sobre o iOS e o O...
Qcon SP 2012, 5 (ou mais) coisas que você gostaria de saber sobre o iOS e o O...Qcon SP 2012, 5 (ou mais) coisas que você gostaria de saber sobre o iOS e o O...
Qcon SP 2012, 5 (ou mais) coisas que você gostaria de saber sobre o iOS e o O...
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para Android
 
FAESA Computação Móvel: Introducao a Phonegap e Cordova
FAESA Computação Móvel: Introducao a Phonegap e CordovaFAESA Computação Móvel: Introducao a Phonegap e Cordova
FAESA Computação Móvel: Introducao a Phonegap e Cordova
 
Ajax em java
Ajax em javaAjax em java
Ajax em java
 
Android 2303
Android 2303Android 2303
Android 2303
 
Flutter do zero a publicacao
Flutter do zero a publicacaoFlutter do zero a publicacao
Flutter do zero a publicacao
 
O fantástico mundo de Android
O fantástico mundo de AndroidO fantástico mundo de Android
O fantástico mundo de Android
 
Ecosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_javEcosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_jav
 
Java7 tdc2011
Java7 tdc2011Java7 tdc2011
Java7 tdc2011
 
Spring framework 2.5
Spring framework 2.5Spring framework 2.5
Spring framework 2.5
 
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
 
Dê seus primeiros passos no desenvolvimento com Android
Dê seus primeiros passos no desenvolvimento com AndroidDê seus primeiros passos no desenvolvimento com Android
Dê seus primeiros passos no desenvolvimento com Android
 
TDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no AndroidTDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no Android
 
TDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no AndroidTDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no Android
 

Mais de Suelen Carvalho

Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...
Suelen Carvalho
 

Mais de Suelen Carvalho (20)

Porque Métodos Ágeis não é pra você!
Porque Métodos Ágeis não é pra você!Porque Métodos Ágeis não é pra você!
Porque Métodos Ágeis não é pra você!
 
Scrum: Relembrando os por quês?
Scrum: Relembrando os por quês?Scrum: Relembrando os por quês?
Scrum: Relembrando os por quês?
 
Techtrends xp desafios da agilidade com trabalho remoto
Techtrends xp   desafios da agilidade com trabalho remotoTechtrends xp   desafios da agilidade com trabalho remoto
Techtrends xp desafios da agilidade com trabalho remoto
 
Introdução a Kotlin
Introdução a KotlinIntrodução a Kotlin
Introdução a Kotlin
 
Introdução a Android Instant Apps
Introdução a Android Instant AppsIntrodução a Android Instant Apps
Introdução a Android Instant Apps
 
Google IO'17
Google IO'17Google IO'17
Google IO'17
 
Construindo Times de Alta Performance - Produtos & Engenharia
Construindo Times de Alta Performance - Produtos & EngenhariaConstruindo Times de Alta Performance - Produtos & Engenharia
Construindo Times de Alta Performance - Produtos & Engenharia
 
Git Merge e Rebase - The goal and differences
Git Merge e Rebase - The goal and differencesGit Merge e Rebase - The goal and differences
Git Merge e Rebase - The goal and differences
 
Dynamic Programming and Reinforcement Learning applied to Tetris Game
Dynamic Programming and Reinforcement Learning applied to Tetris GameDynamic Programming and Reinforcement Learning applied to Tetris Game
Dynamic Programming and Reinforcement Learning applied to Tetris Game
 
Desenvolvimento de Novos Líderes - Paidéia Educação
Desenvolvimento de Novos Líderes - Paidéia EducaçãoDesenvolvimento de Novos Líderes - Paidéia Educação
Desenvolvimento de Novos Líderes - Paidéia Educação
 
Go lang
Go langGo lang
Go lang
 
Supporting Coding and Testing
Supporting Coding and TestingSupporting Coding and Testing
Supporting Coding and Testing
 
Intercon Android 2014 - Google Play In App Billing
Intercon Android 2014 - Google Play In App BillingIntercon Android 2014 - Google Play In App Billing
Intercon Android 2014 - Google Play In App Billing
 
Semana da Computação USP São Carlos 2014 - Carreira Mobile
Semana da Computação USP São Carlos 2014 - Carreira MobileSemana da Computação USP São Carlos 2014 - Carreira Mobile
Semana da Computação USP São Carlos 2014 - Carreira Mobile
 
TDC 2014 - Tudo sobre GCM Push Notifications
TDC 2014 - Tudo sobre GCM Push NotificationsTDC 2014 - Tudo sobre GCM Push Notifications
TDC 2014 - Tudo sobre GCM Push Notifications
 
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...
 
A história do surgimento da plataforma móvel Android.
A história do surgimento da plataforma móvel Android.A história do surgimento da plataforma móvel Android.
A história do surgimento da plataforma móvel Android.
 
Usando o Poder da API Fragments
Usando o Poder da API FragmentsUsando o Poder da API Fragments
Usando o Poder da API Fragments
 
Primeiros Passos com Android
Primeiros Passos com AndroidPrimeiros Passos com Android
Primeiros Passos com Android
 
Agile Brazil 2012 - Padrões Para Implantar Métodos Ágeis
Agile Brazil 2012 - Padrões Para Implantar Métodos ÁgeisAgile Brazil 2012 - Padrões Para Implantar Métodos Ágeis
Agile Brazil 2012 - Padrões Para Implantar Métodos Ágeis
 

Conexao Java - Sua primeira app Android