¾Èµå·ÎÀÌµå ¾Û °³¹ß + GRADLE



¾ËÁö¿À ¾Èµå·ÎÀÌµå ¾Û °³¹ß + GRADLE °Á¸¦ ÅëÇØ ÁÖ¿ä ±â´É°ú »ç¿ë¹ý, ȯ°æ ¼³Á¤ ¹æ¹ýÀ» ¾Ë¾Æº¸°í, ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß ¹æ¹ý°ú ½ÇÁ¦ ½º¸¶Æ®ÆùÀÇ ±¸µ¿ Å×½ºÆ®¸¦ °øºÎÇÏ°Ô µË´Ï´Ù.
GRADLE(±×·¡µé)Àº ºôµå Åø·Î¼ ¾ÛÀÌ ¸¸µé¾îÁö±â Àü±îÁö ÇÊ¿äÇÑ ¼Ò½ºµéÀ» ÇÑ Àå¼Ò¿¡ ¸ðÀ¸´Â ÀÛ¾÷À» Å×½ºÆ®³ª ¹èÆ÷, °³¹ß µîÀÇ ÀÚµ¿È ±â´ÉÀ» ÅëÇØ º¸´Ù ½±°Ô ÀÌ¿ëÇÒ ¼ö ÀÖµµ·Ï ¸¸µç µµ±¸À̸ç, ¾Èµå·ÎÀÌµå ¾ÛÀ» ¸¸µå´Âµ¥ ÇÊ¿äÇÑ GRADLE Àº ¾Èµå·ÎÀÌµå ½ºÆ©µð¿ÀÀÇ °ø½Ä ºôµå ½Ã½ºÅÛÀ̱⵵ ÇÕ´Ï´Ù. ¾ËÁö¿À GRADLE ±âÃʺÎÅÍ °ÀÇ´Â ´Ù¾çÇÑ ¿¹Á¦ Áß½ÉÀÇ ½Ç¹« ±³À°À¸·Î ºôµå °³¹ß ¾÷¹«¿¡ ¹Ù·Î Àû¿ë °¡´ÉÇÑ Ä¿¸®Å§·³À» Á¦°øÇϰí ÀÖ½À´Ï´Ù.
¾Èµå·ÎÀÌµå ¾Û °³¹ß + GRADLE °ÀÇ´Â ¾Èµå·ÎÀ̵å ÇÁ·Î±×·¡¹Ö °úÁ¤¿¡ ´ëÇØ Àü¹ÝÀûÀÎ ³»¿ëÀ» ´ã°í Àֱ⠶§¹®¿¡ ½ÃÀÛÇÏ´Â ÀÔ¹®ÀÚ´Â ¹°·Ð ½Ç¹«¿¹Á¦¸¦ ÇÊ¿ä·Î ÇÏ´Â ºÐµéÀÌ ÀÌ¿ëÇϸé ÁÁ½À´Ï´Ù.
- ¾Èµå·ÎÀÌµå ½ºÆ©µð¿À
-
01.24ºÐ ¾Èµå·ÎÀÌµå ½ºÆ©µð¿À¸¦ ÀÌ¿ëÇÑ °£´ÜÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç ¸¸µé±â
¿¡¹Ä·¹ÀÌÅÍ ¸¸µé±â, ÅØ½ºÆ®ºä Ãß°¡ÇÏ´Â ¹æ¹ý, ¹öư Ãß°¡ÇÏ´Â ¹æ¹ý, ¹öư¿¡ ±â´É Ãß°¡ÇÏ´Â ¹æ¹ý, »õ ¾×ƼºñƼ Ãß°¡ÇÏ´Â ¹æ¹ý, ½ÇÁ¦ ´Ü¸»±â¿¡¼ ½ÇÇàÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.
Ã¥°¥ÇÇ[00:15] ¾×¼Ç¹Ù Á¦°Å/[00:53] ÅØ½ºÆ® º¯°æ/[01:29] ¹öư »ý¼º/[04:38] ÀüȰɱ⠹öư »ý¼º/[06:31] ¹è°æ»ö ¹Ù²Ù±â ¹öư »ý¼º/[10:13] ¹è°æ»ö ·£´ý ¹Ù²Ù±â ¹öư »ý¼º/[13:15] »ö»ó ¹è¿ ¼Ò½º ÄÚµå ¼³¸í/[16:30] µÚ·Î ¹öư ¸Þ¼Òµå ÀÔ·Â/[17:42] ´º¾×ƼºñƼ ¹öư »ý¼º/[18:38] ÅØ½ºÆ® ºä¿Í ¹öư »ý¼º/[19:22] ·£´ý±¸±¸´Ü ¹öư »ý¼º/[21:16] ´Ü¸»±â ¿¬°á/[22:04] °³¹ßÀÚ ¿É¼Ç -
02.25ºÐ ¸®´Ï¾î ·¹À̾ƿô
°¢Á¾ ¼Ó¼º ¼³¸í, ÀÚ¹ÙÄÚµå»ó¿¡¼ È¸é ±¸¼ºÇϱâ, Á¤·ÄÇϱâ, ¿©À¯ °ø°£ ¼³Á¤Çϱâ, °ø°£ °¡ÁßÄ¡ ¼³Á¤Çϱâ, ·¹À̾ƿô ¾È¿¡ ·¹À̾ƿô Ãß°¡Çϱâ, À̹ÌÁöºä Ãß°¡¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.
Ã¥°¥ÇÇ[00:00] ·¹À̾ƿô/[01:49] ¹öư »ý¼º/[05:08] ÀÚ¹Ù ÄÚµå ÀÔ·Â/[09:15] gravity ¼Ó¼º/[12:35] ÅØ½ºÆ® ºä, ¹öư »ý¼º/[14:55] Linear ·¹À̾ƿôÀÇ padding ¼Ó¼º/[17:12] °ø°£°¡ÁßÄ¡/[20:33] ·¹À̾ƿô ¾È¿¡ ·¹À̾ƿô Ãß°¡/[23:35] À̹ÌÁö ºä Ãß°¡ -
03.19ºÐ »ó´ë ·¹À̾ƿô°ú Å×ÀÌºí ·¹À̾ƿô
°¢ ·¹À̾ƿôÀÇ ¼Ó¼º, °¢ ·¹À̾ƿôÀ» ÀÌ¿ëÇÑ ·Î±×ÀÎ È¸é ±¸¼ºÇϱ⿡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.
Ã¥°¥ÇÇ[00:13] »ó´ë ·¹À̾ƿô/[01:39] ¹öư Áßø ³»¿ë ÀÔ·Â/[02:07] »ó´ë ·¹À̾ƿô ¼Ó¼º/[04:09] È¸é ±¸Á¶ ¸¸µé±â/[05:12] »ó´ëÀû À§Ä¡¸¦ ÀÌ¿ëÇÑ ¹èÄ¡ ¼Ó¼º/[05:32] ¹è°æ»ö ¹Ù²Ù±â/[06:13] ·Î±×ÀÎ È¸é ¸¸µé±â/[07:29] ¹ÝÅõ¸í ·¹À̾ƿô/[10:12] layout_margin ¼Ó¼ºÀ» ÀÌ¿ëÇÑ ¿©¹é ¼³Á¤/[11:08] Å×ÀÌºí ·¹À̾ƿô/[12:03] ÀÚµ¿È®Àå ¼Ó¼º/[14:42] ÀԷ»óÀÚ Ãß°¡/[16:35] layout_span ¼Ó¼º -
04.28ºÐ ½ºÅ©·Ñ ºä¿Í ÇÁ·¹ÀÓ ·¹À̾ƿô, °¢Á¾ À§Á¬
½ºÅ©·Ñºä¿Í ÇÁ·¹ÀÓ·¹À̾ƿôÀÇ ¼Ó¼ºµé, ±×¸®°í °¢Á¾ À§Á¬À» Á» ´õ ÀÚ¼¼ÇÏ°Ô ¾Ë¾Æº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:06] ½ºÅ©·Ñºä ¼³¸í/[01:55] change ¹öư ±â´É ¸¸µé±â/[04:50] ½ºÅ©·Ñ¹Ù/[06:08] ÇÁ·¹ÀÓ ·¹À̾ƿô/[11:24] À§Á¬ ÀÚ¼¼È÷ ¾Ë¾Æº¸±â/[15:55] textSize, textStyle/[17:34] typeface, singleLine, maxLines/[20:17] RadioButton, RadioGroup/[23:41] hint ¼Ó¼º/[25:32] inputType ¼Ó¼º/[26:42] maxLength ¼Ó¼º -
05.24ºÐ À̹ÌÁö º¯È¯ ȸé°ú SMS ÀÔ·Â È¸é ¸¸µé±â, ¾ÖÇø®ÄÉÀÌ¼Ç ±¸¼º 1
À̹ÌÁö º¯È¯ ȸé°ú SMS ÀÔ·Â È¸é ¸¸µé±â¿Í ¾ÖÇø®ÄÉÀÌ¼Ç ±¸¼º¿¡ ´ëÇØ ¾Ë¾Æº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:49] È¸é ·¹À̾ƿô »ìÆìº¸±â/[04:11] À̹ÌÁö Ãß°¡/[08:10] ¹è°æ»çÁø ³Ö±â/[10:46] Button Ãß°¡/[13:23] xml ·¹À̾ƿô ¸¸µé±â/[15:45] ¾×ƼºñƼ ÀÀ´ä ¹Þ¾Æ ó¸®Çϱâ/[18:48] ¿äûÄÚµå »ç¿ë ÀÌÀ¯/[20:03] »õ·Î¿î ¾×ƼºñƼ ¹öư Ãß°¡/[21:58] ¹öưŬ¸¯½Ã ÀüȰɱâ/[22:17] EditText, Button Ãß°¡ -
06.30ºÐ ¾ÖÇø®ÄÉÀÌ¼Ç ±¸¼º 2
PDF ¸®´õ ¾ÛÀ» ÅëÇØ¼ PDF ¹®¼¸¦ Àд ¾Û ¸¸µé±â, Lifecycle ÀÍÈ÷±â, ¼ºñ½º ÀÍÈ÷±â, ºê·Îµåij½ºÆ® ¼ö½ÅÀÚ(Broadcast Receiver) ¾Ë¾Æº¸±â, ºê·Îµåij½ºÆ® ¼ö½ÅÀÚ¸¦ ÀÌ¿ëÇÑ SMS ¾ÖÇø®ÄÉÀÌ¼Ç ¸¸µå´Â ½Ç½ÀÀ» ÁøÇàÇÕ´Ï´Ù.
Ã¥°¥ÇÇ[00:00] PDF Àд ¾ÖÇø®ÄÉÀÌ¼Ç ¸¸µé±â/[03:01] openFile/[06:07] Paused¿Í Stopped ºñ±³/[10:37] ¹öư ¸¸µé±â/[12:15] sms ¾ÖÇø®ÄÉÀÌ¼Ç ¸¸µé±â/[15:04] Manifest µî·Ï/[17:03] sms º¸³»±â/[24:21] sms ³»¿ë È®ÀÎÈ¸é ¸¸µé±â/[25:27] µðÀÚÀÎ ¸¸µé±â/[26:28] SimpleDateFormat/[26:40] Äڵ弳¸í/[27:38] putExtra()/[28:32] processIntent()/[29:34] ½ÇÇà -
07.36ºÐ ¾ÖÇø®ÄÉÀÌ¼Ç ±¸¼º 3
ºê·Îµåij½ºÆ® ¼ö½ÅÀÚ¸¦ ÀÌ¿ëÇÑ SMS ¾Û ¸¸µé±â. ¸Þ¼¼Áö ¹ß½ÅÀÚ ¹øÈ£ ¶ç¿ì´Â ¹æ¹ý, ¸Þ¼¼Áö ³»¿ë º¸¿©ÁÖ´Â ¹æ¹ý, ±ÇÇÑ ºÎ¿© ¿äû ´ëÈ»óÀÚ¸¦ ¶ç¿öÁÖ´Â ¹æ¹ý, ¸Å´ÏÆä½ºÆ®, ´Ù±¹¾î Áö¿ø ¹æ¹ý, Å佺Ʈ¸Þ¼¼Áö À§Ä¡ Á¤Çϱâ, ´ëÈ»óÀÚ ¸¸µé±â¿¡ ´ëÇØ ½Ç½ÀÇÕ´Ï´Ù.
Ã¥°¥ÇÇ[00:26] Plain TextView »ý¼º/[02:16] TextView º¯¼ö¸í º¯°æ/[06:34] ScrollView »ý¼º/[10:05] ±ÇÇÑ¿äû ´ëÈ»óÀÚ ¶ç¿ì±â/[14:06] »ç¿ë ³¡³ App »èÁ¦ ¹æ¹ý/[16:56] ´Ù±¹¾îÁö¿ø ¼³Á¤(values)/[21:12] ¹öư ±â´É ¿¬°á/[22:08] try¹® »ç¿ë/[26:22] ¾ð¾îº° ³»¿ë ¼öÁ¤/[30:40] ´ëÈ»óÀÚ ¸¸µé±â/[35:31] setNegativeButton, setNeutralButton -
08.26ºÐ ¾ÖÇø®ÄÉÀÌ¼Ç ±¸¼º 4
ÇÁ·¡±×¸ÕÆ®¿¡ ´ëÇØ ¼³¸íÇÏ°í ½Ç½ÀÇÕ´Ï´Ù.
Ã¥°¥ÇÇ[00:01] Fragment ¾Ë¾Æº¸±â/[01:45] ȸéÀüȯ±â´É ¸¸µé±â/[02:25] Plain Textview, Button »ý¼º/[03:57] java source file ¸¸µé±â/[07:50] fragment ºÒ·¯¿À±â/[09:59] layout file º¹»ç/[11:18] ¹öư ±â´É ¸¸µé±â/[12:18] MainActivity °´Ã¼È/[17:21] drawable/[18:12] Listview Ãß°¡/[20:26] setOnItemClickListener/[23:51] MainActivity ¼öÁ¤ -
09.27ºÐ ¾ÖÇø®ÄÉÀÌ¼Ç ±¸¼º 5
Áö±Ý±îÁö ¹è¿î ³»¿ëÀ¸·Î °£´ÜÇÑ ¾ÛÀ» ¸¸µé¾îº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:36] ·Î±×ÀÎ È¸é ²Ù¹Ì±â/[02:21] Button Ãß°¡/[07:20] CallActivity Ãß°¡/[09:57] SMSActivity Ãß°¡/[14:33] SettingsActivity »ý¼º/[16:44] RadioButton »ý¼º/[19:26] ȯ°æ¼³Á¤ â »ý¼º/[23:45] if¹®/[25:46] Toast ¸Þ½ÃÁö Ãâ·Â -
10.29ºÐ °¢Á¾ À̺¥Æ® ó¸® 1
¹öưÀ̺¥Æ®, Á¦½ºÃĵðÅØÅÍ, Çϵå¿þ¾î BACK ¹öư ó¸®, FOCUS À̺¥Æ® ó¸®, ´Ü¸» ¹æÇâ ȸÀü ó¸®, À¥ ºê¶ó¿ìÀú »ç¿ëÇϱ⿡ ´ëÇØ ¾Ë¾Æº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:06] À̺¥Æ® ó¸® ¹æ¹ý ¾Ë¾Æº¸±â/[00:09] Button Event/[03:18] Toast Msg »ý¼º/[05:57] if, else if/[09:07] onScroll, onFling/[12:42] Çϵå¿þ¾î ¹öư ó¸®/[15:40] Focus Event/[17:47] background ¼Ó¼º/[20:25] ´Ü¸»±â ȸÀü ó¸®/[23:30] À¥ ºê¶ó¿ìÀú »ç¿ë¹ý/[24:48] webView º¯¼ö¼±¾ð/[25:07] WebSettings -
11.43ºÐ °¢Á¾ À̺¥Æ® ó¸® 2
È¸é ¹æÇâ °íÁ¤, url ÀÔ·Â ¹Þ¾Æ¼ À¥ºä¿¡ À¥ÆäÀÌÁö ¶ç¿ì±â, ·ÎÄà htmlÆÄÀÏ·Î À¥ºä¿¡ ÆäÀÌÁö ¶ç¿ì±â, °£´ÜÇÑ ¾Ö´Ï¸ÞÀÌ¼Ç »ç¿ëÇϱâ, ¾Ö´Ï¸ÞÀÌ¼Ç ¸®½º³Ê, ÆäÀÌÁö ½½¶óÀ̵ù, ºäÇø®ÆÛ(ºäÆäÀÌÁ®)¿¡ ´ëÇØ ¾Ë¾Æº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:02] À¥ÆäÀÌÁö, htmlÆÄÀÏ ¸¸µé±â/[01:56] À¥ ÆäÀÌÁö ¿±â/[03:41] P ÅÂ±× È°¿ë/[04:52] È¸é ¹æÇâ °íÁ¤Çϱâ/[06:17] API ·¹º§ Á¶Á¤/[09:17] ¾Ö´Ï¸ÞÀÌ¼Ç ¸¸µé±â/[17:14] webviewµµ ¾Ö´Ï¸ÞÀÌ¼Ç Àû¿ë/[21:15] ¼û±è ¸Þ´º ±â´É ¸¸µé±â/[23:46] ¹öư »ý¼º/[27:31] ¾×¼Ç Á¤º¸ ¸¸µé±â/[31:39] BooleanÀ¸·Î º¯¼ö»ý¼º/[38:02] Adapter ¸¸µé±â/[39:19] String ¹è¿ »ý¼º/[41:58] setAdapter/[42:52] ±ÛÀÚ»ö, ¹ÙÅÁ»ö ³Ö±â -
12.48ºÐ ´Ù¾çÇÑ À§Á¬°ú À̺¥Æ® Ȱ¿ëÇϱâ
ºäÆäÀÌÁ®ÀÇ Æ¯Á¤ ÆäÀÌÁö·Î ¹Ù·Î À̵¿ÇÏ´Â ¹æ¹ý, ÇÁ·Î±×·¹½º¹Ù, ½ÃÅ©¹Ù, ȸ鿡 ¸Þ´º ±â´É ³Ö´Â¹ý, ¾×¼Ç¹Ù ¾Ë¾Æº¸±â, ÅÇ È¸é ¸¸µé±â¿¡ ´ëÇØ ¾Ë¾Æº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:02] ÆäÀÌÁö À̵¿ ¹öư Ãß°¡Çϱâ/[02:34] ProgressBar À§Á¬ ¸¸µé±â/[07:14] ½ºÇÇ³Ê Å¸ÀÔ ProgressBar/[09:56] SeekBar ¸¸µé±â/[13:35] ¾×¼Ç¹Ù¿¡ ¸Þ´º ¹öư ¸¸µé±â/[19:30] ¸Þ´º ¾ÆÀÌÅÛ ²¨³»±â/[22:39] ¸Þ´º Æú´õ ¸¸µé±â/[26:07] ¼ºêŸÀÌÆ² »ý¼º/[31:43] ¾×¼Ç¹Ù¿¡ ·¹À̾ƿô »ðÀÔ/[37:10] ÅÇ ·¹À̾ƿô Ãß°¡/[38:21] ¾×¼Ç¹Ù ¾ø¾Ö±â/[42:55] ȸé Àüȯ ¼³Á¤/[46:18] tabPosition ¼³Á¤ -
13.35ºÐ ¼±Åà À§Á¬ÀÇ »ç¿ë°ú Ä¿½ºÅÒºä ¸¸µé±â 1
ŰÆÐµåÀÇ »ç¿ë, ³ªÀÎÆÐÄ¡ À̹ÌÁö »ç¿ëÇϱâ, ³ªÀÎÆÐÄ¡ À̹ÌÁö ¸¸µé±â, ¹öưÀÌ ´·ÈÀ»¶§ À̹ÌÁö ¹Ù²Ù±â, ½ÇÁ¦ ¾îÇø®ÄÉÀ̼ǿ¡¼ ¸¹ÀÌ »ç¿ëÇÏ´Â ¸®½ºÆ®ºä¸¦ ¸¸µå´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:03] ŰÆÐµå ÀԷ¹æ½Ä ¼³Á¤/[01:49] ¼ýÀÚ ÇüÅ ÀÔ·Â/[02:53] ±ÛÀÚ ÇüÅ ÀÔ·Â/[04:58] ³ªÀÎÆÐÄ¡ À̹ÌÁö/[08:40] ³ªÀÎÆÐÄ¡ À̹ÌÁö ÀÌ¿ë ¹öư ¸¸µé±â/[10:30] ³ªÀÎÆÐÄ¡ À̹ÌÁö ¸¸µé±â/[13:00] ³ªÀÎÆÐÄ¡ À̹ÌÁö ¸¸µå´Â À¥»çÀÌÆ®/[15:41] ¹öư ÅÍÄ¡¿©ºÎ ÀνÄ/[19:26] ¸®½ºÆ®ºä ¾Ë¾Æº¸±â/[21:02] ¼±Åà À§Á¬/[23:26] ÅØ½ºÆ®ºä¿¡ ¹è¿ ³Ö±â/[26:00] ·¹À̾ƿô ÀÌ¿ë ¸®½ºÆ®ºä ¸¸µé±â/[29:08] ·¹À̾ƿô xml¿¡ ¿¬°áµÉ ÀÚ¹Ù¼Ò½º ÆÄÀÏ ¸¸µé±â/[31:45] ÅØ½ºÆ®ºä¿¡ °ª ³Ö±â/[34:38] ÅØ½ºÆ® À§Ä¡ ¹× »ö»ó º¯°æ -
14.38ºÐ ¼±ÅÃÀ§Á¬ÀÇ »ç¿ë°ú Ä¿½ºÅÒºä ¸¸µé±â 2
¸®½ºÆ®ºä, ½ºÇdzÊ, ±×¸®µåºä¿¡ ´ëÇØ ¾Ë¾Æº¸°í º¹ÇÕÀ§Á¬À» ¸¸µé°í »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:58] ArrayList ÀÌ¿ë ¸®½ºÆ®ºä ó¸®/[03:47] ArrayList¿¡ °ª ³Ö±â/[06:51] ÇϳªÀÇ ¾×ƼºñƼ¿¡ ÇϳªÀÇ ¸®½ºÆ®ºä º¸¿©ÁÖ±â/[09:35] ½ºÇÇ³Ê ¾Ë¾Æº¸±â/[13:04] ½ºÇÇ³Ê ¸ñ·Ï ¼±Åýà 󸮹æ¹ý/[15:13] ±×¸®µåºä ¾Ë¾Æº¸±â/[20:19] °ÝÀÚ ¹«´Ì ÇüÅ·Πº¸¿©ÁÖ±â/[21:25] º¹ÇÕÀ§Á¬ ¾Ë¾Æº¸±â/[24:03] º¹ÇÕÀ§Á¬ À̺¥Æ® ó¸®/[28:24] MainActivity¿¡¼ ¹è¿ °ª ³Ö±â/[29:52] interface ¸¸µé±â/[32:47] MainActivity¿¡ »ý¼ºÇÑ À§Á¬ Ãß°¡Çϱâ/[34:13] »ý¼ºÇÑ À§Á¬ »ç¿ëÇϱâ/[37:17] °¶·¯¸® ¾ÆÀÌÅÛ ¼±ÅÃ½Ã ÅØ½ºÆ®ºä¿¡ Ç¥½ÃÇϱâ -
15.30ºÐ ¼±ÅÃÀ§Á¬ÀÇ »ç¿ë°ú Ä¿½ºÅÒºä ¸¸µé±â 3
±×¸®µåºä¸¦ ÀÌ¿ëÇØ ¿ùº° ͏°´õ¸¦ ¸¸µå´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:00] ±×¸®µåºä·Î ¿ùº° ´Þ·Â ¸¸µé±â/[03:08] Ŭ·¡½º »ý¼º/[05:30] ±×¸®µåºä À̺¥Æ® ó¸®/[07:41] Adater °´Ã¼ ¼±¾ð/[10:37] ´Þ·Â ±×¸®µåºä¿¡ ³¯Â¥ ³Ö±â/[16:10] ÀÌÀü ¿ù, ´ÙÀ½ ¿ù ¹öư ó¸®/[17:41] ±×¸®µåºä ²Ù¹Ì´Â Ŭ·¡½º »ý¼º/[20:16] ¼±ÅÃµÈ ¼¿ ¹è°æ»ö ¹Ù²Ù±â/[22:54] »ý¼ºÇÑ ´Þ·Â À§Á¬ »ç¿ëÇϱâ/[26:01] ÇöÀç ³â, ¿ù ÅØ½ºÆ®ºä¿¡ ³Ö¾îÁÖ±â/[28:16] ÀÌÀü ¿ù, ´ÙÀ½ ¿ù ¹öư ±â´É Ãß°¡ -
16.31ºÐ ¼±ÅÃÀ§Á¬ÀÇ »ç¿ë°ú Ä¿½ºÅÒºä ¸¸µé±â 4
¸ÖƼÅÍÄ¡ À̺¥Æ® 󸮸¦ ÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:00] ¸ÖƼÅÍÄ¡ À̺¥Æ®·Î À̹ÌÁö È®´ë/Ãà¼Ò/[03:38] ÅÍÄ¡ À̺¥Æ® ·Î±× Ãâ·Â/[09:14] À̹ÌÁö »ðÀÔ/[11:53] Canvas, Paint/[14:56] onDraw/[18:49] Matrix/[25:53] ÅÍÄ¡ À̺¥Æ® ó¸® -
17.30ºÐ ±×·¡ÇÈ 1
¾Èµå·ÎÀ̵åÀÇ ±×·¡ÇÈ ±â´ÉÀ» ÀÌ¿ëÇÏ¿© ³×¸ð, µ¿±×¶ó¹Ì, Á÷¼±, Áö±×Àç±×, ±×¶óµ¥ÀÌ¼Ç È¿°ú¸¦ ³ªÅ¸³»´Â ¹æ¹ý, ´õºí ¹öÆÛ¸µÀ» ÇÏ´Â ¹æ¹ý, ¾Èµå·ÎÀ̵å Matrix¸¦ ÀÌ¿ëÇØ ºñÆ®¸Ê À̹ÌÁö¸¦ ²Ù¹Ì´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:38] onDraw ÀÌ¿ë HPbar ¸¸µé±â/[03:17] drawRect/[06:29] Å׵θ® ¼³Á¤/[09:01] ¼±, ¿ø, ÅØ½ºÆ® ±×¸®±â/[13:17] »ö»ó ¹× ±×¶óµ¥ÀÌ¼Ç ¼³Á¤/[14:41] Áö±×Àç±× ¼± ±×¸®±â/[18:47] ´õºí ¹öÆÛ¸µ/[25:41] Matrix ÀÌ¿ë À̹ÌÁö ¹ÝÀü ¹× Å©±â, ȸÀü ¼³Á¤ -
18.37ºÐ ±×·¡ÇÈ 2
ÅÍÄ¡À̺¥Æ®¸¦ ÀÌ¿ëÇØ¼ »ç¿ëÀÚ°¡ ¼Õ°¡¶ôÀ¸·Î ȸ鿡 ¼±À» ±×¸±¼öÀÖ´Â ±â´ÉÀ» ¸¸µå´Â ¹æ¹ý, ÆäÀÎÆ®º¸µå¿¡ path¸¦ ÀÌ¿ëÇØ¼ ¼±À» ºÎµå·´°Ô ±×¸®´Â ¹æ¹ý°ú ¼ÇǽººäÀÇ °£´ÜÇÑ »ç¿ë¹ý, ±×·¡ÇÈ Ä«¸Þ¶ó °´Ã¼¸¦ »ç¿ëÇØ¼ Á» ´õ ÀÔüÀûÀ¸·Î À̹ÌÁö¸¦ Ç¥ÇöÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:00] ´õºí ¹öÆÛ¸µ/[02:41] ¼± ±×¸®±â/[05:45] ÅÍÄ¡ À̺¥Æ® ÀÌ¿ë ¼± ±×¸®±â/[09:57] ¼± ±½±â, »ö»ó º¯°æ/[11:07] ºÎµå·¯¿î ¼± ±×¸®±â/[17:22] SurfaceView/[22:15] SurfaceView ÀÌ¿ë ¼± ±×¸®±â/[25:54] ±×·¡ÇȽº Ä«¸Þ¶ó/[32:44] ±×·¡ÇȽº Ä«¸Þ¶ó ÀÌ¿ë À̹ÌÁö È®´ë, Ãà¼Ò, ȸÀü -
19.1½Ã°£ 22ºÐ ½º·¹µå¿Í ¾Ö´Ï¸ÞÀ̼Ç
Ç¥ÁØ ÀÚ¹Ù¿¡¼ÀÇ ½º·¹µå¸¦ ±×´ë·Î »ç¿ëÇÏ´Â ¹æ¹ý, Çڵ鷯¸¦ »ç¿ëÇØ¼ ½º·¹µå¸¦ ó¸®ÇÏ´Â ¹æ¹ý, Çڵ鷯¿Í ´ëÈ»óÀÚ¸¦ ÇÔ²² »ç¿ëÇÏ´Â ¹æ¹ý°ú ·çÆÛ¸¦ ÀÌ¿ëÇØ¼ ¸ÞÀνº·¹µå¿¡¼ »õ·Î ¸¸µç ½º·¹µå·Î µ¥ÀÌÅ͸¦ Àü´ÞÇÏ´Â ¹æ¹ý, AsyncTask·Î ½º·¹µå¸¦ »ç¿ëÇÏ´Â ¹æ¹ý, ImageSwitcherŬ·¡½º¿Í ½º·¹µå·Î ¾Ö´Ï¸ÞÀ̼ÇÀ» ¸¸µå´Â ¹æ¹ý, Æ®À§´×À» ÀÌ¿ëÇÑ Æ®À©¾Ö´Ï¸ÞÀ̼ÇÀ» »ç¿ëÇÏ´Â ¹æ¹ý°ú ÇÁ·¹ÀÓ ¾Ö´Ï¸ÞÀ̼ÇÀ» »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:00] ½º·¹µå/[03:09] ½º·¹µå ½ÃÀÛÁ¡, ÁßÁöÁ¡ ¼³Á¤/[10:59] Çڵ鷯 ÀÌ¿ë ½º·¹µå ó¸®/[16:43] Runnable/[21:10] ´ëÈ»óÀÚ ÀÌ¿ë ½º·¹µå ½ÇÇà/[25:09] ½º·¹µå·Î µ¥ÀÌÅÍ Àü´Þ/[31:50] ProgressBar ÀÌ¿ë/[35:08] AsyncTask·Î ½º·¹µå »ç¿ë/[38:57] ¹öư Ŭ¸¯ ½Ã ProgressBar ä¿ì±â/[45:21] ½º·¹µå·Î ¾Ö´Ï¸ÞÀÌ¼Ç ¸¸µé±â/[50:26] ½º·¹µå ½ÃÀÛÁ¡ ¼³Á¤/[52:33] ImageSwitcher ÀÌ¿ë ¾Ö´Ï¸ÞÀÌ¼Ç ¸¸µé±â/[57:24] ImageSwitcher »ç¿ë/[01:04:26] fade_out, fade_in/[01:05:03] Æ®À© ¾Ö´Ï¸ÞÀ̼Ç/[01:07:07] scale/[01:09:35] ¹öư Ŭ¸¯ ½Ã ¾Ö´Ï¸ÞÀÌ¼Ç ½ÇÇà½Ã۱â/[01:12:56] xml ÆÄÀÏ Ãß°¡Çϱâ/[01:15:14] translate, rotate, alpha/[01:18:33] ÇÁ·¹ÀÓ ¾Ö´Ï¸ÞÀ̼Ç/[01:21:29] animationDrawble.setVisible -
20.48ºÐ ³×Æ®¿öÅ©¿Í µ¥ÀÌÅͺ£À̽º
HttpURLConnectionÀ» ÀÌ¿ëÇÑ µ¥ÀÌÅÍ Åë½Å ¹æ¹ý°ú µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÏ´Â ¹æ¹ý, µ¥ÀÌÅͺ£À̽º¿¡ µ¥ÀÌÅ͸¦ Ãß°¡ÇÏ°í ºÒ·¯¿À´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:00] HttpURLConnectionÀ» ÀÌ¿ëÇÏ¿© ¿ÜºÎ À̹ÌÁö Ãâ·ÂÇϱâ/[02:59] execute/[04:55] onPreExecute, onPostExecute/[07:04] InputStream/[10:18] MalformedURLException/[12:42] ProgressDialog/[15:42] ½º¸¶Æ®Æù ³»ºÎ¿¡ µ¥ÀÌÅͺ£À̽º ¸¸µé±â/[18:15] id ÁöÁ¤/[20:47] setOnClickListener/[23:33] µ¥ÀÌÅͺ£À̽º »ç¿ëÇϱâ/[25:23] SQLiteOpenHelper/[27:54] onCreate¿Í onUpgradeÀÇ Â÷ÀÌ/[30:50] ÀÌ¹Ì ¾ÛÀÌ ¼³Ä¡µÇ¾îÀÖÀ» °æ¿ì ó¸®/[32:14] SQLException/[34:48] µ¥ÀÌÅͺ£À̽º¿¡ µ¥ÀÌÅÍ Ãß°¡Çϱâ/[37:11] µ¥ÀÌÅͺ£À̽º¸¦ ºÒ·¯¿À´Â activity »ý¼º/[39:48] µ¥ÀÌÅͺ£À̽º ºÒ·¯¿À±â/[41:41] += ¿¬»êÀÚ/[44:57] ´Ù¸¥ activity·Î À̵¿/[46:00] ¿¡·¯ È®ÀÎÇÏ´Â ¹æ¹ý - Gradle
-
21.37ºÐ Gradle °³³ä ¹× °£´ÜÇÑ ½Ç½À
Gradle °³³äÀ» ¾Ë¾Æº¸°í °£´ÜÇÑ ½Ç½À¿¹Á¦¸¦ ÁøÇà ÈÄ Gradle¿¡¼ »ç¿ëµÇ´Â ±âº»ÀûÀÎ ¿É¼Ç ¹× Tasks¿¡ ´ëÇØ¼ ¼³¸íÇÕ´Ï´Ù.
Ã¥°¥ÇÇ[00:01] Gradle À̶õ?/[00:29] ȯ°æº¯¼ö, Path ¼³Á¤/[02:16] µð·ºÅ丮 ¸¸µé±â/[03:28] build script ½ÇÇà/[04:21] Ç÷¯±×ÀÎ ¼³Ä¡/[05:04] ÇÁ·ÎÁ§Æ® »ý¼º, ÆÄÀÏ »ý¼º/[08:51] ¸í·É ÇÁ·ÒÇÁÆ® ¿±â/[11:46] ÇÁ·ÎÁ§Æ® ÀÚµ¿ »ý¼ºÇϱâ/[14:24] task, ¼Ó¼º È®ÀÎ ¸í·É¾î/[17:35] jcenter (Áß¾Ó ÀúÀå¼Ò ÁöÁ¤)/[23:46] ÀÚµ¿ ÇÁ·ÎÁ§Æ® »ý¼º/[26:27] Servlet ÀÛ¼º/[30:05] Servlet ½ÇÇà/[34:44] gradle wrapper/[36:00] gradlew tasks -
22.41ºÐ Gradle ºôµå È帧 ¹× Ÿ½ºÅ© Á¤ÀÇ
Gradle ÀÇ ºôµå È帧 ¹× LifeCycleÀ» »ìÆìº¸°í GradleÀÇ Å¸½ºÅ©¿¡ ´ëÇÏ¿© Á¤ÀÇ ¹× Ȱ¿ë¹æ¹ý¿¡ ´ëÇØ »ìÆìº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:01] ºôµåÈ帧, Task ¾Ë¾Æº¸±â/[03:11] Task ±×·¡ÇÁ ÀÛ¼º/[04:33] ºôµå ½ºÅ©¸³Æ® ½ÇÇà/[06:42] ¼±¾ð¼ø¼ º¯°æ, ½ÇÇà/[08:13] ÀÇÁ¸°ü°è ¾ø´Â Task ÀÛ¼º/[11:51] ¸í·ÉÇÁ·ÒÇÁÆ® ¿±â/[15:09] ÀÇÁ¸°ü°è º¯°æ/[17:53] property Àû¿ë/[22:02] setTask, exeTask/[26:22] µ¿Àû Task Á¤ÀÇ/[30:32] Task Á¦¾î/[32:10] Task ó¸® Áß´Ü/[34:40] Task ½ÇÇà ¼ø¼ Á¦¾î/[37:57] Á¾·á Task/[40:06] Exception ¹ß»ý -
23.41ºÐ Gradle ½ºÅ©¸³Æ® ÆÄÀÏÀÇ ±¸Á¶¿Í GradleÀÇ ±âº» °´Ã¼
Gradle ÀÇ ½ºÅ©¸³Æ® ÆÄÀÏ ±¸Á¶¸¦ ¾Ë¾Æº¸°í Gradle ¿¡¼ »ç¿ëÇÏ´Â ±âº» µµ¸ÞÀÎ °´Ã¼¿Í ±× ¼Ó¼º ¹× API¸¦ ¾Ë¾Æº¾´Ï´Ù.
Ã¥°¥ÇÇ[01:16] ±¸¼º¿ä¼Ò È®ÀÎ/[02:22] ±¸¼º¿ä¼Ò ¾øÀÌ ºôµå »ý¼ºÇϱâ/[04:04] Áö¿ªº¯¼ö/[08:03] ½Ã½ºÅÛ ¼Ó¼º ¾Ë¾Æº¸±â/[10:51] È®Àå ¼Ó¼º/[14:06] ¸Ê Á¢±Ù ¹æ¹ý/[19:12] ½ºÅ©¸³Æ® ºí·Ï°ú µµ¸ÞÀÎ °´Ã¼ °ü°è/[21:32] µµ¸ÞÀÎ °´Ã¼, Extension °´Ã¼/[27:05] name, description, path, projectDir, status, state, version ¼Ó¼º/[31:45] beforeEvaluate/[35:10] mustRunAfter,shouldRunAfter/[38:33] dsl ¹®¼Á¤º¸ È®ÀÎ -
24.36ºÐ GradleÀÇ ±âº» °´Ã¼ ¹× ¸ÖƼÇÁ·ÎÁ§Æ® ±¸Á¶
Gradle ¿¡¼ »ç¿ëÇÏ´Â ±âº» µµ¸ÞÀÎ °´Ã¼¿Í ¸ÖƼÇÁ·ÎÁ§Æ® ±¸Á¶¿¡ ´ëÇØ¼ ¾Ë¾Æº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:02] gradle °´Ã¼/[01:45] gradleHomeDir, gradleUserHomeDir/[03:26] API ÇÔ¼ö/[07:44] Javadoc ÂüÁ¶/[08:03] callback API/[10:19] settings °´Ã¼/[15:00] ¸ÖƼ ÇÁ·ÎÁ§Æ® ½Ç½À/[19:01] ´ÙÁß°´Ã¼ ±¸ºÐÀÚ ÁöÁ¤/[23:21] °èÃþÇü, ´ÜÃþÇü ÇÁ·ÎÁ§Æ®/[24:36] include API, include Flat API/[31:35] include ¿ªÇÒ/[33:14] ¿ÜºÎ Ç÷¯±×ÀÎ ÁöÁ¤/[34:26] ÅëÇÕ Ç÷¯±×ÀÎ -
25.38ºÐ GradleÀÇ ÆÄÀÏ ÂüÁ¶
Gradle ¿¡¼ ÆÄÀÏÀ» ÂüÁ¶ÇÏ´Â ´Ù¾çÇÑ ¹æ¹ýÀ» »ìÆìº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:17] ÆÄÀÏ ÂüÁ¶ ¾Ë¾Æº¸±â/[04:32] URL Object, URI Object/[06:05] ºôµå ½ºÅ©¸³Æ® ¼öÇà/[06:19] Ŭ·ÎÀú »ç¿ë/[08:54] ¿©·¯ °³ÀÇ ÆÄÀÏ ÂüÁ¶/[12:24] List °´Ã¼/[14:34] °æ·Î Ãâ·Â ¿¹Á¦/[16:32] ¿¬»êÀÚ È°¿ë/[18:47] ÇÊÅ͸µ ±â´É/[22:23] »óÅ ȮÀÎ ¸Þ¼µå/[33:51] matching ¸Þ¼µå/[36:02] visit ¸Þ¼µå -
26.38ºÐ GradleÀÇ ÆÄÀÏ º¹»ç ¹× µð·ºÅ͸® »ý¼º°ú ÀÇÁ¸°ü°è°ü¸®ÀÇ ¸ñÀû
Gradle ¿¡¼ ÆÄÀÏÀ» º¹»ç, µð·ºÅ͸® »ý¼ºÇÏ´Â ´Ù¾çÇÑ ¹æ¹ý, ±×·¡µéÀÇ ÀÇÁ¸°ü°è°ü¸® ¸ñÀûÀ» »ìÆìº¸°í ÀÇÁ¸°ü°è°ü¸® ±â´ÉÀ» »ìÆìº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:01] ÆÄÀÏ º¹»ç ¹æ¹ý/[02:30] from, into ¸Þ¼µå/[05:03] ¿øÇÏ´Â ÆÄÀϸ¸ ÁöÁ¤/[13:26] task¿¡¼ ÆÄÀÏ º¹»ç ¼öÇà/[17:43] ÆÄÀÏ »èÁ¦ ¹æ¹ý/[21:44] LogLevel º¯°æ/[22:54] ÀÇÁ¸°ü°è °ü¸® ¸ñÀû°ú ÀÇÁ¸°ü°è ÇØ°á ÀÚµ¿È/[25:20] ÀÇÁ¸°ü°è ±×·ì ±¸¼º°ú ÀÇÁ¸°ü°è ÁöÁ¤ ¹æ¹ý/[28:13] ÆÄÀÏ ÀÇÁ¸°ü°è/[34:41] ÀúÀå¼Ò ¼³Á¤ ¹æ¹ý/[35:00] maven ÀúÀå¼Ò ¼³Á¤ -
27.36ºÐ GradleÀÇ ÀúÀå¼Ò¿Í ÀüÀÌÀû ÀÇÁ¸°ü°è
ivy ÀúÀå¼Ò¿Í ·ÎÄÃÆÄÀϽýºÅÛ ÀúÀå¼Ò ÁöÁ¤¹æ¹ý°ú ÀüÀÌÀû ÀÇÁ¸°ü°è¿Í ÀüÀÌÀû ÀÇÁ¸°ü°è·Î ÀÎÇÑ ¹®Á¦ ÇØ°á ¹æ¹ýÀ» È®ÀÎÇØº¸°í ½Ç½ÀÇÕ´Ï´Ù.
Ã¥°¥ÇÇ[00:00] ivy ÀúÀå¼Ò/[06:57] ·ÎÄÃÆÄÀϽýºÅÛ ÀúÀå¼Ò/[09:38] ¹öÀü µ¿Àû ÁöÁ¤/[14:41] ÀüÀÌÀû ÀÇÁ¸°ü°è/[20:19] ÀÇÁ¸°ü°è ¹öÀü °æÇÕ ÇØ°á¹æ¹ý/[23:55] Newest, fail Àü·«/[27:22] ¹öÀü ÁöÁ¤ ¹æ¹ý/[28:50] Ŭ¶óÀÌ¾ðÆ® ¸ðµâ ÀÇÁ¸°ü°è/[31:51] ÀÇÁ¸°ü°è È®ÀÎ -
28.39ºÐ GradleÀÌ Á¦°øÇÏ´Â Å×½ºÆ® ÀÚµ¿È ¹æ¹ý
ȯ°æ Â÷ÀÌ¿¡ ´ëÇÑ À̽ļº, ƯÁ¤ ¹üÀ§ ÁöÁ¤À» ÅëÇÑ ½ÇÇà, ´À¸° Å×½ºÆ® °¨¼Ò¸¦ À§ÇÑ ±â´É Á¦°ø¿¡ ´ëÇØ ÇнÀÇÕ´Ï´Ù.
Ã¥°¥ÇÇ[00:45] ÀϹÝÀûÀΠȯ°æÂ÷ÀÌ Á¦¾î/[04:01] gradle·Î ȯ°æÂ÷ÀÌ Á¦¾î/[07:23] ÆÄÀÏ Çϳª·Î ȯ°æÂ÷ÀÌ Á¦¾î/[11:12] ƯÁ¤ ¹üÀ§¿¡¼ Å×½ºÆ®(ÆÐÅÏ ÀÏÄ¡)/[18:55] ÇÊÅÍ ÀÌ¿ë Æ¯Á¤ ¹üÀ§ ½ÇÇà/[20:19] ƯÁ¤ ¹üÀ§¿¡¼ Å×½ºÆ®(Å×½ºÆ® ÇÁ·¹ÀÓ¿÷)/[26:29] Å×½ºÆ® ½ºÀ/[27:53] ƯÁ¤ ¹üÀ§¿¡¼ Å×½ºÆ®(¼Ò½º ¼¼Æ®)/[30:26] ´À¸° Å×½ºÆ® °³¼±(ºÐÇÒ ½ÇÇà)/[33:15] ´À¸° Å×½ºÆ® °³¼±(º´·Ä ½ÇÇà)/[37:11] ´À¸° Å×½ºÆ® °³¼±(JVM Æ©´×) -
29.41ºÐ GradleÀ» ÀÌ¿ëÇÑ ÆÄÀϾÐÃà¹æ¹ý°ú ÆÛºí¸®½Ì¹æ¹ý
zip, jar, tar, war ¾ÐÃà ÆÄÀÏ »ý¼º ¹æ¹ý, ¾ÐÃàÆÄÀÏÀ» ÆÛºí¸®½ÌÇϱâ À§ÇÑ gradle¿¡¼ Á¦°øÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:05] ¾ÐÃà ÆÄÀÏ »ý¼º ¹æ¹ý/[05:02] ¾ÐÃà µð·ºÅ͸® ¹× À̸§ ¼³Á¤/[08:11] ¾ÐÃàÆÄÀÏ »ý¼º À§Ä¡ ¼³Á¤/[11:23] archiveName ¼Ó¼º/[14:34] zip, tar, jar ¾ÐÃà Çü½Äº° Ư¼º/[21:26] war ÆÄÀÏ »ý¼º ¹æ¹ý/[25:24] distribution Ç÷¯±×ÀÎ/[26:49] ÆÄÀÏ ÆÛºí¸®½Ì ¹æ¹ý/[29:54] ¼ÒÇÁÆ®¿þ¾î ÄÄÆ÷³ÍÆ®/[35:43] artifact ÆÛºí¸®½Ì -
30.40ºÐ Gradle ÆÛºí¸®½Ì°ú ¹èÆ÷ ¹× »ç¿ë¹ý
gradle ÆÛºí¸®½Ì°ü·Ã ¸ÞŸµ¥ÀÌÅÍ Á¦¾î¹æ¹ý, ÆÛºí¸®½ÌÀ» À§ÇØ »ý¼ºÇÑ ¸ðµâÀ» ÀÎÅͳÝÀ» ÅëÇÑ ¾÷·Îµå ¹× »ç¿ë ¹æ¹ý¿¡ ´ëÇØ ÇнÀÇÕ´Ï´Ù.
Ã¥°¥ÇÇ[00:30] ¸ÞÀ̺ì Ç÷¯±×ÀÎ ÀÌ¿ë ¸ÞŸµ¥ÀÌÅÍ ÆíÁý/[05:47] ivy Ç÷¯±×ÀÎ ÀÌ¿ë ¸ÞŸµ¥ÀÌÅÍ ÆíÁý/[10:30] ÆÛºí¸®½Ì À§Ä¡ ÁöÁ¤/[15:42] ¿Â¶óÀÎ ¹èÆ÷¸¦ À§ÇÑ bintray ¼³Á¤/[21:00] ¿Â¶óÀÎ ¹èÆ÷¸¦ À§ÇÑ ÄÚµå ¼³Á¤/[25:30] API Key ÇÒ´ç ¹æ¹ý/[27:11] pkg ¼³Á¤/[31:43] ¾÷·Îµå ¼öÇà/[35:43] ¾÷·ÎµåµÈ ¸ðµâ »ç¿ë -
31.33ºÐ ¾Èµå·ÎÀÌµå ½ºÆ©µð¿À¿Í Gradle
¾Èµå·ÎÀÌµå ½ºÆ©µð¿À¿¡¼ Gradle À» À¯¿ëÇÏ°Ô »ç¿ëÇϱâ À§ÇÑ ´Ù¾çÇÑ ¹æ¹ýÀ» »ìÆìº»´Ù.
Ã¥°¥ÇÇ[00:00] ¾Èµå·ÎÀÌµå ½ºÆ©µð¿À¿¡¼ ÇÁ·ÎÁ§Æ® »ý¼º ½Ã ÆÄÀÏ ±¸Á¶/[07:08] task ½ÇÇà/[09:05] library ¸ðµâ »ý¼º/[11:53] ·ÎÄÃÀúÀå¼Ò ÁöÁ¤ÇÏ¿© »ç¿ë/[15:53] ¾Û ¼¸í ÀÛ¼º/[18:16] Á¦Ç° Ư¼º ÁöÁ¤/[19:24] È®Àå Ç÷¯±×ÀÎ Àû¿ë/[24:15] apk ¹èÆ÷ ½Ã ¸®¼Ò½º ÁÙÀÌ´Â ¹æ¹ý/[27:42] ¾Û ¿£Áø ¸ðµâ Ãß°¡/[32:00] ¿¡½ºÇÁ·¹¼Ò ½Ã³ª¸®¿À Å×½ºÆ® ¿¬µ¿ -
32.41ºÐ ant, mavenÀ» gradle·Î º¯È¯
ant, mavenÀ¸·Î µÇ¾î ÀÖ´Â ÇÁ·ÎÁ§Æ®ÀÇ ºôµå½Ã½ºÅÛÀ» gradle·Î º¯È¯ÇÏ´Â ¹æ¹ýÀ» ÇнÀÇÕ´Ï´Ù.
Ã¥°¥ÇÇ[00:05] ant, mavenÀ» gradle·Î º¯È¯/[05:33] ant¸¦ gradle·Î º¯È¯/[09:21] gradle¿¡¼ ant¸¦ À̽ÄÇÏ¿© »ç¿ë/[13:52] ant target ÂüÁ¶ÇÏ¿© war ÆÄÀÏ »ý¼º/[18:21] ant ¼Ó¼º ÂüÁ¶/[22:14] ant üũ½ºÅ¸ÀÏÀ» gradle·Î À̽Ä/[26:00] mavenÀ» gradle·Î À̽Ä/[30:06] pom.xml º¯È¯ÇÏ¿© gradle¿ë ºôµå½ºÅ©¸³Æ®·Î »ý¼º/[36:58] pom.xmlÀ» pomÀ¸·Î ÁöÁ¤ -
33.37ºÐ spring boot »ç¿ëÀ» À§ÇÑ gradle ¼³Á¤
spring boot »ç¿ëÀ» À§ÇÑ gradle ¼³Á¤, STS ÅøÀ» ÀÌ¿ëÇÑ gradle »ç¿ë ¹æ¹ý ¹× ¼³Á¤ ¹æ¹ýÀ» ÇнÀÇÕ´Ï´Ù.
Ã¥°¥ÇÇ[00:00] spring boot »ç¿ëÀ» À§ÇÑ gradle ¼³Á¤/[05:48] gradle°ú spring boot ÀÌ¿ë ¸ÖÆ¼ÇÁ·ÎÁ§Æ® ±¸¼º ¹æ¹ý/[09:20] Àüü ÇÁ·ÎÁ§Æ®¸¦ ¼³Á¤ ¹× °ü¸®/[14:46] default.gradle »ç¿ë¹æ¹ý/[17:30] environments.gradle/[20:34] Javadoc ¼³Á¤ ¹× »ç¿ë/[25:16] STS ToolÀ» ÀÌ¿ëÇÑ ÇÁ·ÎÁ§Æ® ½Ç½À/[32:34] mybatis »ç¿ëÀ» À§ÇÑ ¼³Á¤ -
34.41ºÐ ºôµå½ºÅ©¸³Æ® ºÐÇÒ°ú ±¸Á¶È
gradle ºôµå½ºÅ©¸³Æ®¸¦ ºÐÇÒÇÏ°í ±¸Á¶ÈÇÏ¿© ¼³Á¤ÇÏ´Â ¹æ¹ý, »ç¿ëÀÚ Á¤ÀÇ plug-inÀ» ÀÛ¼ºÇÏ¿© Ȱ¿ëÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº»´Ù.
Ã¥°¥ÇÇ[00:27] ºôµå½ºÅ©¸³Æ® ±¸Á¶È/[03:49] ÇÁ·ÎÁ§Æ®¸¦ ºÐÇÒÇÏ¿© ±¸Á¶È/[09:46] ¿ÜºÎ ¶óÀ̺귯¸® »ç¿ëÇÏ¿© ±¸Á¶È/[14:23] ºôµåsrc µð·ºÅ͸® »ý¼º ÈÄ ±¸Á¶È/[20:02] »ç¿ëÀÚ Á¤ÀÇ task »ý¼º/[25:23] »ç¿ëÀÚ Á¤ÀÇ Ç÷¯±×ÀÎÀ¸·Î ºôµå½ºÅ©¸³Æ® ±¸Á¶È/[29:05] È®Àå °´Ã¼¸¦ ÀÌ¿ëÇÑ Ç÷¯±×ÀÎ/[36:08] apply plugin µû¿ÈÇ¥ À¯¹«ÀÇ Â÷ÀÌ/[39:37] Ç÷¯±×ÀÎ ¸íĪ ±ÔÄ¢ -
35.33ºÐ IntelliJ IDEA ¿¡¼ gradleÀ» ÀÌ¿ëÇÑ ½Ç½À
spring, mysql ¿¬µ¿ ½Ç½À, scala ½Ç½À, hibernate ½Ç½À
Ã¥°¥ÇÇ[00:00] IntelliJ IDEA ÀÌ¿ë ½ºÇÁ¸µ »ç¿ë/[05:10] ½ºÇÁ¸µ ¹× mysql ¿¬µ¿ ½Ç½À/[10:22] ½ºÇÁ¸µ ¿¬µ¿ ½Ç½À/[16:44] ½ºÇÁ¸µ°ú gradleÀ» ÀÌ¿ëÇÑ ½Ç½À/[21:52] scala »ç¿ë ½Ç½À/[27:12] scala ¼³Á¤ ÄÚµå ¼³¸í/[31:10] hibernate¿Í mysql »ç¿ë ¹æ¹ý -
36.43ºÐ gradleÀ» ÀÌ¿ëÇÑ SpringMVC ¸ÖƼ ÇÁ·ÎÁ§Æ®
gradleÀ» ÀÌ¿ëÇÏ¿© °¢Á¾ ¶óÀ̺귯¸®¿¡ ´ëÇÑ ÀÇÁ¸°ü°è ÁöÁ¤, µ¥ÀÌÅÍ Ã³¸®¸¦ ÀÇÇÑ DB ¼³Á¤ ¹× »ç¿ë, SpringMVC ¸ðµ¨°ú gradleÀ» ÀÌ¿ëÇÏ¿© ¸ÖƼÇÁ·ÎÁ§Æ®¸¦ ¼öÇà
Ã¥°¥ÇÇ[00:00] Spring MVC ¸ÖƼÇÁ·ÎÁ§Æ®/[06:24] root ÇÁ·ÎÁ§Æ®¿¡ ÀÖ´Â build.gradle ¼³¸í/[13:19] configurations, dependencies, idea ¼³Á¤/[18:37] ¼ºê ÇÁ·ÎÁ§Æ®¿¡ ÀÇÁ¸¼º ¼³Á¤/[23:01] tomcat ¼³Á¤/[26:22] servlert, hibernate, Spring »ç¿ëÀ» À§ÇÑ ¼Ò½ºÄÚµå ÀÛ¼º/[31:29] À̺¥Æ® ó¸®/[35:28] DB ¼³Á¤/[40:49] tomcatRun task ½ÇÇà ¹× °á°úÈ®ÀÎ -
37.38ºÐ Á¨Å²½º¸¦ ÀÌ¿ëÇÑ CIȯ°æ ±¸Ãà
Á¨Å²½º ¼³Ä¡ ¹× gradle Ç÷¯±×ÀÎ ¼³Ä¡¸¦ ÅëÇÑ CIȯ°æ ±¸Ãà
Ã¥°¥ÇÇ[00:00] Á¨Å²½º¸¦ ÀÌ¿ëÇÑ CI ȯ°æ ±¸Ãà/[02:54] Á¨Å²½º ¼³Ä¡/[06:38] Ç÷¯±×ÀÎ ¼³Ä¡/[07:41] Á¨Å²½º·Î ÇÁ·ÎÁ§Æ® ºôµå/[09:36] GitHub/[13:09] ºôµå/[17:10] Á¨Å²½º ±¸¼º/[20:41] ºôµå ÈÄ Á¶Ä¡/[22:56] gradle Á¨Å²½º Ç÷¯±×ÀÎ/[24:39] Á¨Å²½º¿¡¼ gradle ¼³Á¤ ¹× ºôµå/[27:46] CI¿¡¼ ÇÁ·ÎÁ§Æ® ±â´É Ãß°¡/[33:46] findbugs ÀÌ¿ë ÄÚµå°Ë»ç/[36:34] JaCoCo -
38.38ºÐ docker¸¦ ÀÌ¿ëÇÑ ¹èÆ÷ ¹× ¿ø°ÝÁö È£½ºÆ®¿¡ ´ëÇÑ Á¢±Ù, Á¦¾î ¹æ¹ý
docker¸¦ ÀÌ¿ëÇÑ ÄÁÅ×À̳ʿ¡ ¹èÆ÷ ÇÏ´Â ¹æ¹ý, ¿ø°ÝÁö È£½ºÆ®¿¡ ´ëÇÑ Á¢±Ù ¹× Á¦¾î ¹æ¹ý ¼Ò°³, gradle¿¡¼ ¼Ò½ºÄÚµå °ËÁõ¹æ¹ý¿¡ ´ëÇØ ÇнÀÇÕ´Ï´Ù.
Ã¥°¥ÇÇ[00:00] findbugs Ç÷¯±×ÀÎ/[04:13] findbugs ±â´É ¼³Á¤ º¯°æ/[08:44] JaCoCo Ç÷¯±×ÀÎ/[09:51] cargo ÀÌ¿ë ¹èÆ÷ ½Ç½À/[14:11] docker ¼³Ä¡/[18:58] docker ÀÌ¿ë ÅèĹ¼¹ö ±¸Ãà/[24:41] cargo ÀÌ¿ë ¿ÜºÎ¿¡ deploy/[30:33] ÇÁ·Ï½Ã ¼³Á¤/[34:03] ¿ø°Ý¼¹ö Á¶ÀÛ -
39.39ºÐ gradle Ç÷¯±×ÀÎ Á¦ÀÛ ÈÄ ¹èÆ÷ ¹× »ç¿ë, ¹öÀüºñ±³
gradle Ç÷¯±×ÀÎ ÀÛ¼º ÈÄ ¹èÆ÷, ¹èÆ÷µÈ Ç÷¯±×ÀÎ »ç¿ë, gradle ¹öÀü º¯°æ¿¡ µû¸¥ ºôµå ºñ±³
Ã¥°¥ÇÇ[00:04] ·ÎÄà °æ·Î¿¡ ¹èÆ÷/[02:58] »ç¿ëÀÚ Á¤ÀÇ ¹èÆ÷/[06:21] eclipse, eclipse-wtp Ç÷¯±×ÀÎ/[09:22] gradle Ç÷¯±×ÀÎ Á¦ÀÛ/[13:53] groovy Ŭ·¡½º »ý¼º/[18:43] ¸ÞŸÁ¤º¸ ÀÛ¼º/[21:39] Ç÷¯±×ÀÎ ¹èÆ÷/[24:05] ¹èÆ÷ÇÑ Ç÷¯±×ÀÎ »ç¿ë/[29:12] ºôµå ºñ±³ Ç÷¯±×ÀÎ/[31:35] ºôµå ºñ±³ Ç÷¯±×ÀÎ ½Ç½À/[37:04] tasks, arguments -
40.34ºÐ gradle ÅëÇÕ Å×½ºÆ® Geb ¹× ºôµå°ü·Ã ¼³¸í
BDD Àû¿ë ¹× ¼³¸í, Geb ¼³Á¤, ºôµå °ü·Ã ¼³¸í ¹× ¸¶¹«¸®
Ã¥°¥ÇÇ[00:00] TDD, Junit, BDD/[04:17] spock ÀÌ¿ë BDD ½Ç½À/[10:17] setup, expect, where/[12:14] ÅëÇÕÅ×½ºÆ® Geb/[14:53] Geb ¼³Á¤/[18:52] sourceSets Á¤ÀÇ/[21:03] Geb¸¦ ÀÌ¿ëÇÑ ÆäÀÌÁö »ý¼º/[24:11] À̹ÌÁö, html·Î ÀúÀå/[29:35] debug ¸ðµå/[31:04] ºôµå - ¾Èµå·ÎÀÌµå °³¹ß [Ȱ¿ë]
-
41.41ºÐ ÇÁ·ÎÁ§Æ® ±¸Á¶, TextView¿Í ImageView»ðÀÔ, ¸ð¹ÙÀϱâ±â ¿¬°á
ÇÁ·ÎÁ§Æ®¸¦ ¸ð¹ÙÀÏ ±â±â¿¡¼ È®ÀÎÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº¸°í, °£´ÜÇÑ ÇÁ·ÎÁ§Æ®¸¦ ¸¸µé¾î¼ ÇÁ·ÎÁ§ÀÇ ±¸¼ºÀ» »ìÆìº¸°í TextView, ImageView¸¦ »ðÀÔÇØº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:12] ÇÁ·ÎÁ§Æ® import, »èÁ¦/[01:25] Æú´õ È®ÀÎ, º¹»ç/[02:07] file-import/[03:59] ÇÁ·ÎÁ§Æ®ÀÇ ±¸Á¶/[04:21] Æú´õ¿Í ÆÄÀÏÈ®ÀÎ/[07:05] ÅǸ޴º, ÄÚµùâ/[10:20] ¼Ò½ºÈ®ÀÎ/[13:21] name, value/[16:48] debug/[19:36] ·¹À̾ƿôº¯°æ/[22:01] ½ºÅ¸ÀÏÃß°¡/[27:11] image view/[33:35] maxwidth, maxheight/[39:43] µå·¡±×&µå·Ó¹æ½Ä -
42.56ºÐ EditView, Button, ·¹À̾ƿô
¿¡µðÆ®ºä¿Í ¹öưÀ» ¸¸µé¾î¼ Á¦¾îÇÒ ¼ö ÀÖµµ·Ï ÇÁ·Î±×·¡¹Ö ÇØº¾´Ï´Ù. ±×¸®°í LinearLayoutÀ» Ãß°¡Çؼ ³»¿ëÀ» »ìÆìº¸°í layout_gravity, layout_weight µîÀÇ ¼Ó¼ºÀ» º¯°æÇÏ´Â ¹æ¹ýÀ» °øºÎÇÕ´Ï´Ù.
Ã¥°¥ÇÇ[00:22] Button/[00:33] EditText/[06:39] Button Ãß°¡/[11:35] findViewById/[14:11] setOnClickListener/[16:56] getText, toString/[22:02] LinearLayout/[28:59] gravity/[33:15] TextView/[41:59] background Ä÷¯ Àû¿ë/[46:35] text Ãß°¡/[48:29] baselineAligned -
43.55ºÐ margin, padding, ¿©·¯°¡Áö Layout
·¹À̾ƿô¿¡ ¿©¹éÀ» ÁÙ ¼ö ÀÖ´Â margin°ú padding¿¡ ´ëÇØ ¾Ë¾Æº¸°í, RelativeLayout, FrameLayout, TableLayout µîÀÇ ·¹À̾ƿô¿¡ ´ëÇØ¼µµ °øºÎÇÏ°í ¿¹Á¦ ÇÁ·Î±×·¥À» ¸¸µé¾îº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:12] ¿©¹é¿¡ ´ëÇÑ ¼Ó¼º/[01:06] magin, padding/[05:15] RelativeLayout/[11:18] toRightOf/[13:54] alignParentRight/[18:26] ImageView Ãß°¡/[23:11] marginRight/[27:22] AbsoluteLayout/[33:35] FameLayout Ãß°¡/[34:28] Button Ãß°¡/[42:07] setOnClickListener/[48:21] TableLayout Ãß°¡ -
44.53ºÐ ·¹À̾ƿô Áßø°ú ȸéÀüȯÀÛ¾÷
¿©·¯°¡Áö ·¹À̾ƿôÀ» °°ÀÌ »ç¿ëÇÏ´Â ·¹À̾ƿô Áßø¿¡ ´ëÇØ ¾Ë¾Æº¸°í ¹öưÀ» ´·¯ ȸéÀüȯ ÀÛ¾÷À» ÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µé¾îº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:44] collapseColumns/[02:44] Button, TableRow Ãß°¡/[06:15] ·¹À̾ƿô Áßø/[08:13] TextView Ãß°¡/[12:35] ImageView Ãß°¡/[18:18] TableLayout À̵¿/[22:41] Button Ãß°¡/[28:40] TextView Ãß°¡/[34:06] EditText, Button Ãß°¡/[41:45] Preferences/[50:15] switch case ¹® -
45.53ºÐ ·¹À̾ƿô ¼Ó¼º º¯°æ, ·¹À̾ƿô Àü°³, ÆÄ¶ó¹ÌÅÍ
½ÇÇàÁß¿¡ ¼Ó¼ºÀ» ¹Ù²ã´Â ¹æ¹ýÀ» ¾Ë¾Æº¸°í ·¹À̾ƿô Àü°³¿Í ÆÄ¶ó¹ÌÅÍ¿¡ ´ëÇØ °øºÎÇÕ´Ï´Ù.
Ã¥°¥ÇÇ[01:03] LinearLayout Ãß°¡/[03:45] TextView, EditText Ãß°¡/[07:43] º¯¼ö ¼±¾ð/[14:50] Layout Àü°³/[20:37] TextView Ãß°¡/[28:15] LayoutInflater/[34:50] xml ÆÄÀÏ »ý¼º/[48:06] TextView, setText Ãß°¡ -
46.54ºÐ ·¹À̾ƿô ¸¶Áø, Ä¿½ºÅÒºä
·¹À̾ƿô ÆÄ¸®¹ÌÅ͸¦ ÀÌ¿ëÇÑ ·¹À̾ƿô ¸¶Áø ¼³Á¤¿¡ ´ëÇØ ¹è¿ì°í, Ä¿½ºÅҺ並 Á¦ÀÛÇÏ¿©, ¿ø°ú »ç°¢Çü, ¼±, Á¡ µîÀ» ±×·Áº¸°í ¼Ó¼ºµîÀ» º¯°æÇغ¾´Ï´Ù.
Ã¥°¥ÇÇ[00:47] LinearLayout »ý¼º/[02:13] Button Ãß°¡/[07:43] CustomView/[15:18] Paint °´Ã¼ »ý¼º/[16:18] setColor, drawColor, drawCircle/[25:41] »ý¼ºÀÚÇÔ¼ö Ãß°¡/[33:30] 16Áø¼ö Ä÷¯°ª/[39:15] MyCustView ÀνºÅϽº »ý¼º/[44:20] drawARGB, drawRGB/[50:49] drawRect, drawRoundRect -
47.56ºÐ Canvas¿Í Paint Part1
Ÿ¿ø°ú È£, ¿©·¯°³ÀÇ ¼±µé°ú Á¡µéÀ» ĵ¹ö½º¿¡ ±×·Áº¸°í, ÆäÀÎÆ® °´Ã¼¸¦ ÀÌ¿ëÇÑ ¾ÈƼ ¿¤¸®¾î½º, ¼±ÀÇ ¸¶°¨Çü½Ä, ä¿ì±â ÇüÅ µî¿¡ ´ëÇØ ¾Ë¾Æº¾´Ï´Ù.
Ã¥°¥ÇÇ[01:49] Ÿ¿ø Ãß°¡/[04:00] È£ Ãß°¡/[07:15] À§Ä¡°ª À̵¿/[09:35] ¿©·¯°³ÀÇ ¶óÀÎ ±×¸®±â/[11:13] ÁÂÇ¥°ª Ãß°¡/[16:47] ¾ÈƼ ¿¤¸®¾î½Ì/[18:56] »ý¼ºÀÚ ÇÔ¼ö Ãß°¡/[26:07] ÁÂÇ¥°ª Àç¼³Á¤/[31:00] ¼±ÀÇ ³¡ ºÎºÐ ó¸®, ä¿ì±â ÇüÅÂ/[32:42] Alzio16/[33:22] MyCustView °´Ã¼»ý¼º°ú ±¸Çö/[41:45] SQUARE ó¸®/[47:15] ¹ÝÁö¸§ ¼öÁ¤/[47:22] xÁÂÇ¥ ¼öÁ¤/[47:34] °á°ú È®ÀÎ/[47:58] setStyle STROKE, FILL AND STROKE -
48.54ºÐ Paint Part2, Bitmap°ú ÅØ½ºÆ®
¸ð¼¸®ÀÇ ÇüŸ¦ ÁöÁ¤ÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº¸°í, ±×¸®±â °´Ã¼ Áß ºñÆ®¸ÊÀ» ÀÌ¿ëÇÏ¿© À̹ÌÁö¸¦ Ãâ·ÂÇÏ´Â ¹æ¹ý°ú, ÅØ½ºÆ®¸¦ Ãâ·ÂÇÏ´Â ¸Þ¼Òµåµé¿¡ ´ëÇØ ¾Ë¾Æº¸°í, ¼öÆòÁ¤·ÄÀ» ¼öÇàÇØº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:13] ¸ð¼¸®ÀÇ ÇüÅÂ/[03:38] drawRect »ç°¢ÇüÃß°¡/[09:24] MyCustDraw °´Ã¼/[11:16] ¸®¼Ò½º¿¡ ºñÆ®¸Ê Ãß°¡/[15:28] getBitmap, drawBitmap/[27:14] createBitmap/[36:30] MyCustView Ŭ·¡½º/[40:15] drawText/[49:45] setTextAlign, setTextSize/[53:37] ÁÂÇ¥°ª¼öÁ¤ -
49.1½Ã°£ 1ºÐ Typeface, Custom Font, path
Typeface¸¦ ÀÛ¾÷Çϰí, ¿ÜºÎ±Û²Ã ¼³Á¤¹æ¹ý, path±×¸®±â¿¡ ´ëÇØ¼ ¾Ë¾Æº¸°í ½Ç½ÀÇÕ´Ï´Ù.
Ã¥°¥ÇÇ[00:00] Á¤·Ä/[03:33] Å©±â°¡ ´Ù¸¥ ¹®ÀÚ¿/[07:35] Typeface/[12:19] Ãë¼Ò¼± ±×¸®±â/[18:42] onDraw/[23:01] Monospace/[28:56] Create From Asset/[32:04] »ç¿ëÀÚ Á¤ÀÇ ÆùÆ®/[37:04] ¼±ÀÇ µÎ²², ¼±ÀÇ »ö»ó/[46:06] MoveTo, LineTo/[49:18] rLineTo, quadTo/[54:06] CubicTo/[57:26] ¼±À§¿¡ ±Û Ç¥Çö -
50.50ºÐ ButtonÃâ·Â, À̺¥Æ®Çڵ鷯, Sound Ãâ·Â part1
À̺¥Æ®Çڵ鷯¸¦ ÀÌ¿ëÇØ buttonÀ» ÅëÇØ ÆË¾÷µÇ´Â Å佺Ʈ¸¦ ¸¸µé°í, mediaplayer¸¦ ÀÌ¿ëÇÏ¿© Sound¸¦ Ãâ·ÂÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:49] ÆË¾÷â ¸¸µé±â/[02:33] ¹öư ¸¸µé±â/[08:38] ÅØ½ºÆ®ºä/¹öư ¸¸µé±â/[13:40] Switch/[16:29] Case/[28:25] Show, Break/[35:37] Ä«¿îÆ®¿Í Ä«¿îÆ® ¿¬¼ÓÀÇ Â÷ÀÌ/[38:16] »ç¿îµå Ãâ·Â/[46:49] SndOn, SndOff -
51.53ºÐ Sound Ãâ·Â part2, À̺¥Æ®Çڵ鷯
Beeper¿Í SoundPoolÀ» ÀÌ¿ëÇÏ¿© Sound¸¦ Ãâ·ÂÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¸°í À̺¥Æ®Çڵ鷯¿¡ ´ëÇØ °øºÎÇÕ´Ï´Ù.
Ã¥°¥ÇÇ[00:33] Beeper, MediaPlayer/[06:07] Áغñ¾øÀÌ Àç»ý, ÁغñÇϰí Àç»ý/[10:10] ¸·´Âű×/[16:41] SoundPool/[22:40] Switch Case/[33:22] À̺¥Æ® Çڵ鷯/[37:42] Boolean/[45:46] OnTouch/[51:19] À̺¥Æ® ¿¬°á -
52.53ºÐ À̺¥Æ® ¸®½º³Ê¿Í Çڵ鷯ÀÇ ¿ì¼±¼øÀ§, ¿ÜºÎº¯¼ö Á¢±Ù
¾×ƼºñƼ, ºä, À͸í À̳ÊŬ·¡½º°¡ ¸®½º³Ê¸¦ ±¸ÇöÇÏ´Â ¹æ¹ý°ú ÀνºÅϽº¾øÀÌ ±¸ÇöÇÏ´Â ¹æ¹ýµîÀ» ¾Ë¾Æº¸°í, À̺¥Æ® Çڵ鷯ÀÇ ¿ì¼±¼øÀǸ¦ °øºÎÇÕ´Ï´Ù. ±×¸®°í ¿ÜºÎ º¯¼ö¿¡ Á¢±ÙÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº¾´Ï´Ù.
Ã¥°¥ÇÇ[02:07] View/[04:16] IF¹®/[09:14] ÀÓÀÇÀÇ ÀÎÅÍÆäÀ̽º ±¸Çö/[11:11] Á¢±ÙÁ¦ÇÑÀÚ/[19:13] º¯¼ö¼±¾ð¹®/[23:17] setcontentview/[27:25] Çڵ鷯ÀÇ ¿ì¼±¼øÀ§/[34:07] À̺¥Æ® ¸®½º³Ê/[37:08] ¾×ƼºñƼÀÇ Äݹé¸Þ¼Òµå·Î ó¸®/[38:14] ¿ÜºÎº¯¼ö¿¡ Á¢±ÙÇÏ´Â ¹æ¹ý/[42:06] ±×·¡ÇÈÄà ·¹À̾ƿô/[49:11] ÅÍÄ¡ À̺¥Æ® Çڵ鷯 -
53.57ºÐ À̺¥Æ®ÀÇ Á¾·ù-ÅÍÄ¡ µ¿ÀÛ°ú Űº¸µå µ¿ÀÛ
ACTION_DOWN, MOVE, UPµîÀÇ ÅÍÄ¡ µ¿ÀÛ°ú Űº¸µå µ¿ÀÛ¿¡ ´ëÇØ ¾Ë¾Æº¸°í ÀÌ À̺¥Æ®¸¦ »ç¿ëÇÏ´Â ¿¹Á¦¸¦ ¸¸µé¾îº¾´Ï´Ù.
Ã¥°¥ÇÇ[04:06] Á¡µé ÀúÀåÇϱâ À§ÇÑ Å¬·¡½º ¸¸µé±â/[09:53] protected class ¼±¾ð/[12:04] setColor, setStrokeWidth, setAntiAlias/[17:06] if¸¦ »ç¿ëÇØ ¾×¼Ç ÁöÁ¤/[25:34] if¹®À¸·Î Á¶°Ç ¸¸µé±â/[29:25] invalidate·Î ¹«È¿È/[36:20] º¯¼ö ¸¸µé±â/[39:53] ¿ø ±×¸®±â/[42:47] setFocusableInTouchMode/[46:41] if¹®À¸·Î Á¶°Ç Ãß°¡/[47:41] Űº¸µå µ¿ÀÛ ¼³Á¤/[55:34] »ö»ó º¯ÈÇÏ´Â ¹öư ¼öÁ¤ -
54.55ºÐ ¹öư À̺¥Æ® ó¸®¿Í Áߺ¹Ã³¸®, Æ÷Ä¿½º, ŸÀ̸Ó
¹öư¿¡ ´ëÇÑ À̺¥Æ®¸¦ ó¸®ÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº¸°í, Áߺ¹µÈ ºÎºÐÀÇ Ã³¸® ³»¿ë°ú Æ÷Ä¿½º »óÅÂ, ±×¸®°í ŸÀÌ¸Ó À̺¥Æ®¿¡ ´ëÇØ °øºÎÇÕ´Ï´Ù.
Ã¥°¥ÇÇ[00:19] ¹öưÀÇ À̺¥Æ®Ã³¸®/[04:34] LinearLayout Ãß°¡/[09:35] ù¹øÂ° ¹öư ã±â/[13:14] TextView ã±â/[17:16] ÄÚµåÀÇ Áߺ¹¿¡ °üÇÑ À¯ÀÇÇÒ Á¡/[19:40] À̺¥Æ® ¸®½º³Ê ¸¸µé±â/[23:58] À̺¥Æ® ó¸® ¼³Á¤/[26:41] Áߺ¹µÇ´Â ºÎºÐ ó¸®Çϱâ/[30:51] Æ÷Ä¿½º/[37:15] ŸÀ̸Ó/[43:20] ŸÀÌ¸Ó Ã³¸®ÇÏ´Â ³»¿ë ¸¸µé±â/[45:55] Áõ°¡ÇÏ´Â ½Ã°£ ´ÜÀ§ ¼³Á¤/[52:23] Á¶°Ç Ãß°¡ -
55.47ºÐ CountDownTime, ¸Þ´º
CountDownTime Ŭ·¡½º¸¦ »ç¿ëÇÏ¿© °£ÆíÇÏ°Ô Å¸À̸Ӹ¦ ¸¸µé°í ¹öưÀ» Ãß°¡ÇÏ¿© ÁßÁöÇÒ¼ö ÀÖµµ·Ï ¸¸µé¾îº¾´Ï´Ù. ±×¸®°í ¸Þ´ºÀÇ Á¾·ù¸¦ ¾Ë¾Æº¸°í °¢°¢ÀÇ ¸Þ´º¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ» °øºÎÇÕ´Ï´Ù.
Ã¥°¥ÇÇ[00:54] Ä«¿îÆ®´Ù¿î ŸÀÌ¸Ó ¸¸µé±â/[02:57] Ä«¿îÆ® º¯¼ö ¸¸µé±â/[07:18] Ä«¿îÆ®º¯¼ö¿¡ ´ëÇØ Áõ°¡ÇÏ°Ô ¸¸µé±â/[15:01] ¸Þ´ºÀÇ Á¾·ù/[20:02] ¸Þ¼Òµå »ó¼Ó/[28:51] Å佺Ʈ ¶ß°Ô ¸¸µé±â/[38:01] ¾ÆÀÌÄÜ Ãß°¡/[41:33] TextView »ý¼º -
56.52ºÐ üũ ¸Þ´º, ÄÁÅØ½ºÆ® ¸Þ´º Part1
ÀϹÝÀûÀΠüũ ¸Þ´º¿Í ¿É¼Ç ¹öưÀÌ Àִ üũ ¸Þ´º¿¡ ´ëÇØ °øºÎÇÏ°í °¢°¢À» »ç¿ëÇÏ´Â ¿¹Á¦¸¦ ¸¸µé¾îº¾´Ï´Ù. ±×¸®°í ÄÁÅØ½ºÆ® ¸Þ´º¿¡ ´ëÇØ ¾Ë¾Æº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:17] üũ ¸Þ´º/[03:58] üũ ¸Þ´º ¸¸µé±â/[05:45] ¸Þ´º Ãß°¡/[08:56] ±×·ì¿¡ ¾ÆÀÌÅÛ Ãß°¡/[15:26] ¹öư ÇÒ´çÇϱâ/[22:25] üũ¸Þ´º °¡Á®¿À±â/[31:52] switch case/[41:15] ÄÁÅØ½ºÆ® ¸Þ´º/[45:06] À§Á¬ Ãß°¡/[50:07] mEdt¿¡ EditText¿¡ ´ëÇÑ ³»¿ë ÇÒ´ç -
57.52ºÐ ÄÁÅØ½ºÆ® ¸Þ´º Part2, ¸®¼Ò½º¿Í ½ºÅ¸ÀÏ
ÄÁÅØ½ºÆ® ¸Þ´º¸¦ ´õ ¾Ë¾Æº¸°í, ¸®¼Ò½º¿Í ´ëü ¸®¼Ò½º, ±×¸®°í ½ºÅ¸ÀÏ »ý¼º°ú Àû¿ë¹ý¿¡ ´ëÇØ¼ °øºÎÇÕ´Ï´Ù.
Ã¥°¥ÇÇ[00:44] ÄÁÅØ½ºÆ® ¸Þ´º ºÙÀ̱â/[01:03] OnCreateContextMenu »ý¼º/[03:53] SetHeaderTitle/[09:24] switch case¹® ÀÛ¼º/[15:16] ÄÁÅØ½ºÆ® ¸Þ´º È®ÀÎ/[20:03] assets°ú res ÆÄÀÏÀÇ Â÷ÀÌÁ¡/[26:11] xml ÄÚµå·Î º¸±â/[30:48] Àû¿ëÇÒ¼ö ÀÖ´Â ÅØ½ºÆ®ºä °¡Á®¿À±â/[35:00] SettextColor, SettextSize/[40:30] ½ºÅ¸ÀÏ ÁöÁ¤/[46:52] ·¹À̾ƿô¿¡ Àû¿ë -
58.1½Ã°£ 2ºÐ ´ëü ¸®¼Ò½º¿Í ÅØ½ºÆ®ºä
´ëü ¸®¼Ò½º¸¦ ¸¸µå´Â ¹æ¹ýÀ» ¾Ë¾Æº¸°í ¿ÀÅ丵ũ, ½¦µµ¿ì, ÅØ½ºÆ® ²Ù¹Ì±â µî ÅØ½ºÆ®ºäÀÇ ¼Ó¼ºÀ» ÀÚ¼¼È÷ ¾Ë¾Æº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:11] ´ëü ¸®¼Ò½º ȯ°æ/[00:35] È¸é¹æÇâ, ¾ð¾î/[08:33] buttonÃß°¡/[10:48] ÅØ½ºÆ® ºä/[13:31] ½ºÅ©·Ñ ³ªÅ¸³ªµµ·Ï ÀÛ¾÷/[16:14] width, height, text °ª ÁöÁ¤/[21:37] °ªÀ» Á¦ÇÑÇÏ´Â ¹æ¹ý/[23:26] integer, signed, decimal/[30:56] digitsts, numeric/[31:26] Ä¿¼¿Í Æ÷Ä¿½º/[33:50] Ä¿¼ ¼³Á¤/[40:52] ¿ÀÅ丵ũ/[46:15] ±ÛÀÚ Àå½Ä-±×¸²ÀÚ È¿°ú/[51:15] ±ÛÀÚÀÇ ÀåÆò ¼³Á¤/[58:14] ÁÙ ¼ö ÁöÁ¤Çϱâ
-
¾Èµå·ÎÀ̵å NDK¾Èµå·ÎÀ̵å NDK Àΰ Æò»ý±³À°¿ø ±³À° ¾È³» ¾Èµå·ÎÀ̵å NDK´Â Native Development KitÀÇ ¾àÀÚ·Î ÀÚ¹Ù ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î ÀÛ¼ºµÈ ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ǿ¡¼ »ç¿ëÀÌ °¡´ÉÇÑ °³¹ß Åø üÀÎÀÔ´Ï´Ù. ¾ËÁö¿À ¾Èµå·ÎÀ̵å NDK °Á¸¦ ÅëÇØ NDK °³¹ß ȯ°æ ±¸ÃàÀ» ½ÃÀÛÀ¸·Î JNI¸¦ ÀÌ¿ëÇÑ ÀÚ¹Ù¿Í C ÀÎÅÍÆäÀ̽º, ³×ÀÌÆ¼ºê Äڵ忡¼ ÀÚ¹Ù Äݹé È£Ãâ, OpenGL ES¸¦ ÀÌ¿ëÇÑ ±×·¡ÇÈ ·£´õ¸µ, ÀÔ·Â ±â±â ó¸®, ±âÁ¸ ¶óÀ̺귯¸® Æ÷ÆÃ, ¹°¸® ½Ã¹Ä·¹À̼Ç, 3D ±×·¡ÇÈ ·£´õ¸µ, ¸ÖƼ¹Ìµð¾î Àç»ý µîÀ» ¹è¿ï ¼ö ÀÖ½À´Ï´Ù.ÇнÀ±â°£ : 2°³¿ù/°ÀǼö : 20°/ÁøÇà½Ã°£ : 15½Ã°£ 34ºÐ/¼ö°·á :
370,000¿ø225,000¿ø -
Æù°¸Æù°¸ Àΰ Æò»ý±³À°¿ø ±³À° ¾È³» °¢ ±â±â ȯ°æ¿¡ ¸Â´Â ¾Û°³¹ßÀ» À§Çؼ´Â °³¹ßȯ°æÀÌ ±¸ÃàÀÌ µÇ¾îÀÖ¾î¾ß ÇÕ´Ï´Ù. ¾Èµå·ÎÀ̵å ȯ°æÀ» ±âÁØÀ¸·Î ÁøÇàµÇ¸ç ¸¹Àº ¸ð¹ÙÀÏ Ç÷§ÆûµéÀÌ Àֱ⠶§¹®¿¡ Ç÷§Æûº°·Î °³¹ßµÇ±âº¸´Ù´Â °øÅëÀ¸·Î Àû¿ëÇÒ ¼ö ÀÖ´Â ¼Ò½º¸¦ ´Ù¾çÇÑ Ç÷§Æû¿¡ Àû¿ë ½Ãų ¼ö ÀÖµµ·Ï ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀÇ ±â´É°ú ±¸Çö¿¡ ´ëÇØ¼ ½Ç¹«Á¦ÀÛÀ» ¿øÇÏ´Â ºÐµéÀÌ ÀÌ¿ëÇϸé ÁÁ½À´Ï´Ù.ÇнÀ±â°£ : 2°³¿ù/°ÀǼö : 20°/ÁøÇà½Ã°£ : 8½Ã°£ 53ºÐ/¼ö°·á :
200,000¿ø125,000¿ø -
¾Û Àκ¥ÅÍ2 [ÀÔ¹®+½Ç¹«]¾Û Àκ¥ÅÍ2 Àΰ Æò»ý±³À°¿ø ±³À° ¾È³» APP INVENTOR(¾Û Àκ¥ÅÍ)´Â ¾Èµå·ÎÀ̵åÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÏ´Â Åø(µµ±¸)·Î º¹ÀâÇÑ Java ¾ð¾î°¡ ¾Æ´Ñ Á¤ÇØÁ®ÀÖ´Â ºí·ÏÀ» ¸¶¿ì½º·Î ²ø¾î´Ù »ç¿ëÇϱ⠶§¹®¿¡ ½±°Ô ¾ÛÀκ¥ÅÍ ¸¦ ÀÌ¿ëÇÑ ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ ¿¡¹Ä·¹ÀÌÅ͸¦ ÅëÇØ ¾ÛÀÇ µ¿ÀÛ°ú ¸ð½ÀÀ» È®ÀÎÇÒ ¼ö Àִµ¥ ¾ÛÀκ¥ÅÍ ¸¦ ÀÌ¿ëÇÑ ¾ÛÀ» Å×½ºÆ®ÇÏ°í ½ÇÇàÇÏ´Â Ãø¸é¿¡¼ ½º¸¶Æ®ÆùÀ» ´ëüÇÏ´Â ÈǸ¢ÇÑ ¼ö´ÜÀÌ µË´Ï´Ù. ¾ËÁö¿À ¾ÛÀκ¥ÅÍ2 ±âÃʺÎÅÍ °ÀÇ´Â ´Ù¾çÇÑ ½Ç½ÀÀ» ÅëÇØ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß, GUI, ¸ÖƼ¹Ìµð¾î, ´Ù¾çÇÑ ÇüÅÂÀÇ ºí·Ï ±×·ìÀ» ¹è¿ì¸ç, °è»ê±â, ¼ýÀÚ ¾ß±¸ °ÔÀÓ, ¿µ´Ü¾î ÇнÀ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀÇ ÁøÇàÀ» ÅëÇØ ¾ÛÀκ¥Å͸¦ ¿Ïº®È÷ ¸¶½ºÅÍÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.ÇнÀ±â°£ : 2°³¿ù/°ÀǼö : 24°/ÁøÇà½Ã°£ : 16½Ã°£ 54ºÐ/¼ö°·á :
300,000¿ø185,000¿ø