• Android Database
  •  

     

     

     

Android Database

RelativeLayout

ÀÚ½Ä ºä °¢°¢ÀÇ À§Ä¡¸¦ »ó´ë ºä¸¦ ±âÁØÀ¸·Î »ó´ëÀûÀ¸·Î Á¤ÀÇÇÏ´Â ·¹À̾ƿô.

 

mail.xml

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <EditText
        android:id="@+id/name"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="ex) name"
        />
   
    <Button
        android:id="@+id/ok"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
      android:layout_below="@id/name"
      android:layout_alignParentRight="true"
      android:layout_alignParentLeft="true"
        android:text="@string/inputBtn" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
      android:layout_below="@id/ok"
      android:layout_alignParentRight="true"
      android:layout_alignParentLeft="true"
        android:text="@string/exitBtn" />
  
</RelativeLayout>

 

string.xml

 

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">RuiGiNo-Layout</string>
    <string name="inputBtn">ÀÔ·Â</string>
    <string name="exitBtn">Á¾·á</string>
</resources>

¿¹Á¦·Î ÀÌÇØÇÏ´Â layout

 * µé¾î°¡´Â ¸» : ¿À´ÃÀº µåµð¾î layoutÀ» ÁÖ¹°·¯ º¸µµ·Ï ÇϰڽÀ´Ï´Ù. ¾×ƼºñƼ´Ï, Åë½ÅÀÌ´Ï, ½º·¹µå´Ï ÇÏ´Â °ÍµéÀº Â÷Â÷ º¸±â·Î Çϰí, ÀÏ´Ü ´«¿¡ º¸ÀÌ´Â °ÍºÎÅÍ ÇØ¾ß Àç¹Ìµµ ÀÖ°í, ´çÀå Æù¿¡ ¿Ã·Á º¸°í ½Å³ª°Ô ÇØº¼ ¼ö ÀÖÀ»Å״ϱî¿ä... ÀÚ ±×·³ ½ÃÀÛÇÕ´Ï´Ù~

 2.3.1 LinearLayout
   UI °ü·ÃµÈ °ÍÀº.. ±×Áß¿¡¼­µµ xmlÀ̳ª htmló·³ È­¸éÁ¤ÀÇ ÆÄÀÏÀÌ µû·Î ÀÖ´Â °æ¿ì¿¡´Â ´õ´õ¿í, ¹é¹®(ÛÝÚ¤)ÀÌ ºÒ¿©Àϰß(ÝÕåýìé̸)ÀÌ´Ù. ½Ã½ÃÄÝÄÝÇÑ ¼³¸íÀ» µè±â º¸´Ù, Â÷À̸¦ È®½ÇÇÏ°Ô ¾Ë ¼ö ÀÖµµ·Ï ÀǵµÀûÀ¸·Î ÀÛ¼ºÇØ ³õÀº ¿¹Á¦¸¦ º¸´Â °Í¸¸Å­ È¿À²ÀûÀÎ °ÍÀÌ ¾ø´Ù. ±×·³, ÇÊÀÚ°¡ 'ÀǵµÀûÀ¸·Î'ÀÛ¼ºÇÑ ¾Æ·¡ ¿¹Á¦¸¦ º¸ÀÚ.

[±×¸²16]

 µÑ·¯º¸¸é, °¡Àå ¹Ù±ù¿¡ LinearLayoutÀÌ ÀÖ°í, ±× ¾È¿¡ TextView, LinearLayout, TextView°¡ Â÷·Ê·Î µé¾î ÀÖ´Ù. ¿©±â¼­ ¾Ë ¼ö ÀÖ´Â ÇѰ¡Áö »ç½ÇÀº LayoutÀº ¾ó¸¶µçÁö ÁßøÀÌ °¡´ÉÇÏ´Ù´Â °ÍÀ̸ç, ÀÌ´Â ¸Å¿ì À¯¿ëÇÒ °ÍÀ¸·Î º¸ÀδÙ. »ç½Ç, ÀÌÁ¤µµµµ ¸»ÀÌ ¾ÈµÉ °ÍÀÌ´Ù.
¿ì¼±, LinearLayoutÀÇ ¼Ó¼ºÀ» »ìÆì º¸ÀÚ 

