Tải bản đầy đủ (.pdf) (336 trang)

Android application development

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.71 MB, 336 trang )



Android Application Development

5LFN5RJHUV-RKQ/RPEDUGR=LJXUG0HGQLHNVDQG%ODNH
0HLNH

Beijing • Cambridge • Farnham • Kưln • Sebastopol • Taipei • Tokyo


Android Application Development
E\5LFN5RJHUV-RKQ/RPEDUGR=LJXUG0HGQLHNVDQG%ODNH0HLNH
&RS\ULJKW‹5LFN5RJHUV-RKQ/RPEDUGR=LJXUG0HGQLHNVDQG%ODNH0HLNH$OOULJKWVUHVHUYHG
3ULQWHGLQWKH8QLWHG6WDWHVRI$PHULFD
3XEOLVKHGE\2¦5HLOO\0HGLD,QF*UDYHQVWHLQ+LJKZD\1RUWK6HEDVWRSRO&$
2¦5HLOO\ERRNVPD\EHSXUFKDVHGIRUHGXFDWLRQDOEXVLQHVVRUVDOHVSURPRWLRQDOXVH2QOLQHHGLWLRQV
DUHDOVRDYDLODEOHIRUPRVWWLWOHV KWWSP\VDIDULERRNVRQOLQHFRP
)RUPRUHLQIRUPDWLRQFRQWDFWRXU
FRUSRUDWHLQVWLWXWLRQDOVDOHVGHSDUWPHQW 
RUFRUSRUDWH#RUHLOO\FRP

Editor: $QG\2UDP
Production Editor: 6XPLWD0XNKHUML
Copyeditor: *HQHYLHYHG¦(QWUHPRQW
Proofreader: 6DGD3UHLVFK

Indexer: -RH:L]GD
Cover Designer: .DUHQ0RQWJRPHU\
Interior Designer: 'DYLG)XWDWR
Illustrator: 5REHUW5RPDQR


Printing History:
0D\

)LUVW(GLWLRQ

1XWVKHOO+DQGERRNWKH1XWVKHOO+DQGERRNORJRDQGWKH2¦5HLOO\ORJRDUHUHJLVWHUHGWUDGHPDUNVRI
2¦5HLOO\0HGLD,QF$QGURLG$SSOLFDWLRQ'HYHORSPHQWWKHLPDJHRIDQ(DVWHUQTXROODQGUHODWHGWUDGH
GUHVVDUHWUDGHPDUNVRI2¦5HLOO\0HGLD,QF
0DQ\RIWKHGHVLJQDWLRQVXVHGE\PDQXIDFWXUHUVDQGVHOOHUVWRGLVWLQJXLVKWKHLUSURGXFWVDUHFODLPHGDV
WUDGHPDUNV:KHUHWKRVHGHVLJQDWLRQVDSSHDULQWKLVERRNDQG2¦5HLOO\0HGLD,QFZDVDZDUHRID
WUDGHPDUNFODLPWKHGHVLJQDWLRQVKDYHEHHQSULQWHGLQFDSVRULQLWLDOFDSV
:KLOHHYHU\SUHFDXWLRQKDVEHHQWDNHQLQWKHSUHSDUDWLRQRIWKLVERRNWKHSXEOLVKHUDQGDXWKRUVDVVXPH
QRUHVSRQVLELOLW\IRUHUURUVRURPLVVLRQVRUIRUGDPDJHVUHVXOWLQJIURPWKHXVHRIWKHLQIRUPDWLRQFRQ
WDLQHGKHUHLQ

TM

7KLVERRNXVHV5HS.RYHUŒDGXUDEOHDQGIOH[LEOHOD\IODWELQGLQJ
,6%1
>0@



Table of Contents

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

Part I. Development Kit Walk-Through
1. Getting to Know Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
:K\$QGURLG"

7KH2SHQ+DQGVHW$OOLDQFH
7KH$QGURLG([HFXWLRQ(QYLURQPHQW
&RPSRQHQWVRIDQ$QGURLG$SSOLFDWLRQ
$QGURLG$FWLYLW\/LIHF\FOH
$QGURLG6HUYLFH/LIHF\FOH
+RZ7KLV%RRN)LWV7RJHWKHU









2. Setting Up Your Android Development Environment . . . . . . . . . . . . . . . . . . . . . . . . . 13
6HWWLQJ8S&UHDWLQJDQ$QGURLG'HYHORSPHQW(QYLURQPHQW
+HOOR$QGURLG
:KHUH:H¦UH*RLQJ
6WDUWLQJD1HZ$QGURLG$SSOLFDWLRQ+HOOR:RUOG
:ULWLQJ+HOOR:RUOG
5XQQLQJ+HOOR:RUOG










3. Using the Android Development Environment for Real Applications . . . . . . . . . . . . 27
0LFUR-REV7KLV%RRN¦V0DLQ6DPSOH$SSOLFDWLRQ
$QGURLGDQG6RFLDO1HWZRUNLQJ
'RZQORDGLQJWKH0-$QGURLG&RGH
$%ULHI7RXURIWKH0-$QGURLG&RGH
7KH3URMHFW5RRW)ROGHU 0-$QGURLG

7KH6RXUFH)ROGHU VUF

7KH5HVRXUFH)ROGHU UHV

)LUVW6WHSV%XLOGLQJDQG5XQQLQJWKH0LFUR-REV$SSOLFDWLRQ









