|
|
|
¾Èµå·ÎÀÌµå ºñµ¿±â ÇÁ·Î±×·¡¹Ö : ¸ÖƼÄÚ¾î ÇÁ·Î¼¼¼¸¦ ÀÌ¿ëÇÑ ¹ÝÀÀÇü ¾Û °³¹ß
|
|
|
acorn PACKT1
¤Ó ½ºÆ¼ºê ¸±¸®(Steve Liles), À̹®È£
¤Ó
¿¡ÀÌÄÜÃâÆÇ
¤Ó
Asynchronous Android
|
|
|
|
- Á¦ÈÞ¸ô ÁÖ¹® ½Ã °í°´º¸»ó, ÀϺΠÀ̺¥Æ® Âü¿© ¹× ÁõÁ¤Ç° ÁõÁ¤, ÇÏ·ç/´çÀÏ ¹è¼Û¿¡¼ Á¦¿ÜµÇ¹Ç·Î Âü°í ¹Ù¶ø´Ï´Ù.
-
-
-
[¾Èµå·ÎÀÌµå ºñµ¿±â ÇÁ·Î±×·¡¹Ö]Àº ¹ÝÀÀÇü ¾Û °³¹ßÀ» À§ÇÑ ¾Èµå·ÎÀÌµå ºñµ¿±â ÇÁ·Î±×·¡¹ÖÀÇ ÁÖ¿ä ±â¹ýÀ» ´Ù·ç¸ç, µ¿½Ã¼º À̽´ Á¦±âºÎÅÍ ½ÃÀÛÇØ AsyncTask·Î ¹ÝÀÀ¼º À¯Áö, Handler¸¦ ÀÌ¿ëÇÑ ÀÛ¾÷ ºÐ»ê, Loader¸¦ ÀÌ¿ëÇÑ ºñµ¿±â I/O, IntentService¸¦ ÀÌ¿ëÇÑ ¹é±×¶ó¿îµå ÀÛ¾÷ ¼öÇà, Service¸¦ ÀÌ¿ëÇØ ¿À·¡ °É¸®´Â ÀÛ¾÷ ½ÇÇà, AlarmManager¸¦ ÀÌ¿ëÇÑ ¾Ë¶÷ ½ºÄÉÁÙ¸µÀ¸·Î ³ª´² ¼³¸íÇÏ°í ÀÖ´Ù ÀÌ¿¡ º¸µíÀÌ ¸ÖƼ½º·¹µù ±â¼úÀ» Çâ»ó½ÃÅ°°Å³ª ¾Û ¼º´ÉÀ» °³¼±ÇÏ·Á´Â µ¶ÀÚ¿¡°Ô À¯¿ëÇÑ µµ¿òÀÌ µÉ °ÍÀÌ´Ù.
-
-
¡Ú ÀÌ Ã¥¿¡¼ ´Ù·ç´Â ³»¿ë ¡Ú
¡á ¾Èµå·ÎÀ̵å ÇÁ·Î¼¼½º ¸ðµ¨ÀÇ °³¿ä¿Í ¾ÖÇø®ÄÉÀ̼ǿ¡ ´ëÇÑ ¿µÇâ ÀÌÇØ
¡á ¾Èµå·ÎÀ̵å Ç÷§Æû¿¡¼ ¹«¸® ¾øÀÌ Àß µ¿ÀÛÇÏ´Â ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀÌ¼Ç ±¸ÃàÀ» À§ÇÑ ¸ÖƼ½º·¹µù È°¿ë¹ý
¡á °á°ú¸¦ ºü¸£°Ô Àü´ÞÇÏ°í »ç¿ëÀÚ ÀԷ¿¡ ´ëÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¹ÝÀÀÀ» À¯ÁöÇϱâ À§ÇÑ µ¿½Ã¼ºÀÇ Àû¿ë ¹× Á¦¾î
¡á ´õ ½±°í ´õ È¿À²ÀûÀÎ ºñµ¿±â ÇÁ·Î±×·¡¹ÖÀ» Áö¿øÇÏ´Â ¾Èµå·ÎÀ̵忡 Æ¯ÈµÈ »ý¼ºÀÚÀÇ ¹ß°ß
¡á ³ë·ÃÇÑ °³¹ßÀÚÁ¶Â÷ Àâ¾Æ³¾ ¼ö ¾ø´Â ÀϹÝÀûÀÎ À§ÇèÀÇ È¸ÇÇ
¡á ºÎµå·¯¿ì¸é¼ ¹ÝÀÀ¼º ÀÖ´Â ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÃàÇϱâ À§ÇÑ ¾Èµå·ÎÀÌµå µ¿½Ã¼º »ý¼ºÀÚÀÇ Àû¿ë ¹æ¹ý, Àû¿ë ÀÌÀ¯, Àû¿ë ½ÃÁ¡ µî ÇнÀ
¡Ú ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ ¡Ú
ÀÌ Ã¥Àº ¾Èµå·ÎÀ̵åÀÇ ±âº»À» ¼÷´ÞÇÏ°í ³ª¼ ¾ÛÀÇ Ç°ÁúÀ» °³¼±ÇÏ·Á´Â, Áï °øÇÐ Ç°Áú Ãø¸é»Ó¸¸ ¾Æ´Ï¶ó ´ÙÀ½ Å« ´Ü°è·Î Â÷ÀÌÁ¡À» ¸¸µé¾î³» ÃÖÁ¾ »ç¿ëÀÚ°¡ ½ÇÁ¦·Î ÀÎÁöÇÒ ¼ö ÀÖ´Â °³¼±À» À̲ø Áغñ°¡ µÈ °³¹ßÀÚ¸¦ À§ÇÑ Ã¥ÀÌ´Ù.
µû¶ó¼ ÀÌ Ã¥Àº ÇÙ½ÉÀûÀÎ ¾Èµå·ÎÀÌµå °³¹ß¿¡ ´ëÇÑ ÇÕ¸®ÀûÀÎ ÀÌÇØ°¡ ÀÖ´Ù°í °¡Á¤ÇÑ´Ù. ¾Èµå·ÎÀÌµå ¾ÛÀ» ¸¸µç °æÇèÀÌ ÀÖ°í ¾×ƼºñƼ Ŭ·¡½º¿Í ¾×ƼºñƼ »ý¸íÁÖ±â, XML ·¹À̾ƿô ÆÄÀÏ, ¾Èµå·ÎÀÌµå ¸Å´ÏÆ佺Ʈ¿¡ Àͼ÷ÇÏ´Ù¸é ÀÌ Ã¥ÀÇ ³»¿ëÀ» ÀÌÇØÇÏ´Â µ¥ ¾Æ¹«·± ¹®Á¦°¡ ¾øÀ» °ÍÀÌ´Ù.
ÀÚ¹ÙÀÇ µ¿½Ã¼º¿¡ ´ëÇÑ ±âº» °³³ä°ú °í¼öÁØ »ý¼ºÀÚ¿¡ Ä£¼÷ÇÏ¸é ³»¿ëÀ» Á» ´õ ±íÀÌ ÀÌÇØÇÒ ¼ö ÀÖÁö¸¸, Çʼö Á¶°ÇÀº ¾Æ´Ï´Ù.
µ¿½Ã¼º°ú ºñµ¿±â ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ »çÀü °æÇèÀÌ ¾ø´Â ¾Èµå·ÎÀÌµå °³¹ßÀÚ¶ó¸é ¹Ý ÀÀÇü ¾ÛÀ» ±¸ÃàÇϱâ À§ÇÑ ¾Èµå·ÎÀÌµå »ý¼ºÀÚ¸¦ ¾ðÁ¦, ¾î¶»°Ô, ¿Ö Àû¿ëÇÏ´ÂÁö ¹è¿ï °ÍÀÌ´Ù.
¾Èµå·ÎÀ̵带 »õ·Î Á¢ÇÏ´Â ÀÚ¹Ù Àü¹®°¡µéÀº ¾Èµå·ÎÀÌµå °³¹ß ȯ°æ¿¡¼ ÀڽŵéÀÇ ±âÁ¸ Áö½ÄÀ» ÀûÀýÈ÷ È°¿ëÇÏ´Â ´É·ÂÀ» °®Ãß°Ô µÉ °ÍÀ̸ç, ¾Èµå·ÎÀ̵åÀÇ °í¼öÁØ µ¿½Ã ¼º »ý¼ºÀÚ¿Í °ü·ÃµÈ Àͼ÷ÇÑ ¹®Á¦¿¡ ´ëÇØ ¸íÄèÇÑ ÇØ°áÃ¥À» ãÀ» °ÍÀÌ´Ù.
¡Ú ÀÌ Ã¥ÀÇ ±¸¼º ¡Ú
1Àå, '¹ÝÀÀÇü ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀÌ¼Ç ±¸Ãà'¿¡¼´Â ¾Èµå·ÎÀ̵å ÇÁ·Î¼¼½º ¸ðµ¨°ú ½º·¹µå ¸ðµ¨¿¡ ´ëÇÑ °³·ÐÀ» Á¦°øÇϸç, ¾Èµå·ÎÀ̵忡 ÇÑÁ¤µÈ À̽´¸¦ ³íÀÇÇϱâ Àü¿¡ ÀϹÝÀû ÀÎ µ¿½Ã¼ºÀÇ ¸î¸î °úÁ¦¿Í ÀåÁ¡À» ±â¼úÇÑ´Ù.
2Àå, 'AsyncTask·Î ¹ÝÀÀ¼º À¯Áö'¿¡¼´Â ¾Èµå·ÎÀ̵åÀÇ ÀüÇüÀûÀÎ µ¿½Ã¼º ÇÁ·Î±×·¡¹ÖÀ» ´Ù ·é´Ù. AsyncTaskÀÇ ±âº»ÀûÀÎ ÀÛ¾÷ ¹æ¹ý°ú ¿Ã¹Ù¸¥ »ç¿ë¹ý, ³ë·ÃÇÑ °³¹ßÀÚ¸¦ °ï¶õÇÏ °Ô ÇÏ´Â ÀϹÝÀûÀÎ À§Çè ¿ä¼Ò¸¦ ÇÇÇÏ´Â ¹æ¹ý µîÀ» ¹è¿î´Ù.
3Àå, 'Handler¿Í HandlerThread¸¦ ÀÌ¿ëÇÑ ÀÛ¾÷ ºÐ»ê'¿¡¼´Â Handler, HandlerThread, LooperÀÇ ±âº» °³³ä°ú ÁÖÁ¦¿¡ °ü·ÃµÈ ¼¼ºÎ»çÇ×À» ´Ù·ç¸ç, ¸ÞÀÎ ½º·¹µå¿¡¼ÀÇ ÀÛ¾÷ ½ºÄÉÁÙ¸µ°ú Çù¾÷ÇÏ´Â ¹é±×¶ó¿îµå ½º·¹µå °£ÀÇ Á¶Á¤ ¹× Åë½Å¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¹æ¹ý À» º¸¿©ÁØ´Ù.
4Àå, 'Loader¸¦ ÀÌ¿ëÇÑ ºñµ¿±â I/0'¿¡¼´Â ·Î´õLoader ÇÁ·¹ÀÓ¿öÅ©¸¦ ¼Ò°³Çϸç, »ç¿ëÀÚ ÀÎ ÅÍÆäÀ̽ºÀÇ ¹ÝÀÀ¼ºÀ» À¯ÁöÇÏ°í ¹ö¹÷°Å¸²À¸·ÎºÎÅÍ ¹þ¾î³ª±â À§ÇØ ºñµ¿±âÀûÀ¸·Î µ¥ ÀÌÅ͸¦ ÀûÀçÇÏ´Â ÀÛ¾÷ÀÇ Á߿伺À» µûÁø´Ù.
5Àå, 'IntentService¸¦ ÀÌ¿ëÇÑ ÀÛ¾÷ Å¥ ±¸Çö'¿¡¼´Â ´ÜÀÏ ¾×ƼºñƼActivity »ý¸íÁֱ⠹üÀ§¿¡¼ ¹é±×¶ó¿îµå ÀÛ¾÷À» ¼öÇàÇÏ°í, »ç¿ëÀÚ°¡ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¶°³µÀ»Áö¶óµµ ÀÛ¾÷ÀÌ ¿Ï·á µÇ´Â °ÍÀ» º¸ÀåÇϱâ À§ÇÑ ¼ö´ÜÀ» Á¦°øÇÑ´Ù.
6Àå, 'Service¸¦ ÀÌ¿ëÇÑ ¿À·¡ °É¸®´Â ÀÛ¾÷ ½ÇÇà'¿¡¼´Â IntentService·Î ã¾Ò´ø ±â´ÉÀ» È®ÀåÇϸç, ¿À·¡ °É¸®´Â ¹é±×¶ó¿îµå ÀÛ¾÷¿¡ Àû¿ëÇÑ µ¿½Ã¼º ¼öÁØ Á¦¾î¸¦ Á¦°øÇÑ´Ù.
7Àå, 'AlarmManager¸¦ ÀÌ¿ëÇÑ ¾Ë¶÷ ½ºÄÉÁÙ¸µ'¿¡¼´Â ¹Ýº¹ ½ºÄÉÁÙ¿¡¼ ¸Õ ¹Ì·¡¿¡ ¿Ï·áÇÒ ÀÛ¾÷À» Á¤¸®ÇÒ ¼ö ÀÖ°Ô ÇÏ´Â ÅøŶÀ» °®Ãá´Ù. ÀÌ ÅøŶÀº »õ·Î¿î ³»¿ëÀ» »ç¿ëÀÚ¿¡°Ô ¾Ë¸®°í »õ·Î °íÄ£ µ¥ÀÌÅÍ·Î Áï½Ã ...½ÃÀÛÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸Ãà °¡´ÉÇÏ°Ô ÇÑ´Ù.
¡Ú ¿Å±äÀÌÀÇ ¸» ¡Ú
°« ÀÔ¹®ÇÑ °³¹ßÀÚµéÀº ½Ã°£ÀÌ Áö³ª¸é¼ ¼øÂ÷ÀûÀÎ ÇÁ·Î±×·¡¹Ö ¹æ½Ä¿¡ Á¡Â÷ Àͼ÷ÇØ Áø´Ù. ÇÏÁö¸¸ ¸ÖƼ½º·¹µå ÇÁ·Î±×·¡¹ÖÀº ¾î´À ÂÊÀ¸·Î È帧ÀÌ À̾îÁúÁö ¿¹»óÇϱⰡ ¾î·Æ°í ÄÚµùÀÌ º¹ÀâÇØÁö´Â µ¥´Ù°¡ µð¹ö±ëµµ ¸¸¸¸Ä¡ ¾Ê¾Æ Á¤½ÅÀûÀÎ ºÎ´ãÀÌ »ó´çÈ÷ Å©´Ù. µû¶ó¼ Ãʺ¸ °³¹ßÀÚµéÀº ¸ÖƼ½º·¹µå ÇÁ·Î±×·¡¹ÖÀ» ½ÃÀÛÇÏ´Â °ÍÀ» ÁÖÀúÇÒ ¼ö µµ ÀÖ´Ù. ÀÌ°ÍÀº ¾î¶°ÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼µµ ¸¶Âù°¡Áö¸ç, ¾Èµå·ÎÀÌµå °³¹ßµµ ¿¹ ¿Ü´Â ¾Æ´Ï´Ù. ÇÏÁö¸¸ ¿©±â¼ ºÐ¸íÈ÷ ¸»ÇÏ°í ½ÍÀº °ÍÀº ¿äÁò°ú °°Àº ¸ÖƼÄÚ¾î ½Ã´ë¿¡ ¸ÖƼ½º·¹µå ÇÁ·Î±×·¡¹ÖÀº ¾î·Æ´Ù°í Çؼ ¹«ÀÛÁ¤ ÇÇÇÒ ¼ö ÀÖ´Â Á¸Àç°¡ °áÄÚ ¾Æ´Ï¶ó ´Â »ç½ÇÀÌ´Ù. ¿ÀÈ÷·Á ¸ÖƼ½º·¹µå ÇÁ·Î±×·¡¹ÖÀº ºÎµå·´°Ô ¹ÝÀÀÇÏ´Â ¾Èµå·ÎÀÌµå ¾ÛÀ» ¸¸µé ¼ö ÀÖ°Ô Àû±ØÀûÀ¸·Î µ½´Â ÁÁÀº ¡®¿¬ÀΡ¯À̱⿡ ÀÏ´Ü Ä£ÇØÁ®º¸¸é ¾î¶³±î? ±×·¡¾ß ¸¸ ÇÁ·Î±×·¡¹Ö ½Ç·ÂÀÌ ´Ã¾î³ª°í ´õ ¸ÚÁø ¾ÛÀ» ¸¸µé ¼ö ÀÖÀ» °ÍÀÌ´Ù. »ç½Ç ¸ÖƼ½º·¹ µå¸¦ È°¿ëÇÏ´Â °ÍÀÌ ÀϹÝÈµÈ Áö±ÝÀÇ °³¹ß ¾÷°è¿¡¼´Â ¾Èµå·ÎÀ̵å¶ó´Â ÇÑÁ¤µÈ ÀÚ ¿øÀ» È°¿ëÇϸ鼵µ ¾ÈÁ¤ÀûÀÎ ¾ÛÀ» ¸¸µé¾î³»´Â °ÍÀÌ °ü°ÇÀÌ´Ù. ±×¸¸Å ¾Èµå·ÎÀ̵忡 Æ¯ÈµÈ ¸ÖƼ½º·¹µå ÇÁ·Î±×·¡¹ÖÀ» ºñ·ÔÇØ ¿©·¯ °¡Áö ±â¹ýÀ» ¾Ë¾ÆµÎ´Â °ÍÀÌ ÁÁ´Ù.
ÀÌ Ã¥Àº °£°áÇÑ ±¸¼ºÀ» ¹ÙÅÁÀ¸·Î AsyncTask, Executor, Handler, Loader, IntentService µî ºñµ¿±â ÇÁ·Î±×·¡¹ÖÀ» À§ÇÑ ÁÖ¿ä ±â¹ýÀ» ´Ù·é´Ù. »ç½Ç ÀÌ Ã¥ÀÇ Àú ÀÚ°¡ ÇÏ°í ½ÍÀº À̾߱â´Â ½º·¹µå¸¦ Áß½ÃÇ쵂 ¹é±×¶ó¿îµå ½º·¹µå¿¡¼ ÀÛ¾÷À» ¼öÇà ÇÏ´Â »ý¼ºÀÚ¸¦ °¡´ÉÇÑ ÇÑ È°¿ëÇÏÀÚ´Â °ÍÀ̸ç, ±×·¡¾ß¸¸ ¾ÈÁ¤ÀûÀÌ°í ¹ÝÀÀ¼º ÀÖ´Â ¾Û À» °³¹ßÇÒ ¼ö ÀÖ°í ¶ÇÇÑ ±× ¾ÛÀ» »ç¿ëÇÏ´Â »ç¶÷¿¡°Ô ÃÖ°íÀÇ Áñ°Å¿òÀ» ÁÙ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. ÀÌ¿Í °°Àº ÀúÀÚÀÇ Àǵµ´ë·Î µ¶ÀÚ°¡ ÀÌ Ã¥À» ÅëÇØ ¾Èµå·ÎÀÌµå ºñµ¿±â ÇÁ·Î±× ·¡¹ÖÀ» Á» ´õ ½±°Ô Á¢ÇÒ ¼ö ÀÖ±æ ¹Ù¶õ´Ù.
ÀÌ Ã¥ÀÇ ¿ø¼´Â 2013³â¿¡ Ãâ°£µÆ°í Áö¸é»óÀÇ Á¦¾àÀ¸·Î ÀÎÇØ ºñµ¿±â ÇÁ·Î±×·¡¹Ö ±â ¹ýÀ» ¸Å¿ì ±íÀÌ ´Ù·çÁö´Â ¾ÊÀ¸¹Ç·Î, ÀÚ¼¼ÇÑ ³»¿ëÀ» ´õ º¸°í ½Í´Ù¸é °ü·Ã ³»¿ëÀ» ´Ù·é Ã¥ÀÎ ¡ºAsynchronous Android Programming¡»(ÆÑÆ®ÃâÆÇ»ç, 2016), ¡ºEfficient Android Threading¡»(¿À¶óÀϸ®, 2014)À» Âü°íÇÏ±æ ¹Ù¶õ´Ù.
-
-
1Àå. ¹ÝÀÀÇü ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀÌ¼Ç ±¸Ãà
´Þºò °¡»ó ¸Ó½Å ¼Ò°³
__¸Þ¸ð¸® °øÀ¯¿Í ÀÚÀÌ°íÆ®
¾Èµå·ÎÀÌµå ½º·¹µå ¸ðµ¨ÀÇ ÀÌ
__¸ÞÀÎ ½º·¹µå
__¹ÝÀÀÇÏÁö ¾Ê´Â ¾Û°ú ANR ´ëÈ»óÀÚ
__¹ÝÀÀ¼º À¯Áö
__¾Èµå·ÎÀ̵忡¼ µ¿½Ã¼º
____µ¿½Ã¼º ÇÁ·Î±×·¥¿¡¼ Á¤È®¼º À̽´
____µ¿½Ã¼º ÇÁ·Î±×·¥¿¡¼ È°µ¿¼º À̽´
____¾Èµå·ÎÀ̵å ƯÁ¤ µ¿½Ã¼º À̽´
__¾Èµå·ÎÀ̵å ƯÁ¤ µ¿½Ã¼º »ý¼ºÀÚ
¿ä¾à
2Àå. AsyncTask·Î ¹ÝÀÀ¼º À¯Áö
AsyncTask ¼Ò°³
AsyncTask ŸÀÔ ¼±¾ð
AsyncTask ½ÇÇà
»ç¿ëÀÚ¿¡°Ô Çǵå¹é Á¦°ø
__ÁøÇà °»½Å Á¦°ø
AsyncTask Ãë¼Ò
¿¹¿Ü ó¸®
µ¿½Ã¼º ¼öÁØ Á¦¾î
ÈçÇÑ AsyncTask À̽´
__´ÜÆíÈ À̽´
__¾×ƼºñƼ »ý¸íÁÖ±â À̽´
____À̸¥ Ãë¼Ò·Î ÀÎÇÑ »ý¸íÁÖ±â ó¸®
____À¯ÁöµÈ Çìµå¸®½º ÇÁ·¡±×¸ÕÆ®¸¦ ÀÌ¿ëÇÑ »ý¸íÁÖ±â ó¸®
AsyncTask ÀÀ¿ë
¿ä¾à
3Àå. Handler¿Í HandlerThread¸¦ ÀÌ¿ëÇÑ ÀÛ¾÷ ºÐ»ê
·çÆÛÀÇ ÀÌÇØ
Çڵ鷯¸¦ ÀÌ¿ëÇÑ ¹ÝÀÀÇü ¾Û ±¸Ãà
__post¸¦ ÀÌ¿ëÇÑ ÀÛ¾÷ ½ºÄÉÁÙ¸µ
____±â´Ù¸®´Â Runnable Ãë¼Ò
__send¸¦ ÀÌ¿ëÇÑ ÀÛ¾÷ ½ºÄÉÁÙ¸µ
____±â´Ù¸®´Â ¸Þ½ÃÁö Ãë¼Ò
____Á¶ÇÕ ´ë »ó¼Ó
____¸ÖƼ½º·¹µå ±â¹Ý ¿¹Á¦
__¸Þ½ÃÁö Àü¼Û ´ë Runnable °Ô½Ã
__HandlerThread¸¦ ÀÌ¿ëÇÑ ¹ÝÀÀÇü ¾Û ±¸Ãà
Çڵ鷯 ÇÁ·Î...±×·¡¹Ö À̽´
__¾Ï½ÃÀû ÂüÁ¶ ´©¼ö
__¸í½ÃÀû ÂüÁ¶ ´©¼ö
Çڵ鷯¿Í HandlerThread ÀÀ¿ë
¿ä¾à
4Àå. Loader¸¦ ÀÌ¿ëÇÑ ºñµ¿±â I/O
·Î´õ µµÀÔ
AsyncTaskLoader¸¦ ÀÌ¿ëÇÑ ¹ÝÀÀÇü ¾Û ±¸Ãà
CursorLoader¸¦ ÀÌ¿ëÇÑ ¹ÝÀÀÇü ¾Û ±¸Ãà
·Î´õ Á¶ÇÕ
·Î´õ ÀÀ¿ë
¿ä¾à
5Àå. IntentService¸¦ ÀÌ¿ëÇÑ ÀÛ¾÷ Å¥ ±¸Çö
¼ºñ½º¿Í IntentService µµÀÔ
IntentService¸¦ ÀÌ¿ëÇÑ ¹ÝÀÀÇü ¾Û ±¸Ãà
__°á°ú ó¸®
____PendingIntent¸¦ ÀÌ¿ëÇØ °á°ú ¹Ýȯ
____°á°ú¸¦ ½Ã½ºÅÛ ÅëÁö·Î »ç¿ë
IntentService ÀÀ¿ë
__IntentService¸¦ ÀÌ¿ëÇÑ HTTP ¾÷·Îµå
__ÁøÇà º¸°í
¿ä¾à
6Àå. Service¸¦ ÀÌ¿ëÇÑ ¿À·¡ °É¸®´Â ÀÛ¾÷ ½ÇÇà
¼ºñ½º¸¦ ÀÌ¿ëÇÑ ¹ÝÀÀÇü ¾Û ±¸Ãà
__Executor¸¦ ÀÌ¿ëÇÑ µ¿½Ã¼º Á¦¾î
__¸Þ½ÅÀú·Î °á°ú ¹Ýȯ
¼ºñ½º¸¦ ÀÌ¿ëÇÑ Åë½Å
__Áö¿ª ¼ºñ½º¸¦ ÀÌ¿ëÇÑ Á÷Á¢ Åë½Å
__ÀÎÅÙÆ®¸¦ ÀÌ¿ëÇÑ °á°ú ºê·Îµåij½ºÆÃ
__ó¸®ÇÏÁö ¸øÇÑ ºê·Îµåij½ºÆ® °¨Áö
¼ºñ½º ÀÀ¿ë
¿ä¾à
7Àå. AlarmManager¸¦ ÀÌ¿ëÇÑ ÀÛ¾÷ ½ºÄÉÁÙ¸µ
AlarmManager¸¦ ÀÌ¿ëÇÑ ¾Ë¶÷ ½ºÄÉÁÙ¸µ
__¾Ë¶÷ Ãë¼Ò
__¹Ýº¹ ¾Ë¶÷ ½ºÄÉÁÙ¸µ
¾Ë¶÷ ó¸®
__¾Ë¶÷À» ¾×ƼºñƼ¿Í ÇÔ²² ó¸®
__¾Ë¶÷À» BroadcastReceiver¿Í ÇÔ²² ó¸®
____BroadcastReceive¿Í ÇÔ²² ÀÛ¾÷Çϱâ
____goSync¸¦ ÀÌ¿ëÇØ ¹é±×¶ó¿îµå ÀÛ¾÷ ¼öÇà
__¾Ë¶÷À» ¼ºñ½º¿Í ÇÔ²² ó¸®
WakeLockÀ» ÀÌ¿ëÇØ °è¼Ó ±ú¾îÀÖ±â
AlarmManager ÀÀ¿ë
¿ä¾à
-
-
|
½ºÆ¼ºê ¸±¸®(Steve Liles) [Àú]
|
|
-
½º½º·Î¸¦ '±«Â¥'¶ó°í ÀÎÁ¤Çϸç, G1 ·±Äª ÀÌÈĺÎÅÍ ¾Èµå·ÎÀ̵å ÆÒÀÌ µÆ´Ù. ÃâÆÇ ½Ã½º ÅÛ°ú ´º½º ¹× ÀâÁö¿ë ¾ÛÀ» ±¸ÃàÇÏ´Â ÀÛ¾÷À» ÇÏÁö ¾ÊÀ» ¶§¿¡´Â ÀÚÀÛ ¾ÛÀ» ¾î¼³ÇÁ°Ô ¼Õº¸¸ç, ¶§·Î´Â 3D ÇÁ¸°ÅÍ·Î ¹«¾ð°¡¸¦ ¸¸µé°Å³ª RTS °ÔÀÓÀ» Áñ±â°ï ÇÑ´Ù. ÇöÀç´Â ¾Èµå·ÎÀ̵å¿Í iOS µð¹ÙÀ̽º¿¡¼ ÄÄÇ»ÅÍ ºñÀüÀ» »ç¿ëÇØ Àμâ¿Í µðÁöÅÐ ¼¼°è¸¦ ¿¬°á ÇÏ´Â ±¤°í ½Ã½ºÅÛ ±¸Ãà ½ºÅ¸Æ®¾÷¿¡¼ ±Ù¹«ÇÑ´Ù.
-
|
À̹®È£ [Àú]
|
|
-
°ü½É ºÐ¾ß´Â Á¤º¸ °Ë»öÀ̸ç, ¸ÅÀÏ 4½Ã°£ ÀÌ»ó °É¸®´Â ÃâÅð±Ù ½Ã°£¿¡ ´Ù¹æ¸éÀÇ ¿ø¼¸¦ Àд ½ò½òÇÑ Áñ°Å¿ò¿¡ ºüÁ® »ç´Â ¾Æ³¯·Î±× ¼¼´ë´Ù. ¿µ»ó󸮸¦ Àü°øÀ¸·Î ¼®»ç¸¦ ¸¶ÃÆ°í, ÇöÀç ¹®ÇåÁ¤º¸ÇÐ ¹Ú»ç °úÁ¤¿¡ ÀÖÀ¸¸ç, ÄÄÇ»ÅÍ ºñÀü ±â¹Ý IoT ¼Ö·ç¼Ç °³¹ß¿¡ Àü³äÇÏ°í ÀÖ´Ù. ¿ÀǼҽº ÀÚ¹Ù °Ë»ö ¿£ÁøÀÎ ·ç¾À(Lucene)¿¡ °üÇÑ Ã¹ ±¹³»¼ÀÎ [·ç¾À ÀÎ ¾×¼Ç](¿¡ÀÌÄÜ, 2005)À» °ø¿ªÇßÀ¸¸ç, ¿ÀǼҽº ¿µ»óó¸® ¶óÀ̺귯¸®¸¦ ´Ù·é ¿ÀǼҽº ¶óÀ̺귯¸® ½Ç¹« ½Ã¸®Áî µµ¼¸¦ Æì³½ ÀúÀڷεµ Àß ¾Ë·ÁÁ® ÀÖ´Ù. [MATLABÀ» È°¿ëÇÑ ½Ç¿ë µðÁöÅÐ ¿µ»óó¸®](È«¸ª°úÇÐ, 2005), [¿ÀǼҽº OpenCV¸¦ ÀÌ¿ëÇÑ ÄÄÇ»ÅÍ ºñÀü ½Ç¹« ÇÁ·Î±×·¡¹Ö](È«¸ª°úÇÐ, 2007) µî 7±ÇÀÇ Ã¥À» Àú¼úÇßÀ¸¸ç, ¹ø¿ª¼·Î´Â ¿¡ÀÌÄÜÃâÆǻ翡¼ Ãâ°£ÇÑ [OpenCV 2 Computer Vision Application Programming Cookbook Çѱ¹¾îÆÇ](2012), [(°³Á¤ÆÇ) OpenCV¸¦ È°¿ëÇÑ ÄÄÇ»ÅÍ ºñÀü ÇÁ·Î±×·¡¹Ö](2015), [matplotlibÀ» ÀÌ¿ëÇÑ µ¥ÀÌÅÍ ½Ã°¢È ÇÁ·Î±×·¡¹Ö](2015), [OpenCV ÄÄÇ»ÅÍ ºñÀü ÇÁ·ÎÁ§Æ®](2016), [¸ÅÆ®·¦ ¿µ»óó¸® ÇÁ·Î±×·¡¹Ö](2016), [¸ÅÆ®·¦ ¿µ»óó¸® ÇÁ·Î±×·¡¹Ö](2016), [¸ÅÆ®·¦ ±×·¡ÇÈ°ú µ¥ÀÌÅÍ ½Ã°¢È](2017)°¡ ÀÖ´Ù.
-
-
Àüü 0°³ÀÇ ±¸¸ÅÈıⰡ ÀÖ½À´Ï´Ù.
|
ÀÎÅÍÆÄÅ©µµ¼´Â °í°´´ÔÀÇ ´Ü¼ø º¯½É¿¡ ÀÇÇÑ ±³È¯°ú ¹ÝÇ°¿¡ µå´Â ºñ¿ëÀº °í°´´ÔÀÌ ÁöºÒÄÉ µË´Ï´Ù.
´Ü, »óÇ°À̳ª ¼ºñ½º ÀÚüÀÇ ÇÏÀÚ·Î ÀÎÇÑ ±³È¯ ¹× ¹ÝÇ°Àº ¹«·á·Î ¹ÝÇ° µË´Ï´Ù. |
|
±³È¯ ¹× ¹ÝÇ°ÀÌ °¡´ÉÇÑ °æ¿ì |
»óÇ°À» °ø±Þ ¹ÞÀº ³¯·ÎºÎÅÍ 7ÀÏÀ̳» °¡´É
°ø±Þ¹ÞÀ¸½Å »óÇ°ÀÇ ³»¿ëÀÌ Ç¥½Ã, ±¤°í ³»¿ë°ú ´Ù¸£°Å³ª ´Ù¸£°Ô ÀÌÇàµÈ °æ¿ì¿¡´Â °ø±Þ¹ÞÀº ³¯·ÎºÎÅÍ 3°³¿ù À̳», ȤÀº ±×»ç½ÇÀ» ¾Ë°Ô µÈ ³¯ ¶Ç´Â ¾Ë ¼ö ÀÖ¾ú´ø ³¯·ÎºÎÅÍ 30ÀÏ À̳»
»óÇ°¿¡ ¾Æ¹«·± ÇÏÀÚ°¡ ¾ø´Â °æ¿ì ¼ÒºñÀÚÀÇ °í°´º¯½É¿¡ ÀÇÇÑ ±³È¯Àº »óÇ°ÀÇ Æ÷Àå»óÅ µîÀÌ ÀüÇô ¼Õ»óµÇÁö ¾ÊÀº °æ¿ì¿¡ ÇÑÇÏ¿© °¡´É |
|
±³È¯ ¹× ¹ÝÇ°ÀÌ ºÒ°¡´ÉÇÑ °æ¿ì |
±¸¸ÅÈ®Á¤ ÀÌÈÄ(¿ÀǸ¶ÄÏ»óÇ°¿¡ ÇÑÇÔ)
°í°´´ÔÀÇ Ã¥ÀÓ ÀÖ´Â »çÀ¯·Î »óÇ° µîÀÌ ¸ê½Ç ¶Ç´Â ÈÑ¼ÕµÈ °æ¿ì
(´Ü, »óÇ°ÀÇ ³»¿ëÀ» È®ÀÎÇϱâ À§ÇÏ¿© Æ÷Àå µîÀ» ÈѼÕÇÑ °æ¿ì´Â Á¦¿Ü)
½Ã°£ÀÌ Áö³²¿¡ µû¶ó ÀçÆǸŰ¡ °ï¶õÇÒ Á¤µµ·Î ¹°Ç°ÀÇ °¡Ä¡°¡ ¶³¾îÁø °æ¿ì
Æ÷Àå °³ºÀµÇ¾î »óÇ° °¡Ä¡°¡ ÈÑ¼ÕµÈ °æ¿ì |
|
´Ù¹è¼ÛÁöÀÇ °æ¿ì ¹ÝÇ° ȯºÒ |
´Ù¹è¼ÛÁöÀÇ °æ¿ì ´Ù¸¥ Áö¿ªÀÇ ¹ÝÇ°À» µ¿½Ã¿¡ ÁøÇàÇÒ ¼ö ¾ø½À´Ï´Ù.
1°³ Áö¿ªÀÇ ¹ÝÇ°ÀÌ ¿Ï·áµÈ ÈÄ ´Ù¸¥ Áö¿ª ¹ÝÇ°À» ÁøÇàÇÒ ¼ö ÀÖÀ¸¹Ç·Î, ÀÌÁ¡ ¾çÇØÇØ Áֽñ⠹ٶø´Ï´Ù. |
|
Áß°í»óÇ°ÀÇ ±³È¯ |
Áß°í»óÇ°Àº Á¦ÇÑµÈ Àç°í ³»¿¡¼ ÆǸŰ¡ ÀÌ·ç¾îÁö¹Ç·Î, ±³È¯Àº ºÒ°¡´ÉÇÕ´Ï´Ù. |
|
¿ÀǸ¶ÄÏ »óÇ°ÀÇ È¯ºÒ |
¿ÀǸ¶ÄÏ»óÇ°¿¡ ´ëÇÑ Ã¥ÀÓÀº ¿øÄ¢ÀûÀ¸·Î ¾÷ü¿¡°Ô ÀÖÀ¸¹Ç·Î, ±³È¯/¹ÝÇ° Á¢¼ö½Ã ¹Ýµå½Ã ÆǸÅÀÚ¿Í ÇùÀÇ ÈÄ ¹ÝÇ° Á¢¼ö¸¦ ÇϼžßÇϸç, ¹ÝÇ°Á¢¼ö ¾øÀÌ ¹Ý¼ÛÇϰųª, ¿ìÆíÀ¸·Î º¸³¾ °æ¿ì »óÇ° È®ÀÎÀÌ ¾î·Á¿ö ȯºÒÀÌ ºÒ°¡´ÉÇÒ ¼ö ÀÖÀ¸´Ï À¯ÀÇÇϽñ⠹ٶø´Ï´Ù. |
|
|
|
¹è¼Û¿¹Á¤ÀÏ ¾È³» |
ÀÎÅÍÆÄÅ© µµ¼´Â ¸ðµç »óÇ°¿¡ ´ëÇØ ¹è¼Û¿Ï·á¿¹Á¤ÀÏÀ» À¥»çÀÌÆ®¿¡ Ç¥½ÃÇÏ°í ÀÖ½À´Ï´Ù.
|
<ÀÎÅÍÆÄÅ© Á÷¹è¼Û »óÇ°> |
»óÇ°Àº ¿ù~Åä¿äÀÏ ¿ÀÀü 10½Ã ÀÌÀü ÁÖ¹®ºÐ¿¡ ´ëÇÏ¿© ´çÀÏ Ãâ°í/´çÀÏ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÏ´Â »óÇ°ÀÔ´Ï´Ù. |
»óÇ°Àº ¼¿ïÁö¿ª/ÆòÀÏ ÁÖ¹®ºÐÀº ´çÀÏ Ãâ°í/ÀÍÀÏ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇϸç,
¼¿ï¿ÜÁö¿ª/ÆòÀÏ ÁÖ¹®ºÐÀÇ °æ¿ì´Â ¿ÀÈÄ 6½Ã±îÁö ÁÖ¹®ºÐ¿¡ ´ëÇÏ¿© ÀÍÀÏ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÏ´Â »óÇ°ÀÔ´Ï´Ù.
(´Ü, ¿ù¿äÀÏÀº 12½Ã±îÁö ÁÖ¹®¿¡ ÇÑÇÔ)
|
»óÇ°Àº, ÀÔ°í¿¹Á¤ÀÏ(Á¦Ç°Ãâ½ÃÀÏ)+Åùè»ç¹è¼ÛÀÏ(1ÀÏ)¿¡ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÕ´Ï´Ù. |
~
»óÇ°Àº À¯ÅëƯ¼º»ó ÀÎÅÍÆÄÅ©¿¡¼ Àç°í¸¦ º¸À¯ÇÏÁö ¾ÊÀº »óÇ°À¸·Î ÁÖ¹®ÀÏ+±âÁØÃâ°íÀÏ+Åùè»ç¹è¼ÛÀÏ(1ÀÏ)¿¡ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÕ´Ï´Ù.(Åä/°øÈÞÀÏÀº ¹è¼Û±â°£¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.)
¡Ø±âÁØÃâ°íÀÏ:ÀÎÅÍÆÄÅ©°¡ »óÇ°À» ¼ö±ÞÇÏ¿© ¹°·ùâ°í¿¡¼ Æ÷Àå/Ãâ°íÇϱâ±îÁö ¼Ò¿äµÇ´Â ½Ã°£
|
|
<¾÷ü Á÷Á¢¹è¼Û/¿ÀǸ¶ÄÏ »óÇ°> |
~
»óÇ°Àº ¾÷ü°¡ ÁÖ¹®À» È®ÀÎÇÏ°í, Ãâ°íÇϱâ±îÁö °É¸®´Â ½Ã°£ÀÔ´Ï´Ù. ÁÖ¹®ÀÏ+±âÁØÃâ°íÀÏ+Åùè»ç¹è¼ÛÀÏ(2ÀÏ)¿¡ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÕ´Ï´Ù.(Åä/°øÈÞÀÏÀº ¹è¼Û±â°£¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.)
¡Ø5ÀÏÀ̳» Ãâ°í°¡ ½ÃÀÛµÇÁö ¾ÊÀ»½Ã, ¿ÀǸ¶ÄÏ »óÇ°Àº ÀÚµ¿À¸·Î ÁÖ¹®ÀÌ Ãë¼ÒµÇ¸ç, °í°´´Ô²² Ç°Àýº¸»ó±ÝÀ» Áö±ÞÇØ µå¸³´Ï´Ù.
|
|
|
¹è¼Ûºñ ¾È³» |
µµ¼(Áß°íµµ¼ Æ÷ÇÔ)¸¸ ±¸¸ÅÇϽøé : ¹è¼Ûºñ 2,000¿ø (1¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û) À½¹Ý/DVD¸¸ ±¸¸ÅÇϽøé : ¹è¼Ûºñ 1,500¿ø (2¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
ÀâÁö/¸¸È/±âÇÁÆ®¸¸ ±¸¸ÅÇϽøé : ¹è¼Ûºñ 2,000¿ø (2¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
µµ¼¿Í À½¹Ý/DVD¸¦ ÇÔ²² ±¸¸ÅÇϽøé : ¹è¼Ûºñ 1,500¿ø 1¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
µµ¼¿Í ÀâÁö/¸¸È/±âÇÁÆ®/Áß°íÁ÷¹è¼Û»óÇ°À» ÇÔ²² ±¸¸ÅÇϽøé : 2,000¿ø (1¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
¾÷üÁ÷Á¢¹è¼Û»óÇ°À» ±¸¸Å½Ã : ¾÷üº°·Î »óÀÌÇÑ ¹è¼Ûºñ Àû¿ë
* ¼¼Æ®»óÇ°ÀÇ °æ¿ì ºÎºÐÃë¼Ò ½Ã Ãß°¡ ¹è¼Ûºñ°¡ ºÎ°úµÉ ¼ö ÀÖ½À´Ï´Ù.
* ºÏÄ«Æ®¿¡¼ ¹è¼Ûºñ¾ø¾Ö±â ¹öÆ°À» Ŭ¸¯Çϼż, µ¿ÀϾ÷ü»óÇ°À» Á¶±Ý ´õ ±¸¸ÅÇϽøé, ¹è¼Ûºñ¸¦ Àý¾àÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.
|
|
Çؿܹè¼Û ¾È³» |
ÀÎÅÍÆÄÅ©µµ¼¿¡¼´Â ±¹³»¿¡¼ ÁÖ¹®ÇϽðųª ÇØ¿Ü¿¡¼ ÁÖ¹®ÇÏ¿© ÇØ¿Ü·Î ¹è¼ÛÀ» ¿øÇÏ½Ç °æ¿ì DHL°ú Ư¾àÀ¸·Î Ã¥Á¤µÈ ¿ä±ÝÇ¥¿¡
ÀÇÇØ °³ÀÎÀÌ ÀÌ¿ëÇÏ´Â °æ¿ìº¸´Ù ¹è¼Û¿ä±ÝÀ» Å©°Ô ³·Ã߸ç DHL(www.dhl.co.kr)·Î Çؿܹè¼Û ¼ºñ½º¸¦ Á¦°øÇÕ´Ï´Ù.
Çؿܹè¼ÛÀº µµ¼/CD/DVD »óÇ°¿¡ ÇÑÇØ ¼ºñ½ºÇÏ°í ÀÖÀ¸¸ç, ´Ù¸¥ »óÇ°À» ºÏÄ«Æ®¿¡ ÇÔ²² ´ãÀ¸½Ç °æ¿ì Çؿܹè¼ÛÀÌ ºÒ°¡ÇÕ´Ï´Ù.
ÇØ¿ÜÁÖ¹®¹è¼Û ¼ºñ½º´Â ÀÎÅÍÆÄÅ© µµ¼ ȸ¿ø °¡ÀÔÀ» Çϼž߸¸ ½Åû °¡´ÉÇÕ´Ï´Ù. |
|
¾Ë¾ÆµÎ¼¼¿ä!!! |
µµ¸Å»ó ¹× Á¦ÀÛ»ç »çÁ¤¿¡ µû¶ó Ç°Àý/ÀýÆÇ µîÀÇ »çÀ¯·Î Ãë¼ÒµÉ ¼ö ÀÖ½À´Ï´Ù.
¿ÀǸ¶ÄϾ÷üÀÇ ¹è¼ÛÁö¿¬½Ã ÁÖ¹®ÀÌ ÀÚµ¿À¸·Î Ãë¼ÒµÉ ¼ö ÀÖ½À´Ï´Ù.
Ãâ°í°¡´É ½Ã°£ÀÌ ¼·Î ´Ù¸¥ »óÇ°À» ÇÔ²² ÁÖ¹®ÇÒ °æ¿ì Ãâ°í°¡´É ½Ã°£ÀÌ °¡Àå ±ä ±âÁØÀ¸·Î ¹è¼ÛµË´Ï´Ù.
À¯ÅëÀÇ Æ¯¼º»ó Ãâ°í±â°£Àº ¿¹Á¤º¸´Ù ¾Õ´ç°ÜÁö°Å³ª ´ÊÃçÁú ¼ö ÀÖ½À´Ï´Ù.
Åùè»ç ¹è¼ÛÀÏÀÎ ¼¿ï ¹× ¼öµµ±ÇÀº 1~2ÀÏ, Áö¹æÀº 2~3ÀÏ, µµ¼, »ê°£, ±ººÎ´ë´Â 3ÀÏ ÀÌ»óÀÇ ½Ã°£ÀÌ ¼Ò¿äµË´Ï´Ù. |
|
|
|
|