android:orientation="vertical" : ³»ºÎ ¾ÆÀÌÅÛµéÀ» ¸®´Ï¾îÇϰÔ, Áï ÀÏ·Ä·Î ³ª¿­Çϴµ¥, verticalÀ̹ǷΠ¼¼·Î·Î ³ª¿­Çϰڴٴ ¶æÀ¸·Î º¸ÀδÙ.
android:layout_width="fill_parent" android:layout_height="fill_parent" : °¡·Î/¼¼·Î ¸ðµÎ ¹Ù·Î À§ ºÎ¸ð¸¦ ²Ë ä¿ì¶ó´Â °ÍÀ» ÀǹÌÇÑ´Ù. ÀÌ °ªµéÀº pxÀ̳ª dpµîÀÇ »çÀÌÁî À¯´ÖÀ¸·Î ä¿ï ¼öµµ ÀÖÀ¸¸ç, fill_parentÀÇ ¹Ý´ë °³³äÀÎ wrap_contentµµ °¡´ÉÇѵ¥, ÀÌ´Â ³»ºÎ ¾ÆÀÌÅÛµéÀ» ³ÖÀ» ¼ö ÀÖÀ» ¸¸Å­¸¸ Â÷ÁöÇϰڴٴ °ÍÀ» ÀǹÌÇÑ´Ù.
android:background="@color/bg" : ·¹À̾ƿôÀÇ ¹è°æÀ» ÀǹÌÇϴµ¥, ¿©±â¿¡ @color/bg °¡ º¸À̴µ¥, Áö³­ éÅÍ¿¡¼­ ºñ½ÁÇÑ °ÍÀ» º» °Í °°Áö ¾ÊÀº°¡? ¹Ù·Î, @string/hello ÀÌ´Ù. À̰ÍÀº res/values/strings.xml¿¡ ÀÖ¾ú´Ù. ¸¶Âù°¡Áö·Î res/values/color.xml ÀÌ´Ù. º¸´Â ±è¿¡ À̰͵µ »ìÆìº¸°í Áö³ª°¡ÀÚ. ±×·¯±â À§ÇØ ¸¸µç ¿¹Á¦ÀÌ´Ù.



[±×¸²17]

<color name="bg">#1191d0</color> : ÀÌ·¸°Ô, bg¶ó´Â À̸§À¸·Î #1191d0 ¶ó´Â Ä÷¯°ªÀÌ Á¤ÀǵǾî ÀÖ´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. »ó´çÈ÷ À¯¿ëÇÒ °Í °°´Ù. ¹è°æ»öÀ» ÁöÁ¤ÇÒ ¶§, background="#1191d0" ÀÌ·¸°Ô ÇØµµ µÇÁö¸¸ ÀÚÁÖ ¾²´Â Ä÷¯´Â ¿Ø¸¸Çϸé ÀÌ·¸°Ô µû·Î Á¤ÀÇÇØ µÎ´Â °ÍÀÌ ³ªÁß¿¡ »ö»óÀ» ¹Ù²Ù±âµµ ÆíÇÏ°í ¿©·¯¸ð·Î ÁÁ´Ù. ÀÚ, ÀÌÁ¦ LayoutÀ» Àü°³Çϸ鼭 °¡Àå Çò°¥¸®´Â ºÎºÐÀ» ¼³¸íÇϰڴÙ. À̰Ç, °á°ú¹°À» ÇÔ²² º¸¸é¼­ À̾߱âÇÏÀÚ.

[±×¸²17]

[±×¸²17]¿¡¼­ º¸¸é, ÆÄ¶õ»ö ¹ÙÅÁÀÌ °¡Àå ¹Ù±ù¿¡ ÀÖ´Â LinearLayoutÀ̰í, °¡¿îµ¥ ÇϾá»ö ºÎºÐÀÌ ³»ºÎ LinearLayoutÀÌ´Ù. ³»ºÎ LinearLayoutÀÇ ¼Ó¼ºÀ» »ìÆìº¸ÀÚ.

 

