Android Notepad Tutorial ÇÑ±Û ¹®¼­[Àڹٸ𵨸µ]

¿µ¹®À¸·Î µÇ¾î ÀÖ´Â Android ÀÇ Notepad Tutorial À» ÇÑ±Û ¹®¼­·Î º¯È¯ÇÏ¿© °³¹ßÀÚµéÀÌ ¼Õ½±°Ô Android Application À» ÀÛ¼ºÇϴµ¥ ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï ÀÛ¼ºÇÑ´Ù.
¿µ¹®À¸·Î µÈ ³»¿ëÀ» ±â¹ÝÀ¸·Î ´Ü°èº°·Î ÀÛ¼ºÀ» ÇØ ³ª°¥°ÍÀÌ´Ù.

0. Preparing for the Exercise

ÀÌ Notepad ¸¦ ÀÛ¼ºÇϱâ À§Çؼ­ Eclipse ¸¦ »ç¿ëÇÒ °ÍÀ̸ç, ±âº»ÀûÀ¸·Î Android ¸¦ °³¹ßÇϱâ À§ÇÑ È¯°æ¼³Á¤ÀÌ µÇ¾î ÀÖ´Ù´Â °¡Á¤ÇÏ¿¡ ÀÌ ¿¹Á¦¸¦ ÀÛ¼ºÇÑ´Ù.

ÀÌ Notepad ¸¦ À§Çؼ­ ±âº»ÀûÀÎ ¼³Á¤ÆÄÀÏ°ú Ŭ·¡½º¸¦ Á¦°øÇÏ°í ÀÖ´Ù. ¾Æ·¡ÀÇ ÀýÂ÷´ë·Î ÁøÇàÇÏ¸é µÈ´Ù.

  • ¾ÐÃàµÈ ÆÄÀÏ(zip)À» ´Ù¿î·Îµå ÇÑ´Ù. Project exercises archive(.zip)
  • ´Ù¿î·ÎµåÇÑ ÆÄÀÏÀ» ÀûÀýÇÑ µð·ºÅ丮¿¡ ¾ÐÃàÀ» Ǭ´Ù.
  • NotepadCodeLab µð·ºÅ丮¸¦ »ìÆ캻´Ù.

3. Notepad Exercise 3

À̹ø ¹®¼­¿¡¼­´Â ¾îÇø®ÄÉÀÌ¼Ç »óÅ µ¥ÀÌÅ͸¦ ÀúÀåÇÏ°í Á¶È¸ÇÏ´Â life-cycle callback À» »ç¿ëÇÒ °ÍÀÌ´Ù.

  • Life-cycle event ¿Í »ç¿ëÇϳ­ ¹æ¹ý
  • ¾îÇø®ÄÉÀÌ¼Ç »óŸ¦ À¯ÁöÇÏ´Â ±â¼ú

3.1 Step 1

Notepad ÀÇ ¾îÇø®ÄÉÀ̼ÇÀ» °³¹ßÇϱâ À§ÇÑ ±âº» ȯ°æ¼³Á¤°ú Äڵ带 Æ÷ÇÔÇÏ°í ÀÖ´Â ¼Ò½º¸¦ ´Ù¿î·Îµå ¹Þ´Â´Ù.(À§ÀÇ ³»¿ë Âü°í)

File -> New -> Android Project ¸¦ ¼±ÅÃÇÏ°í, Create project from existing source ¸¦ ¼±ÅÃÇÑ´Ù.

±×¸®°í Locationn ¿¡¼­ Browse ¹öÆ°À» Ŭ¸¯ÇÏ¿©, ´Ù¿î·ÎµåÇؼ­ ¾ÐÃàÀ» Ǭ µð·ºÅ丮¿¡¼­ Notepadv3 µð·ºÅ丮¸¦ ¼±ÅÃÇÑ´Ù. ±×·¯¸é ÀÚµ¿À¸·Î Project name ÀÌ ÀÔ·ÂÀÌ µÈ´Ù.

Build Target Àº ¼³Á¤µÈ AVD Áß¿¡¼­ ÀûÀýÇÑ °ÍÀ» ¼±ÅÃÇÑ´Ù. Application Name °ú Package name Àº ÀÚµ¿À¸·Î ÀÔ·ÂÀÌ µÇ¸ç, Min SDK Version ¿¡ ¼±ÅÃµÈ Build Target ¿¡ ¸Â°Ô ¹öÀü ¹øÈ£¸¦ ÀÔ·ÂÇÑ´Ù.

 

±×¸®°í Finish ¹öÆ°À» Ŭ¸¯Çϸé ÇÁ·ÎÁ§Æ®°¡ »ý¼ºÀÌ µÈ´Ù.

