¾Æ¸¶Á¸ ¾Èµå·ÎÀÌµå ¼Àû º£½ºÆ®¼¿·¯!7°³ÀÇ ¾ÛÀ» Á÷Á¢ µû¶ó ¸¸µé¸é¼ ¹è¿ì´Â ½ÇÀü ¾Èµå·ÎÀ̵å ÇÁ·Î±×·¡¹Ö!Ã¥ ÇÑ ±ÇÀÇ °úÁ¤À» ´Ù ¸¶Ä¡¸é ¾î´À»õ ³ªµµ ¾Èµå·ÎÀÌµå °³¹ßÀÚ!ÀÌ Ã¥Àº ºò ³Êµå ·£Ä¡(Big Nerd Ranch)¿¡¼ ³Î¸® È°¿ëÇÏ´Â ¾Èµå·ÎÀ̵å ÈÆ·Ã Ä·ÇÁ °úÁ¤ÀÇ ³ëÇϿ츦 ±â¹ÝÀ¸·Î ÁýÇʵǾú´Ù. ÀÌ Ã¥À» ÅëÇؼ ÃֽŠ¾Èµå·ÎÀ̵åÀÇ ÇÙ½ÉÀûÀÎ °³³äÀ» ¹è¿ï ¼ö ÀÖ°í, API¿¡ °üÇÑ ¸íÄèÇÑ ¼³¸í°ú ´õºÒ¾î Á÷Á¢ ¾ÖÇø®ÄÉÀ̼ÇÀ» ÀÛ¼ºÇÏ¸é¼ ¾Èµå·ÎÀ̵å ÇÁ·Î±×·¡¹ÖÀÇ ±âÃʺÎÅÍ °í±Þ ±â¹ý±îÁö ¹è¿ï ¼ö ÀÖ´Ù. ¶ÇÇÑ ÀÌ Ã¥Àº ÄÚƲ¸°À» »ç¿ëÇؼ ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÏ´Â µ¥ ÇÊ¿äÇÑ ½ÇÁ¦ÀûÀÎ ±â¹ýÀ» °¡¸£Ä¡´Â °Í¿¡ ÃÊÁ¡À» µÎ¾ú´Ù.¾Èµå·ÎÀÌµå ½ºÆ©µð¿À¸¦ »ç¿ëÇؼ ÀÌ Ã¥ÀÇ ¿©·¯ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µé¾î °¡´Â °úÁ¤À» µû¶ó¼ Á÷Á¢ Äڵ带 ÀÛ¼ºÇÏ°í ½ÇÇàÇØ º¸ÀÚ. ÀÚ½ÅÀÇ ¾Èµå·ÎÀ̵å ÇÁ·Î±×·¡¹Ö ´É·ÂÀÌ Àý·Î Çâ»óµÇ´Â °ÍÀ» ´À³¥ ¼ö ÀÖÀ» °ÍÀÌ´Ù. °¢ ÀåÀÇ ³»¿ë ¼³¸í°ú ¾ÛÀº ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀ» ½ÃÀÛÇÏ´Â µ¥ ÇÊ¿äÇÑ Áö½Ä°ú °æÇèÀ» Á¦°øÇϱâ À§ÇØ ¼³°èµÇ¾úÀ¸¸ç, Å×½ºÆ®µµ ¸ðµÎ ¿Ï·áÇß´Ù.
ºò ³Êµå ·£Ä¡ÀÇ ¼ö¼® ¿£Áö´Ï¾î¸µ ¸Å´ÏÀúÀÎ µ¿½Ã¿¡ ¾Èµå·ÎÀÌµå °³¹ßÀÚÀÌÀÚ °»ç´Ù. ±×³à´Â ¾Û °³¹ß°ú ±³À°À» Á¢¸ñÇÏ´Â µ¥ ¿Á¤À» °®°í ÀÖ´Ù. ÀÏÀ» ÇÏÁö ¾ÊÀ» ¶§´Â ¿ìÄð·¼·¹¸¦ ¿¬ÁÖÇϰųª ¾ÆÀ̵é°ú ÇÔ²² ·¹°í¸¦ Á¶¸³ÇÑ´Ù.
Chapter 1 óÀ½ ¸¸µå´Â ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀÌ¼Ç 1¾Û ±âº»»çÇ× 2¾Èµå·ÎÀ̵å ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ 3¾Èµå·ÎÀÌµå ½ºÆ©µð¿À µÑ·¯º¸±â 6UI ·¹À̾ƿô µðÀÚÀÎÇϱâ 8·¹À̾ƿô XML¿¡¼ ºä °´Ã¼·Î 18À§Á¬À» ÄÚµå¿Í ¿¬°áÇϱâ 21Å佺Ʈ ¸¸µé±â 25¿¡¹Ä·¹ÀÌÅÍ¿¡¼ ½ÇÇàÇϱâ 27AVD ¿¡¹Ä·¹ÀÌÅÍ ±â´É »ìÆ캸±â 35±Ã±ÝÁõ ÇؼÒÇϱâ: ¾Èµå·ÎÀÌµå ¾Û ºôµå ÀýÂ÷ 38縰Áö 40縰Áö: Å佺Ʈ Ä¿½ºÅ͸¶ÀÌ¡ 40¾Èµå·ÎÀ̵å¿Í ¸ðµ¨-ºä-ÄÁÆ®·Ñ·¯ 41»õ·Î¿î Ŭ·¡½º ¸¸µé±â 42¸ðµ¨-ºä-ÄÁÆ®·Ñ·¯¿Í ¾Èµå·ÎÀ̵å 44Chapter 2 ¾Èµå·ÎÀ̵å¿Í ¸ðµ¨-ºä-ÄÁÆ®·Ñ·¯ 41»õ·Î¿î Ŭ·¡½º ¸¸µé±â 42¸ðµ¨-ºä-ÄÁÆ®·Ñ·¯¿Í ¾Èµå·ÎÀ̵å 44ºä °èÃþ º¯°æÇϱâ 46ÄÁÆ®·Ñ·¯ °èÃþ º¯°æÇϱâ 49¾ÆÀÌÄÜ Ãß°¡Çϱâ 53ȸé Çȼ¿ ¹Ðµµ 57ÀåÄ¡¿¡¼ ½ÇÇàÇϱâ 58縰Áö: TextView¿¡ ¸®½º³Ê Ãß°¡Çϱâ 60縰Áö: PREVIOUS ¹öÆ° Ãß°¡Çϱâ 60縰Áö: ButtonÀ» ImageButtonÀ¸·Î º¯°æÇϱâ 61Chapter 3 ¾×ƼºñƼ »ý¸íÁÖ±â 63GeoQuiz ȸé ȸÀü½ÃÅ°±â 64¾×ƼºñƼ »óÅÂ¿Í »ý¸íÁÖ±â Äݹé 64¾×ƼºñƼ »ý¸íÁֱ⠷αëÇϱâ 67·Î±× ¸Þ½ÃÁö ¸¸µé±â 67 / LogCat »ç¿ëÇϱâ 70¾×ƼºñƼ »ý¸íÁֱⰡ »ç¿ëÀÚ ¾×¼Ç¿¡ ¾î¶»°Ô ÀÀ´äÇÏ´ÂÁö »ìÆ캸±â 71ÀϽÃÀûÀ¸·Î ¾×ƼºñƼ ¶°³ª±â 71 / ¾×ƼºñƼ ³¡³»±â 74 / ¾×ƼºñƼ ȸÀü½ÃÅ°±â 75ÀåÄ¡ ±¸¼º º¯°æ°ú ¾×ƼºñƼ »ý¸íÁÖ±â 76°¡·Î ¹æÇâ ·¹À̾ƿô »ý¼ºÇϱâ 76±Ã±ÝÁõ ÇؼÒÇϱâ: UI º¯°æ°ú ´ÙÁß Ã¢ ¸ðµå 80±Ã±ÝÁõ ÇؼÒÇϱâ: ·Î±× ·¹º§ 81縰Áö: Á¤´ä ¸ÂÃá ¹®Á¦¸¦ °Ç³Ê¶Ù±â 82縰Áö: Á¡¼ö º¸¿©ÁÖ±â 82Chapter 4 UI »óÅ À¯ÁöÇϱâ 83ViewModel ÀÇÁ¸¼º Ãß°¡Çϱâ 83ViewModel Ãß°¡Çϱâ 85ÇÁ·Î¼¼½º Á¾·á ½Ã¿¡ µ¥ÀÌÅÍ º¸Á¸Çϱâ 95ViewModel vs SIS 101±Ã±ÝÁõ ÇؼÒÇϱâ: Jetpack, AndroidX, ±×¸®°í ¾ÆÅ°ÅØó ÄÄÆ÷³ÍÆ® 103±Ã±ÝÁõ ÇؼÒÇϱâ: ¼²ºÎ¸¥ ÇØ°áÃ¥ ÇÇÇϱâ 105Chapter 5 ¾Èµå·ÎÀÌµå ¾ÛÀÇ µð¹ö±ë 107¿¹¿Ü¿Í ½ºÅà ±â·Ï 108¾Èµå·ÎÀ̵å ƯÀ¯ÀÇ µð¹ö±ë 117縰Áö: ÇÁ·ÎÆÄÀÏ·¯ »ìÆ캸±â 122Chapter 6 µÎ ¹ø° ¾×ƼºñƼ ¸¸µé±â 125µÎ ¹ø° ¾×ƼºñƼ ÁغñÇϱâ 126¾×ƼºñƼ ½ÃÀÛ½ÃÅ°±â 134¾×ƼºñƼ °£ÀÇ µ¥ÀÌÅÍ Àü´Þ 136¾Èµå·ÎÀ̵尡 ¾×ƼºñƼ¸¦ ¾î¶»°Ô ¾Ë±î? 146縰Áö: GeoQuiz ÇãÁ¡ º¸¿ÏÇϱâ 149縰Áö: ¹®Á¦¸¶´Ù Ä¿´× ¿©ºÎ °ü¸®Çϱâ 149Chapter 7 ¾Èµå·ÎÀ̵å SDK ¹öÀü°ú ȣȯ¼º 151¾Èµå·ÎÀ̵å SDK ¹öÀü 151ȣȯ¼º°ú ¾Èµå·ÎÀ̵å ÇÁ·Î±×·¡¹Ö 153¾Èµå·ÎÀÌµå °³¹ßÀÚ ¹®¼ »ç¿ëÇϱâ 160縰Áö: ÀåÄ¡ÀÇ ¾Èµå·ÎÀÌµå ¹öÀü º¸¿©ÁÖ±â 163縰Áö: Ä¿´× Ƚ¼ö Á¦ÇÑÇϱâ 164Chapter 8 UI ÇÁ·¡±×¸ÕÆ®¿Í ÇÁ·¡±×¸ÕÆ® ¸Å´ÏÀú 165UI À¯¿¬¼ºÀÇ ÇÊ¿ä 166ÇÁ·¡±×¸ÕÆ® °³¿ä 167CriminalIntent ¾Û °³¹ß ½ÃÀÛÇϱâ 168»õ·Î¿î ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ 171Crime µ¥ÀÌÅÍ Å¬·¡½º »ý¼ºÇϱâ 172UI ÇÁ·¡±×¸ÕÆ® »ý¼ºÇϱâ 173CrimeFragmentÀÇ ·¹À̾ƿô Á¤ÀÇÇϱâ 174 / CrimeFragment Ŭ·¡½º »ý¼ºÇϱâ 176UI ÇÁ·¡±×¸ÕÆ®ÀÇ È£½ºÆà 184ÄÁÅ×ÀÌ³Ê ºä Á¤ÀÇÇϱâ 185 / FragmentManager¿¡ UI ÇÁ·¡±×¸ÕÆ® Ãß°¡Çϱâ 187ÇÁ·¡±×¸ÕÆ®¸¦ »ç¿ëÇÏ´Â ¾ÖÇø®ÄÉÀÌ¼Ç ¾ÆÅ°ÅØó 192ÇÁ·¡±×¸ÕÆ® »ç¿ë ¿©ºÎ °áÁ¤Çϱâ 193Chapter 9 RecyclerView·Î ¸®½ºÆ® º¸¿©ÁÖ±â 195»õ·Î¿î ÇÁ·¡±×¸ÕÆ® ¹× ViewModel Ãß°¡Çϱâ 197ÇÁ·¡±×¸ÕÆ®¿¡ »ç¿ëµÇ´Â ViewModel »ý¸íÁÖ±â 199RecyclerView Ãß°¡Çϱâ 201Ç׸ñ ºä ·¹À̾ƿô »ý¼ºÇϱâ 204ViewHolder ±¸ÇöÇϱâ 206¾î´ðÅ͸¦ ±¸ÇöÇØ RecyclerView¿¡ µ¥ÀÌÅÍ Ã¤¿ì±â 209RecyclerViewÀÇ ¾î´ðÅÍ ¼³Á¤Çϱâ 212ºäÀÇ ÀçÈ°¿ë: RecyclerView 214¸®½ºÆ® Ç׸ñÀÇ ¹ÙÀεù °³¼±Çϱâ 214¸®½ºÆ® Ç׸ñ ¼±Åÿ¡ ÀÀ´äÇϱâ 216±Ã±ÝÁõ ÇؼÒÇϱâ: ListView¿Í GridView 217縰Áö: RecyclerViewÀÇ ViewType 218Chapter 10 ·¹À̾ƿô°ú À§Á¬À¸·Î »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º »ý¼ºÇϱâ 219ConstraintLayout °³¿ä 220·¹À̾ƿô ÆíÁý±â °³¿ä 221ConstraintLayout »ç¿ëÇϱâ 225·¹À̾ƿô ¼Ó¼ºÀ» ´õ ÀÚ¼¼È÷ ¾Ë¾Æº¸±â 239±Ã±ÝÁõ ÇؼÒÇϱâ: ¸¶Áø vs Æеù 242±Ã±ÝÁõ ÇؼÒÇϱâ: ConstraintLayoutÀÇ ´Ù¸¥ ±â´É 243縰Áö: ³¯Â¥ Çü½Ä ÁöÁ¤Çϱâ 244Chapter 11 µ¥ÀÌÅͺ£À̽º¿Í Room ¶óÀ̺귯¸® 245Room ¾ÆÅ°ÅØó ÄÄÆ÷³ÍÆ® ¶óÀ̺귯¸® 246µ¥ÀÌÅͺ£À̽º »ý¼ºÇϱâ 247DAO Á¤ÀÇÇϱâ 251¸®Æ÷ÁöÅ͸® ÆÐÅÏÀ¸·Î µ¥ÀÌÅͺ£À̽º ¾×¼¼½ºÇϱâ 253Äõ¸® Å×½ºÆ®Çϱâ 257¾ÖÇø®ÄÉÀ̼ÇÀÇ ½º·¹µå 259LiveData »ç¿ëÇϱâ 262±Ã±ÝÁõ ÇؼÒÇϱâ: ½Ì±ÛÅæ 268Chapter 12 ÇÁ·¡±×¸ÕÆ® °£ÀÇ À̵¿ 269´ÜÀÏ ¾×ƼºñƼ: ÇÁ·¡±×¸ÕÆ®ÀÇ ¿ìµÎ¸Ó¸® 270ÇÁ·¡±×¸ÕÆ® ÀÎÀÚ 276»ó¼¼ ³»¿ª ȸ鿡 º¸¿©ÁÙ Crime °´Ã¼¸¦ LiveData º¯È¯À¸·Î ¾ò±â 280µ¥ÀÌÅͺ£À̽º º¯°æÇϱâ 285±Ã±ÝÁõ ÇؼÒÇϱâ: ÇÁ·¡±×¸ÕÆ® ÀÎÀÚ¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯´Â 289縰Áö: È¿À²ÀûÀ¸·Î RecyclerView¸¦ ´Ù½Ã ·ÎµåÇϱâ 290Chapter 13 ´ëÈ»óÀÚ 291DialogFragment »ý¼ºÇϱâ 292µÎ ÇÁ·¡±×¸ÕÆ® °£ÀÇ µ¥ÀÌÅÍ Àü´ÞÇϱâ 296縰Áö: ´õ ¸¹Àº ´ëÈ»óÀÚ ¸¸µé±â 303Chapter 14 ¾Û ¹Ù 305AppCompatÀÇ ±âº» ¾Û ¹Ù 306¸Þ´º 308¾Èµå·ÎÀÌµå ¾Ö¼Â ½ºÆ©µð¿À »ç¿ëÇϱâ 316±Ã±ÝÁõ ÇؼÒÇϱâ: ¾Û ¹Ù vs ¾×¼Ç ¹Ù vs Åø¹Ù 320±Ã±ÝÁõ ÇؼÒÇϱâ: AppCompat ¾Û ¹Ù »ç¿ëÇϱâ 321縰Áö: ÅÖ ºó ºä¸¦ °®´Â RecyclerView 322Chapter 15 ¾Ï½ÃÀû ÀÎÅÙÆ® 323¹öÆ° Ãß°¡Çϱâ 324¸ðµ¨ °èÃþ¿¡ ¿ëÀÇÀÚ Ãß°¡Çϱâ 326Æ÷¸Ë ¹®ÀÚ¿ »ç¿ëÇϱâ 328¾Ï½ÃÀû ÀÎÅÙÆ® »ç¿ëÇϱâ 330縰Áö: ¶Ç ´Ù¸¥ ¾Ï½ÃÀû ÀÎÅÙÆ® 343Chapter 16 ÀÎÅÙÆ®¸¦ »ç¿ëÇÑ »çÁø Âï±â 345»çÁøÀ» À§ÇÑ Àå¼Ò 345ÆÄÀÏ ½ºÅ丮Áö 349Ä«¸Þ¶ó ÀÎÅÙÆ® »ç¿ëÇϱâ 354ºñÆ®¸ÊÀÇ Å©±â Á¶Á¤°ú º¸¿©ÁÖ±â 358»ç¿ëÇÏ´Â ÀåÄ¡ ±â´É ¼±¾ðÇϱâ 363縰Áö: »çÁøÀ» È®´ëÇؼ º¸¿©ÁÖ±â 363縰Áö: ¼¶³×ÀÏ À̹ÌÁö È¿À²ÀûÀ¸·Î ·ÎµåÇϱâ 364Chapter 17 Áö¿ªÈ 365¸®¼Ò½º Áö¿ªÈÇϱâ 366±¸¼º ¼ö½ÄÀÚ 373´ëü ¸®¼Ò½º Å×½ºÆ®Çϱâ 379±Ã±ÝÁõ ÇؼÒÇϱâ: ÀåÄ¡ Å©±â °áÁ¤Çϱâ 380縰Áö: ³¯Â¥¸¦ Áö¿ªÈÇϱâ 380Chapter 18 Á¢±Ù¼º 381TalkBack 381ÅؽºÆ®°¡ ¾ø´Â ¿ä¼Ò¸¦ TalkBackÀÌ ÀÐÀ» ¼ö ÀÖ°Ô ¸¸µé±â 387´ëµîÇÑ »ç¿ëÀÚ °æÇè ¸¸µé±â 391±Ã±ÝÁõ ÇؼÒÇϱâ: Á¢±Ù¼º °Ë»ç±â »ç¿ëÇϱâ 393縰Áö: ¹üÁË ¸®½ºÆ® Á¢±Ù¼º °³¼±Çϱâ 396Chapter 19 µ¥ÀÌÅÍ ¹ÙÀεù°ú MVVM 397´Ù¸¥ ¾ÆÅ°ÅØó°¡ ¿Ö ÇÊ¿äÇÒ±î? 398MVVM ºä¸ðµ¨ vs Jetpack ViewModel 398BeatBox »ý¼ºÇϱâ 399´Ü¼ø µ¥ÀÌÅÍ ¹ÙÀεù ±¸ÇöÇϱâ 400¾Ö¼Â °¡Á®¿À±â 405¾Ö¼Â »ç¿ëÇϱâ 407¾Ö¼Â »ç¿ë ÄÚµå Ãß°¡Çϱâ 409µ¥ÀÌÅÍ ¹ÙÀεùÇϱâ 412±Ã±ÝÁõ ÇؼÒÇϱâ: µ¥ÀÌÅÍ ¹ÙÀεù Ãß°¡·Î ¾Ë¾Æº¸±â 420±Ã±ÝÁõ ÇؼÒÇϱâ: LiveData¿Í µ¥ÀÌÅÍ ¹ÙÀεù 423Chapter 20 ´ÜÀ§ Å×½ºÆ®¿Í ¿Àµð¿À Àç»ý 425SoundPool »ý¼ºÇϱâ 426¾Ö¼Â »ç¿ëÇϱâ 426À½¿ø ·ÎµåÇϱâ 427À½¿ø Àç»ýÇϱâ 429Å×½ºÆ® ¶óÀ̺귯¸® ÀÇÁ¸¼º Ãß°¡Çϱâ 430Å×½ºÆ® Ŭ·¡½º »ý¼ºÇϱâ 431Å×½ºÆ® ¼³Á¤Çϱâ 433Å×½ºÆ® ÀÛ¼ºÇϱâ 434µ¥ÀÌÅÍ ¹ÙÀεù Äݹé 441À½¿ø ³»¸®±â 442±Ã±ÝÁõ ÇؼÒÇϱâ: ÅëÇÕ Å×½ºÆ® 444±Ã±ÝÁõ ÇؼÒÇϱâ: ¸ðÀÇ °´Ã¼¿Í Å×½ºÆ® 446縰Áö: Àç»ý ¼Óµµ Á¦¾îÇϱâ 447縰Áö: ÀåÄ¡ ¹æÇâ Àüȯ ½Ã¿¡µµ À½¿ø Àç»ýÇϱâ 447Chapter 21 ½ºÅ¸ÀÏ°ú Å׸¶ 449»ö»ó ¸®¼Ò½º 450½ºÅ¸ÀÏ 450Å׸¶ 453¾Û Å׸¶ »ö»ó º¯°æÇϱâ 456Å׸¶ ¼Ó¼º ¿À¹ö¶óÀ̵åÇϱâ 458¹öÆ° ¼Ó¼º º¯°æÇϱâ 462±Ã±ÝÁõ ÇؼÒÇϱâ: Å׸¶ ¼Ó¼º »ç¿ëÇϱâ 466Chapter 22 XML drawable 467±ÕÀÏÇÑ ¹öÆ° ¸¸µé±â 467ÇüÅ drawable 469»óÅ ¸®½ºÆ® drawable 470·¹ÀÌ¾î ¸®½ºÆ® drawable 472±Ã±ÝÁõ ÇؼÒÇϱâ: XML drawableÀ» »ç¿ëÇØ¾ß ÇÏ´Â ÀÌÀ¯ 474±Ã±ÝÁõ ÇؼÒÇϱâ: Mipmap À̹ÌÁö 474±Ã±ÝÁõ ÇؼÒÇϱâ: 9-ÆÐÄ¡ À̹ÌÁö 476縰Áö: ¹öÆ° Å׸¶ 482Chapter 23 ÀÎÅÙÆ®¿Í ŽºÅ© 483NerdLauncher »ý¼ºÇϱâ 484¾Ï½ÃÀû ÀÎÅÙÆ® ÇØ°áÇϱâ 486·±Å¸ÀÓ ½Ã¿¡ ¸í½ÃÀû ÀÎÅÙÆ® »ý¼ºÇϱâ 492ŽºÅ©¿Í Back ½ºÅà 494NerdLauncher¸¦ Ȩ ȸéÀ¸·Î »ç¿ëÇϱâ 499±Ã±ÝÁõ ÇؼÒÇϱâ: ÇÁ·Î¼¼½º vs ŽºÅ© 501±Ã±ÝÁõ ÇؼÒÇϱâ: µ¿½Ã ¹®¼ 504縰Áö: ¾Û ¾ÆÀÌÄÜ »ç¿ëÇϱâ 506Chapter 24 HTTP¿Í ¹é±×¶ó¿îµå ŽºÅ© 507PhotoGallery »ý¼ºÇϱâ 508RetrofitÀ» »ç¿ëÇÑ ³×Æ®¿öÅ· 513Çø®Ä¿¿¡¼ JSON °¡Á®¿À±â 525±¸¼º º¯°æ ½ÃÀÇ ³×Æ®¿öÅ© ¿äû 535RecyclerView¿¡ ÀÀ´ä °á°ú º¸¿©ÁÖ±â 539±Ã±ÝÁõ ÇؼÒÇϱâ: ´Ù¸¥ Æļ¿Í µ¥ÀÌÅÍ Çü½Ä 540±Ã±ÝÁõ ÇؼÒÇϱâ: ¿äû Ãë¼ÒÇϱâ 541縰Áö: Ä¿½ºÅÒ Gson ¿ªÁ÷·ÄÈ Å¬·¡½º ±¸ÇöÇϱâ 542縰Áö: ÆäÀÌ¡ 543縰Áö: ¿ÀÇ °³¼ö¸¦ µ¿ÀûÀ¸·Î Á¶Á¤Çϱâ 544Chapter 25 Looper, Handler, HandlerThread 545À̹ÌÁö¸¦ º¸¿©ÁÖ±â À§ÇØ RecyclerView ÁغñÇϱâ 545URL·ÎºÎÅÍ À̹ÌÁö ³»·Á¹Þ±â ÁغñÇϱâ 548³»·Á¹Þ±â °ü·Ã °í·Á »çÇ× 550¹é±×¶ó¿îµå ½º·¹µå ¸¸µé±â 551¸Þ½ÃÁö¿Í ¸Þ½ÃÁö Çڵ鷯 557ºä »ý¸íÁֱ⠸®½º´×Çϱâ 570À¯º¸ ÇÁ·¡±×¸ÕÆ® 573±Ã±ÝÁõ ÇؼÒÇϱâ: À̹ÌÁö ³»·Á¹Þ±â ¹®Á¦ ÇØ°áÇϱâ 577±Ã±ÝÁõ ÇؼÒÇϱâ: StrictMode 578縰Áö: ÇÁ¸®·Îµù°ú ij½Ì 579Chapter 26 SearchView¿Í °øÀ¯ ÇÁ¸®ÆÛ·±½º 581Çø®Ä¿ °Ë»öÇϱâ 582SearchView »ç¿ëÇϱâ 587°øÀ¯ ÇÁ¸®ÆÛ·±½º¸¦ »ç¿ëÇÑ °£´ÜÇÑ µ¥ÀÌÅÍ º¸Á¸ 592¾Û ´Ùµë±â 597縰Áö: Çѹø ´õ ´Ùµë±â 598Chapter 27 WorkManager 599Worker »ý¼ºÇϱâ 600ÀÛ¾÷ ½ºÄÉÁÙ¸µÇϱâ 601»õ·Î¿î »çÁø È®ÀÎÇϱâ 604»ç¿ëÀÚ¿¡°Ô ¾Ë¸² º¸¿©ÁÖ±â 608Æú¸µÀÇ »ç¿ëÀÚ Á¦¾î Á¦°øÇϱâ 613Chapter 28 ºê·Îµåij½ºÆ® ÀÎÅÙÆ® 619ÀÏ¹Ý ÀÎÅÙÆ® vs ºê·Îµåij½ºÆ® ÀÎÅÙÆ® 619Æ÷±×¶ó¿îµå ¾Ë¸² Â÷´ÜÇϱâ 620¼ö½ÅÀÚ¿Í ¿À·¡ ½ÇÇàµÇ´Â ŽºÅ© 634±Ã±ÝÁõ ÇؼÒÇϱâ: ·ÎÄà À̺¥Æ® 634±Ã±ÝÁõ ÇؼÒÇϱâ: ºê·Îµåij½ºÆ® ¼ö½ÅÀÚÀÇ Á¦¾à 637Chapter 29 À¥°ú WebViewÀÇ ºê¶ó¿ì¡ 639Çø®Ä¿ µ¥ÀÌÅÍ¿¡¼ Çϳª ´õ ¾Ë¾ÆµÑ »çÇ× 640½¬¿î ¹æ¹ý: ¾Ï½ÃÀû ÀÎÅÙÆ® 641´õ ¾î·Á¿î ¹æ¹ý: WebView 643WebView »ç¿ë ½ÃÀÇ ÀåÄ¡ ȸÀü ó¸® 652±Ã±ÝÁõ ÇؼÒÇϱâ: ÀÚ¹Ù½ºÅ©¸³Æ® °´Ã¼ ÁÖÀÔÇϱâ 654±Ã±ÝÁõ ÇؼÒÇϱâ: WebView ¾÷µ¥ÀÌÆ® 655±Ã±ÝÁõ ÇؼÒÇϱâ: Å©·Ò Ä¿½ºÅÒ ÅÇ(¶Ç ´Ù¸¥ ½¬¿î ¹æ¹ý) 655縰Áö: ºê¶ó¿ìÀú °Ë»ö ±â·Ï¿¡ ¹é ¹öÆ° »ç¿ëÇϱâ 658Chapter 30 Ä¿½ºÅÒ ºä¿Í ÅÍÄ¡ À̺¥Æ® 659DragAndDraw ÇÁ·ÎÁ§Æ® ¼³Á¤Çϱâ 660Ä¿½ºÅÒ ºä »ý¼ºÇϱâ 660ÅÍÄ¡ À̺¥Æ® ó¸®Çϱâ 663onDraw(Canvas) ³»ºÎ¿¡¼ ·»´õ¸µÇϱâ 667±Ã±ÝÁõ ÇؼÒÇϱâ: GestureDetector 670縰Áö: »óÅ Á¤º¸ ÀúÀåÇϱâ 670縰Áö: ¹Ú½ºÀÇ ¹æÇâ ȸÀü 671Chapter 31 ¼Ó¼º ¾Ö´Ï¸ÞÀÌ¼Ç 673Àå¸é »ý¼ºÇϱâ 673°£´ÜÇÑ ¼Ó¼º ¾Ö´Ï¸ÞÀÌ¼Ç 676¿©·¯ ¾Ö´Ï¸ÞÀÌÅ͸¦ ÇÔ²² »ç¿ëÇϱâ 685±Ã±ÝÁõ ÇؼÒÇϱâ: ´Ù¸¥ ¾Ö´Ï¸ÞÀÌ¼Ç API 686縰Áö 687Chapter 32 Ã¥À» ¸¶¹«¸®Çϸç 689¸¶Áö¸· 縰Áö 689ºÎ´ã ¾ø´Â ¿¬¶ôó 690°¨»ç Àλç 690