android:orientation="horizontal" : ¾Õ¼­ º¸¾Ò´ø °Í°ú ¹Ý´ë·Î À̹ø¿¡´Â horizontalÀÌ´Ù. Áï, °¡·Î·Î Àü°³Çϰڴٴ ¶æÀÌ´Ù.
android:layout_weight="1" : ÁÖ¸ñÇØ¾ß ÇÒ ºÎºÐÀÌ´Ù. ¹Ù±ùÀÇ LinearLayoutÀº fill_parent¿´´Âµ¥, À§¾Æ·¡ "1", "3"ÀÌ ÂïÈù TextView´Â ±Û¾¾°¡ µé¾î°¥ Å©±â¸¸Å­ Â÷ÁöÇÏ°í ³ª¸ÓÁö ºÎºÐÀº ¸ðµÎ ÀÌ ³»ºÎ LinearLayoutÀÌ Â÷ÁöÇÑ °ÍÀº, ¹Ù·Î ÀÌ layout_weight="1"ÀÌ Àֱ⠶§¹®ÀÌ´Ù. Á¤ÀÇÇÏÁö ¾ÊÀ¸¸é layout_weight="0"À¸·Î ¼¼ÆÃÇÑ °Í°ú °°Àºµ¥, ÀÌ´Â layout_height¿¡ ÁöÁ¤ÇÑ Å©±â¸¸Å­¸¸ Â÷ÁöÇϰڴٴ ¶æÀ̸ç, ³ª¸ÓÁö´Â layout_weight ÀÌ 0ÀÌ ¾Æ´Ñ Â÷Àϵåºä³¢¸® ³ª´²¼­ Â÷ÁöÇÏ°Ô µÈ´Ù. ¸Å¿ì À¯¿ëÇϹǷΠ²À ÀÌÇØÇØ¾ß ÇÑ´Ù.
android:gravity="center" : ³»ºÎ Á¤·ÄÀ» ÀǹÌÇÑ´Ù. Â÷ÀϵåµéÀ» ÇѰ¡¿îµ¥¿¡ ¸ô¾Æ¼­ Á¤·ÄÇϰڴٴ ¶æÀÌ´Ù. left, right, top, bottom, center, center_vertical µîÀÌ °¡´ÉÇѵ¥, ¿À¸¥ÂÊ °¡¿îµ¥ Á¤·ÄÀ» ÇÏ°í ½ÍÀ» °æ¿ì¿¡´Â "right|center_vertical"°ú °°ÀÌ "|" ¿¬»êÀÚ·Î Áßø½ÃÄÑ¾ß ÇÑ´Ù.


ÀÌÁ¦, ³»ºÎ ·¹À̾ƿôÀÇ Â÷ÀϵåÀÎ 2-1, 2-2, 2-3ÀÇ ÁÖ¿ä ¼Ó¼ºµéÀ» »ìÆìº¸ÀÚ.
¸ÕÀú, 2-1, 2-2, 2-3 ¸ðµÎ android:layout_weight="1" ¼Ó¼ºÀ» °¡Áö°í ÀÖÀ¸¹Ç·Î, °¡·Î ±æÀÌ´Â Á¤È®È÷ 3µîºÐÀÌ µÊÀ» ¾Ë ¼ö ÀÖ´Ù.

