28
,QWURGXomR j SURJUDPDomR SDUD D SODWDIRUPD $QGURLG &XUVRV GH 9HUmR QD &DWyOLFD -RUJH & 6 &DUGRVR /XtV *XVWDYR 0DUWLQV MRUJHFDUGRVR#LHHHRUJ OPDUWLQV#SRUWRXFSSW

Introdução à programação em Android e iOS - Android

Embed Size (px)

DESCRIPTION

Slides usados na edição de 2011 do Curso de Verão da UCP (http://www2.porto.ucp.pt/cvc/?details=124)

Citation preview

Page 1: Introdução à programação em Android e iOS - Android

,QWURGXomR�j�SURJUDPDomR�SDUD�D�SODWDIRUPD�$QGURLG

&XUVRV�GH�9HUmR�QD�&DWyOLFD�����

-RUJH�&��6��&DUGRVR��/XtV�*XVWDYR�0DUWLQVMRUJHFDUGRVR#LHHH�RUJ��OPDUWLQV#SRUWR�XFS�SW

Page 2: Introdução à programação em Android e iOS - Android

&RQWH~GR

Ɣ0DLV�DOJXQV�FRQFHLWRV�-DYDƔ2�TXH�p�R�$QGURLGƔ *XLD�GHVHQYROYLPHQWR��$3,VƔ ,QVWDODomR�6'.�H�3OXJLQ�(FOLSVHƔ (VWUXWXUD�GH�XP�SURMHFWR�$QGURLG�QR�(FOLSVHƔ &LFOR�GH�YLGD�GH�XPD�DSOLFDomRƔ $OJXQV�FRQWURORV��FDL[D�GH�WH[WR��ERWmR��FKHFNER[��VOLGHU��Ɣ $SOLFDomR�H[HPSOR��(QYLDU�XP�606�Ɣ $SOLFDomR�H[HPSOR��&DOFXODGRUD�GH�IUDFo}HV

Page 3: Introdução à programação em Android e iOS - Android

0DLV�DOJXQV�FRQFHLWRV�-DYD��3DFNDJHV

Ɣ 3DFNDJHV�ż 2V�SDFNDJHV�VmR�XPD�RUJDQL]DomR�KLHUiUTXLFD�GH�FODVVHV�HP�-DYD

ż 8P�SDFNDJH�DJUXSD�FODVVHV�UHODFLRQDGDV�ż KWWS���GRZQORDG�OOQZ�RUDFOH�FRP�MDYDVH�������GRFV�DSL�

Ɣ 3DUD�XVDUPRV�DV�FODVVHV�GH�XP�GHWHUPLQDGR�SDFNDJH�WHPRV�GH�LQGLFDU�H[SOLFLWDPHQWH��QR�ILFKHLUR�GD�FODVVH��TXH�TXHUHPRV�XWLOL]DU�XPD�FODVVH�FRQFUHWD�RX�WRGDV�DV�FODVVHV�GHVVH�SDFNDJH�

LPSRUW�MDYD�PDWK� �

Ɣ 7RGRV�RV�ILFKHLURV�LPSRUWDP�DXWRPDWLFDPHQWH�R�SDFNDJH�MDYD�ODQJ� �

Page 4: Introdução à programação em Android e iOS - Android

0DLV�DOJXQV�FRQFHLWRV�-DYD��3DFNDJHV

Ɣ$V�QRVVDV�FODVVHV�WDPEpP�WrP�GH�ILFDU�DVVRFLDGDV�D�XPD�SDFNDJH

Ɣ �6H�QmR�R�IL]HUPRV�H[SOLFLWDPHQWH��ILFDP�DVVRFLDGDV�D�XPD�SDFNDJH�GHIDXOW�YD]LD�

Ɣ 1RUPDOPHQWH��XVD�VH�XPD�HVWUXWXUD�WLSR�QRPHV�GH�GRPtQLR�GD�LQWHUQHW��LQYHUWLGD�ż HX�MRUJHFDUGRVR�FYF�����9HLFXOR

