Android¥¢¥×¥ê¤ò³«È¯¤¹¤ë¤¿¤á¤Î´ðÁäò¤Þ¤È¤á¤Æ¤¢¤ê¤Þ¤¹¡£

³µÍ×

¥¢¥×¥ê¤Î½èÍý¤òÂ礭¤¯Ê¬Îह¤ë¤È
  • ÉÁ²è½èÍý
  • UI(¥æ¡¼¥¶¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹)¤Ê¤É¤Î¥¤¥Ù¥ó¥È½èÍý
  • ¥Ç¡¼¥¿½èÍý(¥Ç¡¼¥¿¤ÎÆɤ߽ñ¤­¡¢±é»»)
¤¬¤¢¤ê¤Þ¤¹¡£

¤³¤ì¤é¤Î½èÍý¤òÂÚ¤ê¤Ê¤¯Æ°¤«¤¹¤³¤È¤ä¡¢½èÍý¾å´Ø·¸¤Î¤¢¤ëÉôʬ¤Ë¤Ä¤¤¤Æ
Ʊ´ü¤ò¤È¤ë¤³¤È¤¬É¬ÍפȤʤê¤Þ¤¹¡£

Î㤨¤Ð¡¢¼¡¤Î¤è¤¦¤Ê¥±¡¼¥¹¤¬¹Í¤¨¤é¤ì¤Þ¤¹¡£
  • UI¤ÎÁàºî¤Ë±þ¤¸¤Æ²èÌÌÉôÉʤÎɽ¼¨¤ò¹¹¿·¤¹¤ë
  • ¥Ç¡¼¥¿¤òÆɤ߹þ¤ó¤Ç²èÌÌɽ¼¨¤ò¹Ô¤¦
  • »þ´Ö¤Î¤«¤«¤ë½èÍý¤òUI½èÍý¤ÈÊ¿¹Ô¤·¤Æ¹Ô¤¦

Android¥¢¥×¥ê¤Ï¡¢¡ÖUI¤Ê¤É¤Î¥¤¥Ù¥ó¥È½èÍý¡×¤È¡ÖÉÁ²è¡×¤ò£±¤Ä¤Î¥á¥¤¥ó¥¹¥ì¥Ã¥É¤Ç½èÍý¤·¤Þ¤¹¡£
¤¿¤À¤·£±¤Ä¤Î¥á¥¤¥ó¥¹¥ì¥Ã¥É¤Ç½èÍý¤¹¤ë¾ì¹ç¡¢¼¡¤Î¤è¤¦¤ÊÌäÂ꤬ȯÀ¸¤·¤Þ¤¹¡£
  • a)£±¥ö½ê¤Ç¤â»þ´Ö¤¬¤«¤«¤ë½èÍý¤¬Æþ¤ë¤È¡¢Á´ÂΤÎÆ°¤­¤¬¤È¤Þ¤Ã¤Æ¤·¤Þ¤¦
  • b)¥á¥¤¥ó¥¹¥ì¥Ã¥É°Ê³°¤Î¥¹¥ì¥Ã¥É¤«¤é¤ÎÉÁ²èÊýË¡¤¬É¬Íפˤʤë
a)£±¥ö½ê¤Ç¤â»þ´Ö¤¬¤«¤«¤ë½èÍý¤¬Æþ¤ë¤È¡¢Á´ÂΤÎÆ°¤­¤¬¤È¤Þ¤Ã¤Æ¤·¤Þ¤¦
  • UIÉôÉʤ´¤È¤Î¥¤¥Ù¥ó¥È½èÍý¤Ï¡¢£µÉðÊÆâ
    • £µÉäò±Û¤¨¤ë¤È¡¢¥¨¥é¡¼¥À¥¤¥¢¥í¥°¤¬É½¼¨¤µ¤ì¤ë
b)¥á¥¤¥ó¥¹¥ì¥Ã¥É°Ê³°¤Î¥¹¥ì¥Ã¥É¤«¤é¤ÎÉÁ²èÊýË¡¤¬É¬Íפˤʤë
  • ÊÌ¥¹¥ì¥Ã¥É¤«¤éÉÁ²è½èÍý¤ò¼Â¹Ô¤¹¤ë¤È¥¨¥é¡¼¤¬È¯À¸
    • ¥á¥¤¥ó¥¹¥ì¥Ã¥É¤òÄ̤¸¤Æ½èÍý¤¹¤ëɬÍפ¬¤¢¤ë
  • ¥¹¥ì¥Ã¥É´Ö¤Î¥á¥Ã¥»¡¼¥¸Á÷¿®¤ò¹Ô¤¦»ÅÁȤߤÎÍý²ò
    • android.os¥Ñ¥Ã¥±¡¼¥¸¤ÎLooper¥¯¥é¥¹¡¢Handler¥¯¥é¥¹¡¢Message¥¯¥é¥¹¤ÎÍý²ò¤¬É¬Í×