2-1ÀÇ android:layout_gravity="left|bottom" : ÅØ½ºÆ®ºä 2-1ÀÇ °¡·Î´Â 3µîºÐÇÏ¿´Áö¸¸, ¼¼·Î´Â wrap_content·Î, ÀÚ±â ÀÚ½ÅÀÇ ÅØ½ºÆ®¸¦ Ç¥½ÃÇÒ ¼ö ÀÖÀ» Á¤µµÀÇ Å©±â¸¸ Â÷ÁöÇϴµ¥, ÀÌ´Â ºÎ¸ðÀÇ Å©±â¿¡ ºñÇØ ¸¹ÀÌ ³²´Â´Ù. ÀÌ·² ¶§ layout_gravity¼Ó¼ºÀ» »ç¿ëÇÑ´Ù. ±×·¸´Ù¸é ¹«Á¶°Ç top-left¿¡ Ç¥½ÃµÇ°Ô µÈ´Ù. ¿©±â¼­´Â left|bottom À̹ǷΠ¿ÞÂÊ ¾Æ·¡¿¡ Á¤·ÄµÇ´Âµ¥, »ç½Ç °¡·Î´Â ¼ÂÀ̼­ 3µîºÐÇÏ¿© Â÷ÁöÇÏ¿´±â ¶§¹®¿¡ ±×³É bottom À¸·Î ¼³Á¤ÇÑ °Í°ú °°Àº °á°ú¸¦ º¸ÀδÙ.
2-2ÀÇ gravity="center" : 2-2´Â ¼¼·Îµµ fill_parentÀ̹ǷÎ, layout_gravity´Â Àǹ̰¡ ¾øÀ¸¸ç, ³»ºÎÀÇ ÅØ½ºÆ®¿¡ ´ëÇØ¿© gravity="center"¸¦ ÅëÇÏ¿© ÅØ½ºÆ®¸¦ °¡¿îµ¥¿¡ Á¤·Ä½ÃÄ×´Ù. °¡·Î, ¼¼·Î Å©±â°¡ Ç¥½ÃÇÒ ÅØ½ºÆ®¿¡ ºñÇØ °ø°£ÀÌ ¸¹ÀÌ ³²´Â´Ù. ÀÌ·² ¶§ ¾îµð¿¡ Á¤·Ä½ÃųÁö gravity¸¦ »ç¿ëÇÏ¿© Á¤ÀÇÇÑ´Ù.
2-3ÀÇ layout_gravity="center", gravity="right" : ³»ºÎ ±ÛÀÚ´Â ¿À¸¥ÂÊÀ¸·Î Á¤·Ä½ÃŰ¸é¼­ ºä ÀÚü´Â ºÎ¸ðÀÇ °¡¿îµ¥¿¡ À§Ä¡½Ã۵µ·Ï ÇÏ¿´´Ù.


ÀÌ¿Í °°ÀÌ 2-1, 2-2, 2-3ÀÇ xml¼Ò½º¿Í °á°ú È­¸éÀ» ºñ±³ÇØ º¸¸é, gravity¿Í layout_gravity¸¦ ÀÌÇØÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. »ç½Ç, ÀÌ°Ô ¿©·¯°ãÀ¸·Î ÁßøÀÌ µÇ´Ù º¸¸é »ó´çÈ÷ Çò°¥¸®´Âµ¥, ¿¹¸¦ µé¾î parentÀÇ gravity¿Í childÀÇ layout_gravity°¡ °ãÃÄÁö¸é ¸Å¿ì ȯ»óÀûÀÎ(@.@) Çò°¥¸®´Â °á°ú¸¦ º¼ ¼ö ÀÖ´Ù. µû¶ó¼­, º» ¿¹Á¦ÀÇ xmlÀ» °¡Áö°í ÀÌ·¸°Ô Àú·¸°Ô Áßø½Ã۰í, º¯ÇüÇØ º¸¸é¼­ ¿ÏÀüÈ÷ ÀÌÇØÇØ µÑ °ÍÀ» ´çºÎÇÑ´Ù. ³» ¸Ó¸®¸¦ ¹Ï°í, ¾Ë °Í °°´Ù°í ÇØ¼­ ±×³É ³Ñ¾î°¡¸é ²À ½ÇÁ¦ °³¹ßÇÒ ¶§, °ñÄ¡¾ÆÇ ³¯ÀÌ ¿Ã °ÍÀÌ´Ù. ¸¸µé ¶§ ±«·ÓÁö ¾ÊÀ¸·Á¸é, ÇÑ ´ë¿©¼¸¹øÀÌ¶óµµ ¹Ù²ã¼­ °á°ú¸¦ º¸µµ·Ï ÇÏÀÚ.

 2.3.1 LinearLayout ¿¡¼­, LinearLayout»Ó¸¸ ¾Æ´Ï¶ó ¸ðµç LayoutÀÇ °øÅëÀûÀÎ ºÎºÐ±îÁö Á¤·Ä¿¡ °üÇÑ Áß¿äÇÑ ºÎºÐÀ» ¸ðµÎ ¾Ë¾Æº¸¾Ò´Ù. AbsoluteLayout, FrameLayout, TableLayout µîÀ» ¾Ë¾Æº¼ ¶§¿¡´Â ÁßøµÇ´Â ºÎºÐÀº ¾È´Ù´Â °¡Á¤ÇÏ¿¡ ±â¼úÇÒ °ÍÀÌ´Ï, °¡Àå ±âº»ÀÌ µÇ´Â LinearLayoutÀ» Àß ÀÍÈ÷±â ¹Ù¶õ´Ù.

