Conexao Java - Sua primeira app Android

1,913 views

Published on

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

Published in: Technology, News & Politics

Conexao Java - Sua primeira app Android

  1. 1. Sua primeira Androidapp ConexãoJava
  2. 2. Suelen GC Desenvolvedora & Instrutora github.com/suelengc
  3. 3. GDG São Paulo Android Meetup meetup.com/GDG-SP toda primeira terça do mês
  4. 4. Laptop? quem está com
  5. 5. Laptop? quem está com
  6. 6. ?smart quem está com phone
  7. 7. ?smart quem está com phone
  8. 8. Vamos acessa o SITEpelo navegador d o c e l u l a r
  9. 9. Typist clo?!
  10. 10. Judiiiiiith Sua paciência tem que ser Infinity
  11. 11. O q u e f a z e r e n t ã o ?
  12. 12. 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
  13. 13. 2 principais plataformas
  14. 14. Qual plataforma escolher?
  15. 15. interesse Google Trends 20/05/2014 com o passar Android iOS do tempo
  16. 16. Eclipse Java Objective-C xCode linguagem linguagem especial para Android IDE
  17. 17. Conexão ?Objective-C
  18. 18. Conexão Java
  19. 19. Yo u w i n ! ! !
  20. 20. 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
  21. 21. + Java eclipse ADT Android ! Developer! Tools{ } ANDROID plugin + DESENVOLVER
  22. 22. KEEP CALM AND BAIXE O ECLIPSE ADTdeveloper.android.com/tools/sdk
  23. 23. KEEP CALM AND BAIXE O ECLIPSE ADTdeveloper.android.com/tools/sdk Read! to use
  24. 24. ? 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
  25. 25. Web HTML Java parte visual comportamento
  26. 26. Android XML Java parte visual comportamento
  27. 27. V a m o s começar! R e a d y t o c o d e ?
  28. 28. 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)
  29. 29. Parte visual
  30. 30. 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
  31. 31. <?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
  32. 32. <?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
  33. 33. Compor tamento
  34. 34. ! ! public class MainActivity { ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! } MainActivity.javasrc
  35. 35. import android.app.Activity; ! public class MainActivity extends Activity { ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! } Activity Tela do Android MainActivity.javasrc
  36. 36. 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
  37. 37. 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
  38. 38. 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
  39. 39. 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
  40. 40. 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
  41. 41. List<Pergunta> queremos exibir java objetos
  42. 42. 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
  43. 43. Bla bla bla pergunta 1 Bla bla bla pergunta 2 Bla bla bla pergunta 3 Conexão Java 2014 List<Pergunta> Java xml ListView
  44. 44. Bla bla bla pergunta 1 Bla bla bla pergunta 2 Bla bla bla pergunta 3 Conexão Java 2014 List<Pergunta> Java xml ListView
  45. 45. 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
  46. 46. 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ê?
  47. 47. 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
  48. 48. Exe cu tando o ap p no te mo s o re su ltado emulador aolado
  49. 49. V a m o s d e i x a r + divertido
  50. 50. 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
  51. 51. Bla bla bla pergunta 1 Bla bla bla pergunta 2 Bla bla bla pergunta 3 cliquei no item lista
  52. 52. 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
  53. 53. Faz pular pão Toastclasse Faz pular mensagens
  54. 54. 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
  55. 55. 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
  56. 56. Suelen GC github.com/suelengc www.suelengc.com.br Obrigada!github.com/caelum/conexaojava2014

×