conexao java - sua primeira app android
DESCRIPTION
Presentation did in Conexão Java 2014 event, about how to start with Android.TRANSCRIPT
Sua primeira
Androidapp
ConexãoJava
Suelen GC
Desenvolvedora & Instrutora
github.com/suelengc
GDGSão Paulo
AndroidMeetup
meetup.com/GDG-SP
toda primeira terça do mês
Laptop?quem está com
Laptop?quem está com
?smartquem está com
phone
?smartquem está com
phone
Va m o s a c e s s a o
SITEpe
lo navegadord 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
mob
ileapp
2 principais plataformas
Qual plataforma escolher?
interesse
Google Trends 20/05/2014
com o passar
AndroidiOS
do tempo
EclipseJava Objective-C
xCodeli
ngu
age
m
linguagemespecial para Android
IDE
Conexão?Objective-C
ConexãoJava
Y o 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
listaC r i a r u m a
p a r a e x i b i r a sperguntasd o f ó r u m
+Javaeclipse
ADTAndroid !Developer!Tools{ }
ANDROID
plugin
+DESENVOLVER
KEEPCALM
AND
BAIXE OECLIPSE ADTdeveloper.android.com/tools/sdk
KEEPCALM
AND
BAIXE OECLIPSE ADTdeveloper.android.com/tools/sdk R
ead
!
to use
?C o m o c r i a r u m a
telaBla 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
We
bHTMLJava
parte visual
comportamento
And
roidXML
Java
parte visual
comportamento
V a m o scomeçar!
R e a d y t o c o d e ?
src
gen
res
MainActivity.java
R.java
drawable-hdpi
layoutmain_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)
Partevisual
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
Comportamento
!!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 Androidpara 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 layoutcom 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 exibiralgo 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 exibirlista de
perguntas
List<Pergunta> queremos
exibirjava
objetos
Bla bla bla pergunta 1 Bla bla bla pergunta 2 Bla bla bla pergunta 3
Conexão Java 2014
ListViewem uma
viewxml
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 umadapter
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
E x e c u t a n d o o a p p n o
t e m o s o r e s u l t a d oemuladorao lado
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
itemlista
C l i c a r n o
d a
e e x i b i r u m amensagemposiçã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 1cumpridas
Suelen GCgithub.com/suelengcwww.suelengc.com.br
Obrigada!gi thub.com/cae lum/conexao java2014