Slide 1

Slide 1 text

Android Study Jam apoio de:

Slide 2

Slide 2 text

+GDGCoimbra @GDGCoimbra [email protected] fb.me/GDGCoimbra gdgcoimbra.github.io gdgcoimbra.slack.com

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Events - Study Jam - Developer/ Inside Stories - Software Craftsmanship - Google DevFest - Google Summit - GDG Kids - … make your suggestion!

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

Study  Jam  Worldwide in GDG Yangon

Slide 8

Slide 8 text

Android   adj. Possessing human features. n. A mobile robot or automaton, especially one that resembles a human.

Slide 9

Slide 9 text

Schedule #1 - Building layouts #2 - Making an App Interactive #3 - Work with the Android Framework and Control Flow

Slide 10

Slide 10 text

Lollipop 11/2014 Marshmallow 10/2015 KitKat
 09/2013 Jelly Bean
 08/2012 Ice Cream
 sandwich
 10/2011 Honeycomb
 02/2011 Gingerbread 12/2010 Froyo
 05/20103 Eclair
 10/2009 Donut
 09/2009 Cupcake
 04/2009 Beta
 02/2009 Alpha
 09/2008

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

Google  Play TV

Slide 13

Slide 13 text

Google  Play Instagram 1 000 000 000 4.5 LinkedIn 100 000 000 4.2 Hangouts 5 000 000 000 3.9 Strava 10 000 000 4.6

Slide 14

Slide 14 text

Looking for Android SDK location…

Slide 15

Slide 15 text

15

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

Android is starting… Starting course

Slide 18

Slide 18 text

Lesson  1:  Building  layouts - TextView - ImageView - Button

Slide 19

Slide 19 text

Demystify ImageView TextView defined on XML

Slide 20

Slide 20 text

Lesson  1:  XML  Syntax 
 attribute name attribute value view element

Slide 21

Slide 21 text

Lesson  1:  XML  Syntax 
 density-independent pixels

Slide 22

Slide 22 text

Lesson  1:  Building  layouts HTC Wildfire S medium resolution device Samsung Galaxy S2 high resolution device LG Nexus 4 extra-high resolution device mdpi hdpi xhdpi

Slide 23

Slide 23 text

Lesson  1:  Building  layouts HTC Wildfire S medium resolution device Samsung Galaxy S2 high resolution device LG Nexus 5 extra-high resolution device mdpi hdpi xhdpi

Slide 24

Slide 24 text

Lesson  1:  2x2  Pixels HTC Wildfire S medium resolution device Samsung Galaxy S2 high resolution device LG Nexus 5 extra-high resolution device mdpi hdpi xhdpi ???

Slide 25

Slide 25 text

Lesson  1:  2x2  dp HTC Wildfire S medium resolution device Samsung Galaxy S2 high resolution device LG Nexus 5 extra-high resolution device mdpi hdpi xhdpi same physical size

Slide 26

Slide 26 text

Lesson  1:  XML  Syntax 
 scale-independent pixels adjusts based on user preferences

Slide 27

Slide 27 text

Lesson  1:  Building  layouts 
 attribute name attribute value view element

Slide 28

Slide 28 text

Lesson  1:  android:scaleType center fitCenter fitXY centerCrop

Slide 29

Slide 29 text

Lesson  1:  Building  layouts 1 2 3 1 2 3 1 2 3 1 2 3 Horizontal Linear Layout Vertical Linear Layout Vertical LL Equal Height Vertical LL LeftOver Height

Slide 30

Slide 30 text

Lesson  1:  View  Groups 
                     container closing tag

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

action bar list view custom list view row tab widget • image view • text view • linear layout • relative layout • … Demystify

Slide 33

Slide 33 text

grid view custom view tab widget custom view • image view • text view • linear layout • relative layout • image button • … Demystify action bar

Slide 34

Slide 34 text

horizontal scroll view image view custom view • linear layout • image button • image view window full screen Demystify action bar

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

real time preview project structure view content

Slide 37

Slide 37 text

- Select the views - Position the views - Style the views Exercise  #1  -­‐  Create  a  Birthday  Card  app Happy Birthday Happy Birthday, Sérgio! From, GDGCoimbra!