iii


$9HU\6KRUW7RXURIWKH$QGURLG6'.(FOLSVH,'(
/RDGLQJDQG6WDUWLQJWKH$SSOLFDWLRQ
'LJJLQJD/LWWOH'HHSHU:KDW&DQ*R:URQJ"
5XQQLQJDQ$SSOLFDWLRQRQWKH70RELOH3KRQH

6XPPDU\







4. Under the Covers: Startup Code and Resources in the MJAndroid Application . . . . 43
,QLWLDOL]DWLRQ3DUDPHWHUVLQ$QGURLG0DQLIHVW[PO
,QLWLDOL]DWLRQLQ0LFUR-REVMDYD
0RUH,QLWLDOL]DWLRQRI0LFUR-REVMDYD
6XPPDU\






5. Debugging Android Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7KH7RROV
(FOLSVH-DYD(GLWRU
-DYD(UURUV
7KH'HEXJJHU
/RJFDW
$QGURLG'HEXJ%ULGJH DGE

''06'DOYLN'HEXJ0RQLWRU6HUYLFH
7UDFHYLHZ
6XPPDU\












6. The ApiDemos Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
$SSOLFDWLRQ6HWXSLQWKH0DQLIHVW)LOH
)LQGLQJWKH6RXUFHWRDQ,QWHUHVWLQJ([DPSOH
&XVWRP7LWOH'HPR
/LQNLI\'HPR
$GGLQJ






7. Signing and Publishing Your Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
7HVW$WWDFKDQ(QG8VHU/LFHQVH$JUHHPHQW,I'HVLUHG
&UHDWHDQG$WWDFKDQ,FRQDQG/DEHO
&OHDQ8SIRU5HOHDVH
9HUVLRQ

2EWDLQLQJD6LJQLQJ&HUWLILFDWHDQG$3,.H\
*HWWLQJD6LJQLQJ&HUWLILFDWHIRUDQ$SSOLFDWLRQ*HWWLQJD6LJQLQJ&HUWLILFDWH:KLOH'HEXJJLQJ
6LJQLQJ5HWHVWLQJ3XEOLVKLQJRQ$QGURLG0DUNHW
6LJQLQJ8S$VDQ$QGURLG'HYHORSHU
iv | Table of Contents















8SORDGLQJ


Part II. Programming Topics
8. Persistent Data Storage: SQLite Databases and Content Providers . . . . . . . . . . . . . 101
'DWDEDVHV

%DVLF6WUXFWXUHRIWKH0LFUR-REV'DWDEDVH&ODVV
5HDGLQJ'DWDIURPWKH'DWDEDVH
0RGLI\LQJWKH'DWDEDVH
&RQWHQW3URYLGHUV
,QWURGXFLQJ1RWH3DG
&RQWHQW3URYLGHUV
&RQVXPLQJD&RQWHQW3URYLGHU










9. Location and Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
/RFDWLRQ%DVHG6HUYLFHV
0DSSLQJ
7KH*RRJOH0DSV$FWLYLW\
7KH0DS9LHZDQG0DS$FWLYLW\
:RUNLQJZLWK0DS9LHZV
0DS9LHZDQG0\/RFDWLRQ2YHUOD\,QLWLDOL]DWLRQ
3DXVLQJDQG5HVXPLQJD0DS$FWLYLW\
&RQWUROOLQJWKH0DSZLWK0HQX%XWWRQV
&RQWUROOLQJWKH0DSZLWKWKH.H\3DG
/RFDWLRQ:LWKRXW0DSV
7KH0DQLIHVWDQG/D\RXW)LOHV
&RQQHFWLQJWRD/RFDWLRQ3URYLGHUDQG*HWWLQJ/RFDWLRQ8SGDWHV

8SGDWLQJWKH(PXODWHG/RFDWLRQ















10. Building a View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
$QGURLG*8,$UFKLWHFWXUH
7KH0RGHO
7KH9LHZ
7KH&RQWUROOHU
3XWWLQJ,W7RJHWKHU
$VVHPEOLQJD*UDSKLFDO,QWHUIDFH
:LULQJ8SWKH&RQWUROOHU
/LVWHQLQJWRWKH0RGHO
/LVWHQLQJIRU7RXFK(YHQWV
/LVWHQLQJIRU.H\(YHQWV
$OWHUQDWLYH:D\VWR+DQGOH(YHQWV
$GYDQFHG:LULQJ)RFXVDQG7KUHDGLQJ















Table of Contents | v


7KH0HQX



11. A Widget Bestiary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
$QGURLG9LHZV
7H[W9LHZDQG(GLW7H[W
%XWWRQDQG,PDJH%XWWRQ
$GDSWHUVDQG$GDSWHU9LHZV
&KHFN%R[HV5DGLR%XWWRQVDQG6SLQQHUV
9LHZ*URXSV
*DOOHU\DQG*ULG9LHZ
/LVW9LHZDQG/LVW$FWLYLW\
6FUROO9LHZ

7DE+RVW
/D\RXWV
)UDPH/D\RXW
/LQHDU/D\RXW
7DEOH/D\RXW
$EVROXWH/D\RXW
5HODWLYH/D\RXW


















12. Drawing 2D and 3D Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
5ROOLQJ/D\RXW
&DQYDV'UDZLQJ
'UDZDEOHV

%LWPDSV
%OLQJ
6KDGRZV*UDGLHQWVDQG)LOWHUV
$QLPDWLRQ
2SHQ*/*UDSKLFV











13. Inter-Process Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
,QWHQWV6LPSOH/RZ2YHUKHDG,3&
,QWHQW2EMHFWV8VHGLQ,QWHU3URFHVV&RPPXQLFDWLRQ
$FWLYLW\2EMHFWVDQG1DYLJDWLQJWKH8VHU,QWHUIDFH+LHUDUFK\
([DPSOH$Q,QWHQWWR3LFN+RZ:H6D\Ê+HOOR:RUOGÔ
*HWWLQJD5HVXOWYLD,QWHU3URFHVV&RPPXQLFDWLRQ
5HPRWH0HWKRGVDQG$,'/
$QGURLG,QWHUIDFH'HILQLWLRQ/DQJXDJH
&ODVVHV8QGHUO\LQJ$,'/*HQHUDWHG,QWHUIDFHV
3XEOLVKLQJDQ,QWHUIDFH
$QGURLG,3&&RPSDUHGZLWK-DYD1DWLYH,QWHUIDFH -1,

:KDW%LQGHU'RHVQ¦W'R
vi | Table of Contents















%LQGHUDQG/LQX[



14. Simple Phone Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
4XLFNDQG(DV\3KRQH&DOOV
&UHDWLQJDQ([DPSOH$SSOLFDWLRQWR5XQWKHFDOO0HWKRG
(PEHGGLQJWKH&RGH6QLSSHWLQD6LPSOH$SSOLFDWLRQ
([SORULQJWKH3KRQH&RGH7KURXJKWKH'HEXJJHU
&UHDWLQJDQ,QVWDQFHRIDQ,QWHQW
$GGLQJ'DWDWRDQ,QVWDQFHRIDQ,QWHQW
,QLWLDWLQJD3KRQH&DOO
([FHSWLRQ+DQGOLQJ
$QGURLG$SSOLFDWLRQ/HYHO0RGXODULW\DQG7HOHSKRQ\












15. Telephony State Information and Android Telephony Classes . . . . . . . . . . . . . . . . 287
2SHUDWLRQV2IIHUHGE\WKHDQGURLGWHOHSKRQ\3DFNDJH
3DFNDJH6XPPDU\
/LPLWDWLRQVRQ:KDW$SSOLFDWLRQV&DQ'RZLWKWKH3KRQH
([DPSOH'HWHUPLQLQJWKH6WDWHRID&DOO
$QGURLG7HOHSKRQ\,QWHUQDOV
,QWHU3URFHVV&RPPXQLFDWLRQDQG$,'/LQWKH
DQGURLGLQWHUQDOWHOHSKRQ\3DFNDJH
7KHDQGURLGLQWHUQDOWHOHSKRQ\3DFNDJH
7KHDQGURLGLQWHUQDOWHOHSKRQ\JVP3DFNDJH
([SORULQJ$QGURLG7HOHSKRQ\,QWHUQDOV
$QGURLGDQG9R,3













Appendix: Wireless Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309

Table of Contents | vii



Preface

:KHQ*RRJOHDQQRXQFHGWKHGHYHORSPHQWRI$QGURLGWKHILHOGRIPRELOHSODWIRUPV
ZDVDOUHDG\ZHOOHVWDEOLVKHG(YHQLQWKHQDUURZHUFDWHJRU\RIRSHQVRXUFHSODWIRUPV
DQXPEHURIYLDEOHDOWHUQDWLYHVZHUHEHLQJSXVKHGE\SURSRQHQWVVWLPXODWHGQRWRQO\ZLGHVSUHDGWHFKQLFDOLQWHUHVWEXWUDPSDQWVSHFXODWLRQDERXWLWV
SRWHQWLDOWRFRPSOHWHO\WUDQVIRUPWKHZRUOGRIWKHSHUVRQDOGHYLFH,QVWHDGRIDFRQ
YHQLHQWSURSWRVXSSRUWDVHWRIIDPLOLDUIXQFWLRQVVXFKDVSKRQHFDOOVHPDLODQG
UHVWDXUDQWORRNXSVWKHHOHFWURQLFGHYLFHFRXOGEHFRPHDQRSHQHQGHGZLQGRZLQWR
WKHZKROHZRUOGÂFRXOGEHFRPHLQVKRUWDQ\WKLQJWKDWWKHXVHUDQGWKHGHYHORSHU
FRXOGWKLQNWRPDNHLW
+RZPXFKRIWKHFRJHQWDQDO\VLVDQGIHUYLGK\SHZLOOFRPHWRSDVVFDQEHGLVFXVVHG
HOVHZKHUHWKLVERRNLVIRUWKRVHZKRZDQWWRJHWWRNQRZWKHSURJUDPPLQJHQYLURQ
PHQWIRU$QGURLGDQGOHDUQZKDWWKH\WKHPVHOYHVFDQGRWRPDNHDGLIIHUHQFH:HKDYH
VSHQWPDQ\JUXHOLQJPRQWKVLQYHVWLJDWLQJWKHVRXUFHFRGHRYHUPXOWLSOHUHOHDVHVDQG
WU\LQJRXWWKHIXQFWLRQVRIWKHOLEUDU\DQGGHYHORSPHQWNLW:HKDYHEHHQZRUNLQJKDUG
WRXQFRYHUWKHWUXH$QGURLGJRLQJEH\RQGDQ\GRFXPHQWDWLRQZHFRXOGILQGRQOLQH
RULQSULQW
7KLVERRNUHDGFDUHIXOO\FDQHQDEOHDQ\-DYDSURJUDPPHUWRGHYHORSXVHIXODQGUREXVW
DSSOLFDWLRQVIRU$QGURLG,WDOVRWDNHV\RXLQWRWKHLQWHUQDOVLQVRPHSODFHVVR\RX

NQRZKRZ$QGURLGVXSSRUWVZKDW\RXƯUHGRLQJÂDQGVR\RXFDQSOD\DURXQGZLWKLWV
RSHQVRXUFHFRGHLI\RXOLNH

Audience
7KLVERRNLVLQWHQGHGIRUH[SHULHQFHGVRIWZDUHGHYHORSHUVZKRZDQWWRGHYHORSDS
SOLFDWLRQVLQWKH$QGURLGPRELOHHQYLURQPHQW,WDVVXPHV\RXKDYHVRPHH[SHULHQFH
ZLWKWKH-DYDSURJUDPPLQJODQJXDJHZLWKXVLQJ-DYDWRLPSOHPHQWXVHULQWHUIDFHV
DQGWKDW\RXDUHDWOHDVWIDPLOLDUZLWKWKHWHFKQRORJLHV$QGURLGXVHVVXFKDV;0/
64/*7DON ;033
2SHQ*/(6DQG+773

ix


How This Book Is Organized
7KLVERRNLVRUJDQL]HGDURXQGWKHFRUHH[DPSOHSURJUDPLQWURGXFHGLQ&KDSWHU
/DWHUFKDSWHUVLOOXVWUDWHGHYHORSPHQWWHFKQLTXHVE\DGGLQJWRWKHH[DPSOHWKURXJK
LPSOHPHQWLQJPRGXODUH[WHQVLRQVZKHUHWKLVLVIHDVLEOH6RPHFKDSWHUV DQGWKH$S
SHQGL[
FRYHUPRUHDGYDQFHGWRSLFVWKDWDUHQRWUHTXLUHGIRUPDQ\DSSOLFDWLRQV
3DUW,'HYHORSPHQW.LW:DON7KURXJKJHWV\RXVWDUWHGZLWKWKHEDVLFV\RX¦OOQHHGWR
ZULWHDSSOLFDWLRQV
&KDSWHU*HWWLQJWR.QRZ$QGURLGH[SODLQV$QGURLG¦VSODFHLQWKHPDUNHWDQGLWV
EDVLFDUFKLWHFWXUH
&KDSWHU6HWWLQJ8SORDGWKHVRIWZDUH\RXQHHGLQFOXGLQJ(FOLSVHDQGWKH$QGURLGSOXJLQDQGKRZWRJHW
VWDUWHGSURJUDPPLQJ
&KDSWHU8VLQJWKH$QGURLG'HYHORSPHQW(QYLURQPHQWIRU5HDO$SSOLFDWLRQVGHVFULEHV
WKHILOHVWKDWPDNHXSDW\SLFDO$QGURLGSURJUDP
&KDSWHU8QGHUWKH&RYHUV6WDUWXS&RGHDQG5HVRXUFHVLQWKH0-$QGURLG$SSOLFD

WLRQORRNVDWWKHIXQGDPHQWDO-DYDFRGHDQG;0/UHVRXUFHVWKDWHYHU\DSSOLFDWLRQ
QHHGV
&KDSWHU'HEXJJLQJ$QGURLG$SSOLFDWLRQVLQWURGXFHVDQXPEHURIWRROVIRUGHEXJJLQJ
DQGSHUIRUPDQFHLQFOXGLQJ(FOLSVHORJVWKH$QGURLG'HEXJ%ULGJH adb
''06DQG
7UDFHYLHZ
&KDSWHU7KH$SL'HPRV$SSOLFDWLRQRIIHUVDKLJKOHYHOWRXURIWKHVDPSOH$QGURLG
FRGHLQFOXGHGLQWKHWRRONLWZLWKWLSVIRUH[SORULQJLW\RXUVHOI
&KDSWHU6LJQLQJDQG3XEOLVKLQJSOLFDWLRQUHDG\IRUSXEOLFXVH
3DUW ,, 3URJUDPPLQJ 7RSLFV H[SORUHV LQ GHSWK WKH PDMRU OLEUDULHV \RX¦OO QHHG DQG
VKRZV\RXKRZWRXVHWKHPHIIHFWLYHO\
&KDSWHU3HUVLVWHQW'DWD6WRUDJH64/LWH'DWDEDVHVDQG&RQWHQW3URYLGHUVVKRZV
KRZWRXVHWKHWZRPRVWSRZHUIXOPHDQVLQ$QGURLGIRUVWRULQJDQGVHUYLQJGDWD
&KDSWHU/RFDWLRQDQG0DSSLQJVKRZVKRZWRGHWHUPLQHDQGGLVSOD\WKHXVHU¦VOR
FDWLRQDQGKRZWRXVH*RRJOH0DSV
&KDSWHU%XLOGLQJD9LHZLQWURGXFHVJUDSKLFDOSURJUDPPLQJRQ$QGURLGE\H[
SODLQLQJKRZWRFUHDWHDQGPDQLSXODWHZLQGRZVDQGYLHZV
&KDSWHU$:LGJHW%HVWLDU\FRYHUVWKHPRVWSRSXODUDQGXVHIXOJUDSKLFDOLQWHUIDFH
HOHPHQWVSURYLGHGE\$QGURLG
&KDSWHU'UDZLQJ'DQG'*UDSKLFVVKRZVKRZWROD\RXWJUDSKLFVDQGGHOYHV
LQWRGUDZLQJWUDQVIRUPLQJDQGDQLPDWLQJ\RXURZQJUDSKLFV

x | Preface


&KDSWHU,QWHU3URFHVV&RPPXQLFDWLRQFRYHUV,QWHQWVDQG5HPRWH0HWKRGVZKLFK
DOORZ\RXWRDFFHVVWKHIXQFWLRQDOLW\RIRWKHUDSSOLFDWLRQV
&KDSWHU6LPSOH3KRQH&DOOVVKRZVKRZWRGLDODQXPEHUIURPDQDSSOLFDWLRQDQG
H[SODLQVKRZ$QGURLGFDUULHVRXWWKHUHTXHVW

&KDSWHU7HOHSKRQ\6WDWH,QIRUPDWLRQDQG$QGURLG7HOHSKRQ\&ODVVHVVKRZVKRZ
WRJHWLQIRUPDWLRQDERXWWHOHSKRQ\VHUYLFHDQGSKRQHFDOOVDQGRIIHUVDWRXURIWHO
HSKRQ\LQWHUQDOV
$SSHQGL[:LUHOHVV3URWRFROVRIIHUVVRPHEDFNJURXQGDQGKLVWRU\RQZLUHOHVVVHUYLFHV

Conventions Used in This Book
7KHIROORZLQJW\SRJUDSKLFDOFRQYHQWLRQVDUHXVHGLQWKLVERRN
,WDOLF
,QGLFDWHVQHZWHUPV85/VHPDLODGGUHVVHVILOHQDPHVDQGILOHH[WHQVLRQV
Constant width

8VHGIRUSURJUDPOLVWLQJVDVZHOODVZLWKLQSDUDJUDSKVWRUHIHUWRSURJUDPHOHPHQWV
VXFKDVYDULDEOHRUIXQFWLRQQDPHVGDWDEDVHVGDWDW\SHVHQYLURQPHQWYDULDEOHV
VWDWHPHQWVDQGNH\ZRUGV
Constant width bold

6KRZVFRPPDQGVRURWKHUWH[WWKDWVKRXOGEHW\SHGOLWHUDOO\E\WKHXVHU
Constant width italic

6KRZVWH[WWKDWVKRXOGEHUHSODFHGZLWKXVHUVXSSOLHGYDOXHVRUE\YDOXHVGHWHU
PLQHGE\FRQWH[W
7KLVLFRQVLJQLILHVDWLSVXJJHVWLRQRUJHQHUDOQRWH

7KLVLFRQLQGLFDWHVDZDUQLQJRUFDXWLRQ

Using Code Examples
7KLVERRNLVKHUHWRKHOS\RXJHW\RXUMREGRQH,QJHQHUDO\RXPD\XVHWKHFRGHLQ
WKLVERRNLQ\RXUSURJUDPVDQGGRFXPHQWDWLRQSHUPLVVLRQXQOHVV\RX¦UHUHSURGXFLQJDVLJQLILFDQWSRUWLRQRIWKHFRGH)RUH[DPSOH
ZULWLQJDSURJUDPWKDWXVHVVHYHUDOFKXQNVRIFRGHIURPWKLVERRNGRHVQRWUHTXLUH

SHUPLVVLRQ6HOOLQJRUGLVWULEXWLQJD&'520RIH[DPSOHVIURP2¦5HLOO\ERRNVGRHV

Preface | xi


UHTXLUH SHUPLVVLRQ $QVZHULQJ D TXHVWLRQE\ FLWLQJ WKLV ERRN DQGTXRWLQJ H[DPSOH
FRGHGRHVQRWUHTXLUHSHUPLVVLRQ,QFRUSRUDWLQJDVLJQLILFDQWDPRXQWRIH[DPSOHFRGH
IURPWKLVERRNLQWR\RXUSURGXFW¦VGRFXPHQWDWLRQGRHVUHTXLUHSHUPLVVLRQ
:HDSSUHFLDWHEXWGRQRWUHTXLUHDWWULEXWLRQ$QDWWULEXWLRQXVXDOO\LQFOXGHVWKHWLWOH
DXWKRUSXEOLVKHUDQG,6%1)RUH[DPSOH£$QGURLG$SSOLFDWLRQ'HYHORSPHQWE\5LFN
5RJHUV -RKQ /RPEDUGR =LJXUG 0HGQLHNV DQG %ODNH 0HLNH &RS\ULJKW  5LFN
5RJHUV-RKQ/RPEDUGR=LJXUG0HGQLHNVDQG%ODNH0HLNHÔ
,I\RXIHHO\RXUXVHRIFRGHH[DPSOHVIDOOVRXWVLGHIDLUXVHRUWKHSHUPLVVLRQJLYHQKHUH
IHHOIUHHWRFRQWDFWXVDWSHUPLVVLRQV#RUHLOO\FRP

Safariđ Books Online
:KHQ\RXVHHD6DIDULŠ%RRNV2QOLQHLFRQRQWKHFRYHURI\RXUIDYRULWH
WHFKQRORJ\ ERRN WKDW PHDQV WKH ERRN LV DYDLODEOH RQOLQH WKURXJK WKH
2¦5HLOO\1HWZRUN6DIDUL%RRNVKHOI
6DIDULRIIHUVDVROXWLRQWKDW¦VEHWWHUWKDQHERRNV,W¦VDYLUWXDOOLEUDU\WKDWOHWV\RXHDVLO\
VHDUFKWKRXVDQGVRIWRSWHFKERRNVFXWDQGSDVWHFRGHVDPSOHVGRZQORDGFKDSWHUV
DQGILQGTXLFNDQVZHUVZKHQ\RXQHHGWKHPRVWDFFXUDWHFXUUHQWLQIRUPDWLRQ7U\LW
IRUIUHHDWKWWSP\VDIDULERRNVRQOLQHFRP

How to Contact Us
3OHDVHDGGUHVVFRPPHQWVDQGTXHVWLRQVFRQFHUQLQJWKLVERRNWRWKHSXEOLVKHU
2¦5HLOO\0HGLD,QF
*UDYHQVWHLQ+LJKZD\1RUWK
6HEDVWRSRO&$
 LQWKH8QLWHG6WDWHVRU&DQDGD


 LQWHUQDWLRQDORUORFDO

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×