Ɣ �1R�QRVVR�FRPSXWDGRU��FDGD�XPD�GDV�SDODYUDV�p�PDSHDGD�QR�QRPH�GH�XPD�SDVWDż HX�MRUJHFDUGRVR�FYF�����9HLFXOR�MDYD�ż �

Page 5: Introdução à programação em Android e iOS - Android

2�TXH�p�R�$QGURLG

�$QGURLG�LV�D�VRIWZDUH�VWDFN�IRU�PRELOH�GHYLFHV�WKDW�LQFOXGHV�DQ�RSHUDWLQJ�V\VWHP��PLGGOHZDUH�DQG�NH\�DSSOLFDWLRQV��7KH�$QGURLG�6'.�SURYLGHV�WKH�WRROV�DQG�$3,V�QHFHVVDU\�WR�EHJLQ�GHYHORSLQJ�DSSOLFDWLRQV�RQ�WKH�$QGURLG�SODWIRUP�XVLQJ�WKH�-DYD�SURJUDPPLQJ�ODQJXDJH�����KWWS���GHYHORSHU�DQGURLG�FRP�JXLGH�EDVLFV�ZKDW�LV�DQGURLG�KWPO

��6LVWHPD�RSHUDWLYR�FRP�NHUQHO�/LQX[��)UDPHZRUN�DSOLFDFLRQDO�EDVHDGR�HP�-DYD��0iTXLQD�YLUWXDO�'DOYLN��RSWLPL]DGD�SDUD�GLVSRVLWLYRV�PyYHLV�

Page 6: Introdução à programação em Android e iOS - Android

*XLD�GH�GHVHQYROYLPHQWR��$3,V