Slide 38

Slide 38 text

Lesson  2:  Making  an  App  Interactive Just Java QUANTITY 2 - + PRICE $10 ORDER TextView Button android:id android:margin android:textAllCaps android:onClick

Slide 39

Slide 39 text

- Select the views - Position the views - Style the views Exercise  2:  Create  a  Coffee  Order  app Just Java QUANTITY 2 - + PRICE Total: $10 Thank you! ORDER Just Java QUANTITY 2 - + PRICE $10 ORDER

Slide 40

Slide 40 text

Lesson  3:  Work  with  the  Android  Framework  and  Control  Flow Resource Type in Java code in XML Image R.drawable.photo @drawable/photo String R.string.hello @string/hello Layout XML file R.layout.activity_main @layout/activity_main ID R.id.text_view @id/text_view Color R.color.red @color/red hello olá bonjour app_name #FF0000 #00FF00 #0000FF

Slide 41

Slide 41 text

- 2 Million apps on Google Play - (User) Default applications - Do not reinvent the wheel Lesson  3:  Work  with  the  Android  Framework  and  Control  Flow

Slide 42

Slide 42 text

Lesson  3:  Work  with  the  Android  Framework  and  Control  Flow Just Java QUANTITY 2 - + PRICE $10 TOPPINGS Whipped cream ORDER SUMMARY No whipped cream Name: GDGCoimbra Quantity: 2 Total: 10$ ScrollView Change to landscape

Slide 43

Slide 43 text

Exercise  3:  Add  new  functionalities Just Java QUANTITY 2 - + PRICE $10 TOPPINGS Whipped cream ORDER SUMMARY No whipped cream Name: GDGCoimbra Quantity: 2 Total: 10$

Slide 44

Slide 44 text

Exercise  3 Just Java QUANTITY 2 - + PRICE $10 ORDER TOPPINGS Whipped cream ORDER SUMMARY No whipped cream Name: GDGCoimbra Quantity: 2 Total: 10$ Name Chocolate No chocolate

Slide 45

Slide 45 text

Exercise  3:  Interact  with  other  apps Just Java QUANTITY 2 - + PRICE $10 ORDER TOPPINGS Whipped cream ORDER SUMMARY No whipped cream Name: GDGCoimbra Quantity: 2 Total: 10$ Name Chocolate No chocolate intent action data

Slide 46

Slide 46 text

- Allows other app to perform an action - No need to (re)implement functionalities - No need to know each app will be triggered Lesson  3:  Work  with  the  Android  Framework  and  Control  Flow

Slide 47

Slide 47 text

Lesson  3:  Work  with  the  Android  Framework  and  Control  Flow Intent  intent  =  new  Intent(Intent.ACTION_SENDTO);   intent.setData(Uri.parse(“mailto:”));   intent.putExtra(Intent.EXTRA_SUBJECT,  “Order  for:  “  +  name);   intent.putExtra(Intent.EXTRA_TEXT,  message);   if  (intent.resolveActivity(getPackageManager())  !=  null  {      startActivity(intent);   }

Slide 48

Slide 48 text

- Educational app that teaches 5 new things - Any subject - User interaction - Link with other applications Project From, GDGCoimbra! Android is starting… Starting application

Slide 49

Slide 49 text

Project - Two weeks for completion - Continuous feedback - Best practices - You can reach us on G+/ Slack/ etc.

Slide 50

Slide 50 text

Project  Worldwide From, GDGCoimbra! Apprendre les bases du roller by Christophe KindJI Traffic Signs SA by Rulani Nevhufumba Brain Training Game by Kostya Bakay

Slide 51

Slide 51 text

- developer.android.com/develop/index.html - google.com/design/spec/material-design/introduction.html - vogella.com/tutorials/Android/article.html - android-arsenal.com/demo - java2s.com/Code/Android/CatalogAndroid.htm Materials

Slide 52

Slide 52 text

gdgcoimbra.github.io [email protected] /GDGCoimbra +GDGCoimbra @GDGCoimbra gdgcoimbra.slack.com @cafonsomota @nunoar @bffcorreia @sdsantos