61
Sua primeira Android app Conexão Java

Conexao Java - Sua primeira app Android

Embed Size (px)

DESCRIPTION

Presentation did in Conexão Java 2014 event, about how to start with Android.

Citation preview

Page 1: Conexao Java - Sua primeira app Android

Sua primeira

Androidapp

ConexãoJava

Page 2: Conexao Java - Sua primeira app Android

Suelen GC

Desenvolvedora & Instrutora

github.com/suelengc

Page 3: Conexao Java - Sua primeira app Android

GDGSão Paulo

AndroidMeetup

meetup.com/GDG-SP

toda primeira terça do mês

Page 4: Conexao Java - Sua primeira app Android

Laptop?quem está com

Page 5: Conexao Java - Sua primeira app Android

Laptop?quem está com

Page 6: Conexao Java - Sua primeira app Android

?smartquem está com

phone

Page 7: Conexao Java - Sua primeira app Android

?smartquem está com

phone

Page 8: Conexao Java - Sua primeira app Android

Va m o s a c e s s a o

SITEpe

lo navegadord o c e l u l a r

Page 9: Conexao Java - Sua primeira app Android
Page 10: Conexao Java - Sua primeira app Android

Typist

clo?!

Page 11: Conexao Java - Sua primeira app Android
Page 12: Conexao Java - Sua primeira app Android

Judiiiiiith

Sua paciência tem que ser

Infinity

Page 13: Conexao Java - Sua primeira app Android

O q u e f a z e r e n t ã o ?

Page 14: Conexao Java - Sua primeira app Android
Page 15: Conexao Java - Sua primeira app Android

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

Page 16: Conexao Java - Sua primeira app Android

2 principais plataformas

Page 17: Conexao Java - Sua primeira app Android

Qual plataforma escolher?

Page 18: Conexao Java - Sua primeira app Android

interesse

Google Trends 20/05/2014

com o passar

AndroidiOS

do tempo

Page 19: Conexao Java - Sua primeira app Android

EclipseJava Objective-C

xCodeli

ngu

age

m

linguagemespecial para Android

IDE

Page 20: Conexao Java - Sua primeira app Android

Conexão?Objective-C

Page 21: Conexao Java - Sua primeira app Android

ConexãoJava

Page 22: Conexao Java - Sua primeira app Android

Y o u w i n ! ! !

Page 23: Conexao Java - Sua primeira app Android

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

Page 24: Conexao Java - Sua primeira app Android

+Javaeclipse

ADTAndroid !Developer!Tools{ }

ANDROID

plugin

+DESENVOLVER

Page 25: Conexao Java - Sua primeira app Android

KEEPCALM

AND

BAIXE OECLIPSE ADTdeveloper.android.com/tools/sdk

Page 26: Conexao Java - Sua primeira app Android

KEEPCALM

AND

BAIXE OECLIPSE ADTdeveloper.android.com/tools/sdk R

ead

!

to use

Page 27: Conexao Java - Sua primeira app Android

?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

Page 28: Conexao Java - Sua primeira app Android

We

bHTMLJava

parte visual

comportamento

Page 29: Conexao Java - Sua primeira app Android

And

roidXML

Java

parte visual

comportamento

Page 30: Conexao Java - Sua primeira app Android

V a m o scomeçar!

R e a d y t o c o d e ?

Page 31: Conexao Java - Sua primeira app Android

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)

Page 32: Conexao Java - Sua primeira app Android

Partevisual

Page 33: Conexao Java - Sua primeira app Android

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

Page 34: Conexao Java - Sua primeira app Android

<?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

Page 35: Conexao Java - Sua primeira app Android

<?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

Page 36: Conexao Java - Sua primeira app Android

Comportamento

Page 37: Conexao Java - Sua primeira app Android

!!public class MainActivity { !!!!!!!!!!!!!!!!}

MainActivity.javasrc

Page 38: Conexao Java - Sua primeira app Android

import android.app.Activity;!public class MainActivity extends Activity { !!!!!!!!!!!!!!!!}

Activity

Tela do Android

MainActivity.javasrc

Page 39: Conexao Java - Sua primeira app Android

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

Page 40: Conexao Java - Sua primeira app Android

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

Page 41: Conexao Java - Sua primeira app Android

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

Page 42: Conexao Java - Sua primeira app Android

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

Page 43: Conexao Java - Sua primeira app Android

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

Page 44: Conexao Java - Sua primeira app Android

List<Pergunta> queremos

exibirjava

objetos

Page 45: Conexao Java - Sua primeira app Android

Bla bla bla pergunta 1 Bla bla bla pergunta 2 Bla bla bla pergunta 3

Conexão Java 2014

ListViewem uma

viewxml

feita com

Page 46: Conexao Java - Sua primeira app Android
Page 47: Conexao Java - Sua primeira app Android
Page 48: Conexao Java - Sua primeira app Android

Bla bla bla pergunta 1 Bla bla bla pergunta 2 Bla bla bla pergunta 3

Conexão Java 2014

List<Pergunta>

Java xml

ListView

Page 49: Conexao Java - Sua primeira app Android

Bla bla bla pergunta 1 Bla bla bla pergunta 2 Bla bla bla pergunta 3

Conexão Java 2014

List<Pergunta>

Java xml

ListView

Page 50: Conexao Java - Sua primeira app Android

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

Page 51: Conexao Java - Sua primeira app Android

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ê?

Page 52: Conexao Java - Sua primeira app Android

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

Page 53: Conexao Java - Sua primeira app Android

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

Page 54: Conexao Java - Sua primeira app Android

V a m o s d e i x a r +

divertido

Page 55: Conexao Java - Sua primeira app Android

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

Page 56: Conexao Java - Sua primeira app Android

Bla bla bla pergunta 1 Bla bla bla pergunta 2 Bla bla bla pergunta 3

cliquei no item

lista

Page 57: Conexao Java - Sua primeira app Android

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

Page 58: Conexao Java - Sua primeira app Android

Faz pular pão

Toastclasse

Faz pular mensagens

Page 59: Conexao Java - Sua primeira app Android

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

Page 60: Conexao Java - Sua primeira app Android

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

Page 61: Conexao Java - Sua primeira app Android

Suelen GCgithub.com/suelengcwww.suelengc.com.br

Obrigada!gi thub.com/cae lum/conexao java2014