AsyncTask¤ò»È¤¦

Android¤ÇÈóƱ´ü½èÍý¤ò¹Ô¤¦¤¿¤á¤Ë¤Ï¡¢¡ÖHandler¥¯¥é¥¹¡×¤Ê¤É¤ò»È¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¤¬
AsyncTask¤ò»È¤¨¤Ð¡¢¤½¤ì¤ò°Õ¼±¤¹¤ë¤³¤È¤Ê¤¯¡¢Íưפ˥Х寥°¥é¥¦¥ó¥É¤Ç½èÍý¤ò¹Ô¤¤
¤½¤Î·ë²Ì¤òUI¥¹¥ì¥Ã¥É¤Çɽ¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

¥Ñ¥é¥á¡¼¥¿

Params
½èÍý¤Î¼Â¹Ô¤¬³«»Ï¤µ¤ì¤ë»þ¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£doInBackground()¥á¥½¥Ã¥É¤Î°ú¿ô¤Ç¤¹¡£
Progress
¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É½èÍý¤Î¿ÊĽ¾õ¶·¤òɽ¼¨¤¹¤ë¤¿¤á¤ÎonProgressUpdate()¥á¥½¥Ã¥É¤Î°ú¿ô¤Ç¤¹¡£
Result
¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É½èÍý¤¬½ªÎ»¤·¤¿»þ¤Ë»ÈÍѤµ¤ì¤ëonPostExecute()¥á¥½¥Ã¥É¤Î°ú¿ô¤Ç¤¹¡£

£´¤Ä¤Î¥á¥½¥Ã¥É

AsyncTask¤Ï¡¢¼¡¤Î£´¤Ä¤Î¥á¥½¥Ã¥É¤ò½ç¤Ë»ÈÍѤ·¡¢¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
1.onPreExecute()
  • ¥×¥í¥°¥ì¥¹¥Ð¡¼¤Ê¤É¤ÎUIÉôÉʤνàÈ÷¤Ê¤É¤Ë»ÈÍÑ
2.doInBackground()
  • ¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼Â¹Ô¤µ¤ì¤ë¥á¥½¥Ã¥É
  • AsyncTask¤Îexecute()¥á¥½¥Ã¥É¤Î°ú¿ô¤Ï¡¢¤³¤Î¥á¥½¥Ã¥É¤ËÅϤµ¤ì¤ë
  • ¤³¤Î¥á¥½¥Ã¥É¤ÎÌá¤êÃͤ¬¡¢onPostExecute()¤ËÅϤµ¤ì¤ë
  • publishProgress()¥á¥½¥Ã¥É¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢onProgressUpdate()¤ò¼Â¹Ô
3.onProgressUpdate()
  • UI¥¹¥ì¥Ã¥É¤Ç¼Â¹Ô¤µ¤ì¤ë
  • ¥×¥í¥°¥ì¥¹¥Ð¡¼¤Ê¤É¤Ç¿ÊĽ¾õ¶·¤Î¹¹¿·¤ò¹Ô¤¦Åù¤ËÍøÍÑ
4.onPostExecute()
  • doInBackground()¤Î½èÍý¤¬½ªÎ»¤¹¤ë¤È¡¢UI¥¹¥ì¥Ã¥É¤Ç¼Â¹Ô¤µ¤ì¤ë
  • doInBackground()¤Î¼Â¹Ô·ë²Ì¤ò°ú¿ô¤È¤·¤Æ¼õ¤±¼è¤ë

¼Â¹Ô»þ¤ÎÃí°Õ

  • AsyncTask¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ï¡¢UI¥¹¥ì¥Ã¥É¤ÇÀ¸À®
  • AsyncTask¤Îexecute()¥á¥½¥Ã¥É¤Ï¡¢UI¥¹¥ì¥Ã¥É¤Ç¼Â¹Ô
  • onPreEcecute()¡¢onPostExecute()¡¢doInBackground()¡¢onProgressUpdate()¤ò¼êÆ°¤Ç¼Â¹Ô¤·¤Æ¤Ï¤¤¤±¤Ê¤¤
  • AsyncTask¤Ï£±²ó¤À¤±¼Â¹Ô²Äǽ
    • Ʊ°ì¥¤¥ó¥¹¥¿¥ó¥¹¤Ç£²²óÌܤò¼Â¹Ô¤¹¤ë¤ÈÎã³°¤¬È¯À¸

¥³¥á¥ó¥È¤ò¤«¤¯


¡Öhttp://¡×¤ò´Þ¤àÅê¹Æ¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

ÍøÍѵ¬Ìó¤ò¤´³Îǧ¤Î¤¦¤¨¤´µ­Æþ²¼¤µ¤¤

´ÉÍý¿Í/Éû´ÉÍý¿Í¤Î¤ßÊÔ½¸¤Ç¤­¤Þ¤¹