Android Notepad Tutorial ÇÑ±Û ¹®¼[Àڹٸ𵨸µ]
¿µ¹®À¸·Î µÇ¾î ÀÖ´Â Android ÀÇ Notepad Tutorial À» ÇÑ±Û ¹®¼·Î º¯È¯ÇÏ¿© °³¹ßÀÚµéÀÌ ¼Õ½±°Ô Android Application À» ÀÛ¼ºÇϴµ¥ ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï ÀÛ¼ºÇÑ´Ù.
¿µ¹®À¸·Î µÈ ³»¿ëÀ» ±â¹ÝÀ¸·Î ´Ü°èº°·Î ÀÛ¼ºÀ» ÇØ ³ª°¥°ÍÀÌ´Ù.
0. Preparing for the Exercise
ÀÌ Notepad ¸¦ ÀÛ¼ºÇϱâ À§Çؼ Eclipse ¸¦ »ç¿ëÇÒ °ÍÀ̸ç, ±âº»ÀûÀ¸·Î Android ¸¦ °³¹ßÇϱâ À§ÇÑ È¯°æ¼³Á¤ÀÌ µÇ¾î ÀÖ´Ù´Â °¡Á¤ÇÏ¿¡ ÀÌ ¿¹Á¦¸¦ ÀÛ¼ºÇÑ´Ù.
ÀÌ Notepad ¸¦ À§Çؼ ±âº»ÀûÀÎ ¼³Á¤ÆÄÀÏ°ú Ŭ·¡½º¸¦ Á¦°øÇÏ°í ÀÖ´Ù. ¾Æ·¡ÀÇ ÀýÂ÷´ë·Î ÁøÇàÇÏ¸é µÈ´Ù.
3. Notepad Exercise 3
À̹ø ¹®¼¿¡¼´Â ¾îÇø®ÄÉÀÌ¼Ç »óÅ µ¥ÀÌÅ͸¦ ÀúÀåÇÏ°í Á¶È¸ÇÏ´Â life-cycle callback À» »ç¿ëÇÒ °ÍÀÌ´Ù.
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 À» ¼±ÅÃÇÏ¿© ½ÇÇàÇÑ´Ù.