±×¸®°í ¾Æ·¡¿Í °°ÀÌ Intent ¸¦ ÅëÇؼ­ Àü´ÞµÈ title, body °ªÀ» ¼³Á¤ÇÏ´Â ºÎºÐÀ» »èÁ¦ÇÑ´Ù.

 

3.2 Step 2

NoteEdit Ŭ·¡½º¿¡¼­ NoteDbAdapter ¸¦ Á÷Á¢ »ç¿ëÇϱâ À§Çؼ­ ¸â¹öº¯¼ö¿¡ º¯¼ö¸¦ ¼±¾ðÇÏ°í, onCreate() ¸Þ¼Òµå¿¡ ÇØ´ç ÀνºÅϽº¸¦ ÂüÁ¶ÇÏ´Â Äڵ带 Ãß°¡ÇÑ´Ù.

 

3.3 Step 3

mRowId °¡ savedInstanceState ¿¡ Á¸ÀçÇÏ´ÂÁö¸¦ üũÇÏ´Â Äڵ带 Ãß°¡ÇÑ´Ù.

±âÁ¸¿¡ ÀÖ´ø Äڵ带 ¾Æ·¡¿Í °°ÀÌ º¯°æÇÑ´Ù.

 

3.4 Step 4

populateField() ¸Þ¼Òµå¸¦ ¾Æ·¡ÀÇ À§Ä¡¿¡ Ãß°¡ÇÑ´Ù.

 

3.5 Step 5

onClick() ¸Þ¼Òµå ¼öÁ¤

¾Æ·¡¿Í °°ÀÌ ¼öÁ¤ÇÑ´Ù.

3.6 Step 6

populateFields() ¸Þ¼Òµå ±¸Çö

¾Æ·¡¿Í °°ÀÌ ¸Þ¼Òµå¸¦ ±¸ÇöÇÑ´Ù.

3.7 Step 7

NoteEdit Ŭ·¡½º¿¡¼­ ´ÙÀ½ÀÇ ¼¼ °³ ¸Þ¼Òµå¸¦ override ÇÑ´Ù. °¢ Activity ÀÇ »óÅ°¡ º¯ÇÒ ¶§ È£ÃâµÇ´Â ¸Þ¼ÒµéÀÌ´Ù.

onSaveInstanceState() : Activity °¡ stop µÇ°í »õ·Î ½ÃÀ۵DZâ Àü¿¡ Activity °¡ Á×À» ¶§ È£ÃâµÈ´Ù.

onPause() : Activity °¡ Á¾·áÇÒ ¶§ È£Ãâ

onResume() : Activity °¡ »õ·Î ½ÃÀÛµÉ ¶§ È£Ãâ

°¢°¢ÀÇ ¸Þ¼ÒµåµéÀ» ¾Æ·¡¿Í °°ÀÌ ±¸Çö

 

3.8 Step 8

saveState() ¸Þ¼Òµå ±¸Çö

Note »óŸ¦ DB ¿¡ ÀúÀåÇϱâ À§ÇÑ ¸Þ¼Òµå·Î½á, ¾Æ·¡¿Í °°ÀÌ ±¸ÇöÇÑ´Ù.

 

3.9 Step 9

Noteapdv3 Ŭ·¡½ºÀÇ onActivityResult() ¸Þ¼Òµå¸¦ ¾Æ·¡¿Í °°ÀÌ ±¸ÇöÇÑ´Ù.

ÀÌ¹Ì NoteEdit Ŭ·¡½º¿¡¼­ Lifecycle ¿¡ µû¶ó¼­ µ¥ÀÌÅ͸¦ DB¿¡ ÀúÀåÇϱ⠶§¹®¿¡, Notepadv3 Ŭ·¡½º¿¡¼­´Â ¾Æ·¡ ±â´É¸¸ ó¸®ÇÏ¸é µÈ´Ù.

 

3.10 Step 10

onListItemClick() ¸Þ¼Òµå ¼öÁ¤

Ç׸ñÀ» Ŭ¸¯ÇßÀ» ¶§´Â RowId °ª¸¸ Á¶È¸Çؼ­ NoteEdit Ŭ·¡½º·Î Intent ¿¡ ´ã¾Æ¼­ º¸³»´Â Äڵ常 Á¤ÀÇ

 

3.11 Step 12

Notepadv3 ÇÁ·ÎÁ§Æ®¸¦ ¼±ÅÃÇÏ°í, ¿À¸¥ÂÊ ¸¶¿ì½º Ŭ¸¯ÇÑ ´ÙÀ½, Run As -> Android Application À» ¼±ÅÃÇÏ¿© ½ÇÇàÇÑ´Ù.