KWWS���GHYHORSHU�DQGURLG�FRP�JXLGH�LQGH[�KWPO

KWWS���GHYHORSHU�DQGURLG�FRP�UHIHUHQFH�SDFNDJHV�KWPO

Page 7: Introdução à programação em Android e iOS - Android

'HVHQYROYHU�DSOLFDo}HV�$QGURLG�HP�(FOLSVHƔ(FOLSVH��

ż KWWS���ZZZ�HFOLSVH�RUJ�ż e�XP�DPELHQWH�LQWHJUDGR�GH�GHVHQYROYLPHQWR��,'(���HGLWRU��FRPSLODGRU��GHEXJJHU��UHIHUrQFLD��HWF

Ɣ $QGURLG�6'.��ż KWWS���GHYHORSHU�DQGURLG�FRP�VGN�LQGH[�KWPOż %LEOLRWHFDV��IHUUDPHQWDV�H�HPXODGRU�$QGURLG

Ɣ 3OXJLQ�$QGURLG�SDUD�(FOLSVH��ż KWWS���GHYHORSHU�DQGURLG�FRP�VGN�HFOLSVH�DGW�KWPOż $FHVVR�jV�ELEOLRWHFDV��IHUUDPHQWDV�H�HPXODGRU�D�SDUWLU�GR�(FOLSVH

Page 8: Introdução à programação em Android e iOS - Android

,QVWDODomR�6'.�H�3OXJLQ

Ɣ6'.ż'HVFDUUHJDU��OLQN�QR�VOLGH�DQWHULRU�ż 'HVFRPSDFWDU�H�FRSLDU�SDUD�TXDOTXHU�VtWLR�QR�GLVFR�

Ɣ 3OXJLQż 1R�HFOLSVH�LU�D�+HOS��!�,QVWDOO�QHZ�VRIWZDUHż $GLFLRQDU�R�VLWH�KWWSV���GO�VVO�JRRJOH�FRP�DQGURLG�HFOLSVH�ż �0DUFDU��'HYHORSHU�WRROV��H�LQVWDODU

Ɣ 'HSRLV�GH�LQVWDODGR�R�SOXJLQż ,U�D�:LQGRZ��!�$QGURLG�6'.�DQG�$9'�0DQDJHU��!�$YDLODEOH�SDFNDJHV�Ŷ0DUFDU�H�LQVWDODU

Page 9: Introdução à programação em Android e iOS - Android

&ULDomR�HPXODGRU

Ɣ:LQGRZ��!�$QGURLG�6'.�DQG�$9'�0DQDJHU��!�9LUWXDO�'HYLFHVż 1HZ�

Ɣ 6HOHFFLRQDU�R�GLVSRVLWLYR�ż 6WDUW

����

Page 10: Introdução à programação em Android e iOS - Android

&ULDU�XP�SURMHFWR�$QGURLG

)LOH��!�1HZ��!�3URMHFW���$QGURLG��!�3URMHFW

(VFROKHU�XP��%XLOG�7DUJHW�

'HILQLU��Ɣ �$SSOLFDWLRQ�QDPH���TXDOTXHU�FRLVD���

Ɣ �3DFNDJH�QDPH���GR�JpQHUR�FRP�MRUJH�DQGURLG���

Ɣ �&UHDWH�$FWLYLW\����1RPH'D&ODVVH��H�

Ɣ �0LQ�6'.�9HUVLRQ���p�XP�YDORU�LQWHLUR�GD�FROXQD�$3,�QR�%XLOG�7DUJHW�

Page 11: Introdução à programação em Android e iOS - Android

(VWUXWXUD�GH�XP�SURMHFWR�$QGURLG�QR�(FOLSVHƔ DVVHWV

ż )LFKHLURV�H[WHUQRV�TXH�D�QRVVD�DSOLFDomR�XVD

Ɣ ELQż 2�SURMHFWR�FRPSLODGR�

Ɣ JHQ�FRP�MRUJH�5�MDYD�ż e�JHUDGR�DXWRPDWLFDPHQWH�H�FRQWpP�LGHQWLILFDGRUHV�GH�UHFXUVRV

Ɣ UHVż 5HFXUVRV��LPDJHQV��WH[WR�H�OD\RXW��

Ɣ VUFż 2�QRVVR�FyGLJR�IRQWH�ż e�FULDGR�XP�HVTXHOHWR�DXWRPDWLFDPHQWH�

Ɣ $QGURLG0DQLIHVW�[POż 'HILQLo}HV�GD�DSOLFDomRż 1mR�YDPRV�PH[HU

Page 12: Introdução à programação em Android e iOS - Android

&LFOR�GH�YLGD�GH�XPD�DSOLFDomR�$QGURLG

Ɣ8P�ERFDGR�PDLV�FRPSOH[D�GR�TXH�R�FLFOR�GH�YLGD�GH�XPD�DSOLFDomR�GHVNWRS���

KWWS���GHYHORSHU�DQGURLG�FRP�JXLGH�WRSLFV�IXQGDPHQWDOV�KWPO�DFWOLIH

Page 13: Introdução à programação em Android e iOS - Android

$FWLYLW\

Ɣ $�FODVVH�$FWLYLW\�p�D�FODVVH�TXH�LPSOHPHQWD�R�FLFOR�GH�YLGD�GHVFULWR�H�VHUYH�GH�EDVH�D�XPD�DSOLFDomR�

Ɣ 7RGDV�DV�DSOLFDo}HV�VmR�VXEFODVVHV�GH�$FWLYLW\ż )D]HP�RYHUULGH�GRV�PpWRGRV�UHODWLYRV�DR�FLFOR�GH�YLGD��TXH�LQWHUHVVDUHP�j�DSOLFDomR�

Ɣ 'HILQLGD�QR�SDFNDJH�ż DQGURLG�DSS

Ŷ KWWS���GHYHORSHU�DQGURLG�FRP�UHIHUHQFH�DQGURLG�DSS�$FWLYLW\�KWPO

Page 14: Introdução à programação em Android e iOS - Android

&LFOR�GH�YLGD�GH�XPD�DSOLFDomR�$QGURLG

Ɣ 9HU�SURMHFWR��DQGURLG���

Ɣ �

Ɣ $EULU�D�FRQVRODż �:LQGRZ��!�6KRZ�YLHZ��!�2WKHU���$QGURLG��!�/RJFDW

Page 15: Introdução à programação em Android e iOS - Android

&RUUHU�D�DSOLFDomR�QR�HPXODGRU

Ɣ �6H�R�HPXODGRU�QmR�HVWLYHU�D�FRUUHU�ż �:LQGRZ��!�$QGURLG�6'.�DQG�$9'�0DQDJHU��!�9LUWXDO�'HYLFHV���6HOHFFLRQDU�R�GLVSRVLWLYR���6WDUW

żƔ 5XQ

Page 16: Introdução à programação em Android e iOS - Android

$OJXQV�FRQWURORV

Ɣ $�FODVVH�EDVH�SDUD�RV�FRPSRQHQWHV�JUiILFRV�QXP�HFUm�p�D�FODVVH�9LHZ

Ɣ 7RGRV�RV�FRQWURORV�VmR�VXEFODVVHV�GH�9LHZ�ż %RW}HVż &DL[DV�GH�WH[WR��ODEHO�H�HGLWiYHO�ż 6FUROOż &KHFNER[

Ɣ �8P�HFUm�GH�XPD�DSOLFDomR�WHP��WLSLFDPHQWH��YiULRV�FRPSRQHQWHV��H�J���XPD�FDL[D�GH�WH[WR��XP�ERWmR��XPD�FKHFNER[��HWF�

Ɣ 3DUD�FULDUPRV�HVWD�HVWUXWXUD�WHPRV�GH�RUJDQL]DU�RV�FRPSRQHQWHV�KLHUDUTXLFDPHQWHż 7HPRV�GH�XVDU�FRPSRQHQWHV�TXH�SRGHP�FRQWHU�HOHV�SUySULRV�YiULRV�FRPSRQHQWHV��9LHZ*URXS

Page 17: Introdução à programação em Android e iOS - Android

9LHZ*URXSV

Ɣ8P�9LHZ*URXS�p�XP�SDLQHO�DR�TXDO�SRGHPRV�DGLFLRQDU�RXWUDV�9LHZV��RX�RXWURV�9LHZ*URXS�ż $�FODVVH�9LHZ*URXS�p�HOD�SUySULD�VXEFODVVH�GH�9LHZż0DV�QmR�WHP�UHSUHVHQWDomR�YLVXDO��DSHQDV�VHUYH�SDUD�RUJDQL]DU�RV�FRPSRQHQWHV�Oi�GHQWUR

Ɣ ([LVWHP�GLIHUHQWHV�9LHZ*URXS�TXH�RUJDQL]DP�RV�FRPSRQHQWHV�GH�IRUPD�GLIHUHQWH

Ɣ

Page 18: Introdução à programação em Android e iOS - Android

9LHZ*URXSV

Ɣ$�MDQHOD�GD�DSOLFDomR�DSHQDV�WHP�DVVRFLDGD�XPD�~QLFD�9LHZż 1RUPDOPHQWH�DVVRFLDPRV�XPD�9LHZ*URXS��VXEFODVVH�GH�9LHZ��SDUD�SRGHUPRV�DVVRFLDU�j�9LHZ*URXS�WRGRV�RV�RXWURV�FRQWURORV

żƔ

Page 19: Introdução à programação em Android e iOS - Android

$OJXQV�FRQWURORV

Ɣ$�PDLRU�SDUWH�GRV�FRQWURORV�JUiILFRV�HVWmR�QR�SDFNDJHż DQGURLG�ZLGJHW

Ŷ KWWS���GHYHORSHU�DQGURLG�FRP�UHIHUHQFH�DQGURLG�ZLGJHW�SDFNDJH�VXPPDU\�KWPO

Ɣ $V�FODVVHV�9LHZ�H�9LHZ*URXS�HVWmR�HPż �DQGURLG�YLHZ

Ŷ KWWS���GHYHORSHU�DQGURLG�FRP�UHIHUHQFH�DQGURLG�YLHZ�SDFNDJH�VXPPDU\�KWPO

Page 20: Introdução à programação em Android e iOS - Android

$OJXQV�FRQWURORV

Ɣ 7RGRV�RV�FRQWURORV�WrP�XP�FRQVWUXWRU�TXH�QHFHVVLWD�GH�XP�&RQWH[Wż (VWH�SDUkPHWUR�p�D�QRVVD�$FWLYLW\��VXEFODVVH�LQGLUHFWD�GH�&RQWH[W�

Ɣ 9HU�SURMHFWR��DQGURLG���

Page 21: Introdução à programação em Android e iOS - Android

(YHQWRV�GH�LQSXW

Ɣ 3DUD�GHWHFWDUPRV�HYHQWRV�UHODFLRQDGRV�FRP�RV�FRQWURORV��HYHQWRV�JHUDGRV�SRU�LQSXW�GR�XWLOL]DGRU��WHPRV�GH�DVVRFLDU�DR�FRQWUROR�XP�REMHFWR�TXH�HVFXWD�DV�QRWLILFDo}HV�GRV�HYHQWRV�HP�TXH�HVWDPRV�LQWHUHVVDGRV��

Ɣ &DGD�FRQWUROR�SRGH�GHILQLU�HYHQWRV�GLIHUHQWHV�H��SRU�LVVR��FODVVHV�GLIHUHQWHV�TXH�HVFXWDP�HVVHV�HYHQWRV�

Page 22: Introdução à programação em Android e iOS - Android

(YHQWRV�GH�LQSXW

SXEOLF�FODVV�&RQWURORV�H[WHQGV�$FWLYLW\�LPSOHPHQWV�2Q&OLFN/LVWHQHU�^����%XWWRQ�EWQ�

����SXEOLF�YRLG�RQ&UHDWH�%XQGOH�VDYHG,QVWDQFH6WDWH��^��������VXSHU�RQ&UHDWH�VDYHG,QVWDQFH6WDWH���������������������8P�ERWmR�FRP�R�WH[WR�ROi��������EWQ� �QHZ�%XWWRQ�WKLV����������EWQ�VHW7H[W��2Oi���

�����������YDPRV�HVFXWDU�FOLFNV�QR�ERWmR��������EWQ�VHW2Q&OLFN/LVWHQHU�WKLV������������������VHW&RQWHQW9LHZ�EWQ������`

�������$�LQWHUIDFH�2Q&OLFN/LVWHQHU�GHILQH�DSHQDV�HVWH�PpWRGR�TXH�WHPRV�GH�LPSOHPHQWDU����#2YHUULGH����SXEOLF�YRLG�RQ&OLFN�9LHZ�YLHZ��^��������/RJ�L��&RQWURORV����%RWmR�SUHVVLRQDGR�������``

Page 23: Introdução à programação em Android e iOS - Android

/LVWHQHUV

Ɣ3RU�H[HPSOR��XP�%XWWRQ��JHUD�HYHQWRV�TXDQGR�p�FOLFDGR��HQYLDQGR�QRWLILFDo}HV�SDUD�R�REMHFWR�GR�WLSR�2Q&OLFN/LVWHQHU�TXH�HVWi�UHJLVWDGR�QR�%XWWRQ�

Ɣ 9HU�SURMHFWR�DQGURLG��ż ([SHULPHQWHP�DGLFLRQDU�RXWUR�ERWmR

Ɣ 9HU�SURMHFWR�DQGURLG��

Page 24: Introdução à programação em Android e iOS - Android

0DLV�H[HPSORV

DQGURLG��

DQGURLG��

DQGURLG��

Page 25: Introdução à programação em Android e iOS - Android

([HPSOR�0\/RFDWLRQ

YHU�SURMHFWR�/RFDWLRQ

Page 26: Introdução à programação em Android e iOS - Android

([HPSOR�FDOFXODGRUD�GH�IUDFo}HV

9HU�SURMHFWR�)UDFWLRQ&DOFXODWRU

Page 27: Introdução à programação em Android e iOS - Android

([HPSOR�6PV6HQGHU

9HU�SURMHFWR�6066HQGHU

Page 28: Introdução à programação em Android e iOS - Android

)LP

&XUVRV�GH�9HUmR�QD�&DWyOLFD�����KWWS���SRUWR�XFS�SW�FYF�

-RUJH�&��6��&DUGRVR��/XtV�*XVWDYR�0DUWLQVMRUJHFDUGRVR#LHHH�RUJ��OPDUWLQV#SRUWR�XFS�SW

KWWS���VOLGHVKDUH�QHW�MRUJHFDUGRVR��WDJ��FYF�����