===================================================================================================================
ÀÚ, ¿À´ÃÀº ¿©±â±îÁö.. ÈÞ¿ì~ Â÷À̸¦ È®½ÇÇÏ°Ô ¾Ë¾Æº¼ ¼ö ÀÖµµ·Ï ¿¹Á¦¸¦ ²Ù¸ç º¸¾Ò½À´Ï´Ù. ¾ÕÀ¸·Îµµ ÀÌ·±½ÄÀ¸·Î Àü°³ÇÏ¿©, Á¦°¡ °ø½Ä ¹®¼­µé¸¸ º¸¸é¼­ °³¹ßÇÒ ¶§ Èûµé¾ú´ø ºÎºÐµéÀ» ÁßÁ¡ÀûÀ¸·Î Àû¾î º¸µµ·Ï ÇϰڽÀ´Ï´Ù. ¾Èµå·ÎÀ̵带 ½ÃÀÛÇÏ´Â ºÐµé¿¡°Ô µµ¿òÀÌ µÇ±æ ¹Ù¶ø´Ï´Ù. È­ÀÌÆÃ!!!

°ü·Ã¸µÅ©
TASK

ŽºÅ©(Task)´Â »ç¿ëÀÚ°¡ ½ÇÁúÀûÀ¸·Î ¡°ÇϳªÀÇ ¾îÇø®ÄÉÀ̼Ç󷳡± ´À³¢´Â ¾×ƼºñƼµéÀÇ ÁýÇÕÀ̶ó ÇÒ ¼ö ÀÖ½À´Ï´Ù. ŽºÅ©´Â ½ºÅÃ(Stack) ÇüÅ·Π±¸¼ºµÇ¸ç, ½ºÅÃÀÇ °¡Àå ¾Æ·¡¿¡´Â ÀÌ Å½ºÅ©¸¦ ½ÃÀÛÇÑ ¾×ƼºñƼÀÎ ·çÆ® ¾×ƼºñƼ(RootActivity)°¡ ÀÖÀ¸¸ç, ±× ÈÄ·Î ¾×ƼºñƼ°¡ È£ÃâµÇ°Ô µÇ¸é ±× À§¿¡ ¾×ƼºñƼ°¡ Çϳª¾¿½×¿©°¡°Ô µË´Ï´Ù. µû¶ó¼­, ŽºÅ©¸¦ ¾×ƼºñƼ°¡ ½×¿© Àִ½ºÅÃÀ̶ó ÇÏ¿© ¾×ƼºñƼ ½ºÅÃ(Activity Stack)À̶ó°íµµ ÇÕ´Ï´Ù

Content Provider

¾Èµå·ÎÀ̵å Ç÷§Æû¿¡ Á¦°øµÇ´Â files, SQLite databases, or even a memory based Hash Map µé¿¡ ´ëÇÑ °øÅëµÈ Á¢±Ù ÀÎÅÍÆäÀ̽ºÀÌÀÚ Áß¾ÓÁýÁß ÀúÀå¼Ò

Ư¡

- ´Ù¸¥ ÇÁ·Î¼¼½º³ª ¾²·¹µå¿¡¼­ ´Ù¾çÇÑ ContentResolver·Î ºÎÅÍ È£ÃâµÉ ¼ö ÀÖ½À´Ï´Ù.

-±âº» µ¥ÀÌÅÍ Çü½Ä, À̹ÌÁö µî ¹ÙÀ̳ʸ® Çü½Ä Áö¿ø. ´Ü, ÇØ´ç µ¥ÀÌÅÍÀÇ url ÇüÅ·Πµ¥ÀÌÅͺ£À̽º¿¡ ÀúÀå.

-url À» Åë햬 Á¢±ÙÀÌ °¡´É.

1 2 3 4 5 6 7 8 9  ´ÙÀ½