ใ‚ใกใ‚ƒใใกใ‚ƒ ้–‹็™บ่€…๐Ÿฆพ
์ฝ”๋”ฉ ์ง ๐Ÿ’ช
ใ‚ใกใ‚ƒใใกใ‚ƒ ้–‹็™บ่€…๐Ÿฆพ
  • ์นดํ…Œ๊ณ ๋ฆฌ (135)
    • ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ• (12)
      • ๊ฐœ๋ฐœ ํ™˜๊ฒฝ (5)
      • DB (0)
      • Node.js (4)
      • ํ˜•์ƒ ๊ด€๋ฆฌ (2)
      • Spring (1)
    • ์›น (11)
      • React (5)
      • ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ__์›น (6)
    • ๋ชจ๋ฐ”์ผ (2)
      • ์•ˆ๋“œ๋กœ์ด๋“œ (2)
    • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (55)
      • C (13)
      • Python (15)
      • SQL (5)
      • Java (22)
    • ์‚ฌ๋ฌผ์ธํ„ฐ๋„ท (11)
      • ์•„๋‘์ด๋…ธ (11)
    • ์ผ์ƒ (31)
      • ๋ง›์ง‘ (13)
      • ๋žญํ‚น๋‹ญ์ปด (4)
      • ํ›„๊ธฐ (11)
      • ์š”๋ฆฌ (3)
      • ์žก๋‹ด (0)
    • ๊ต์–‘ (4)
      • ์‹ฌ๋ฆฌํ•™ (3)
      • ํ…Œ๋‹ˆ์Šค (1)
    • ์ž๊ฒฉ์ฆ (9)
      • ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ (9)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿ’ป github

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
ใ‚ใกใ‚ƒใใกใ‚ƒ ้–‹็™บ่€…๐Ÿฆพ

์ฝ”๋”ฉ ์ง ๐Ÿ’ช

[์•ˆ๋“œ๋กœ์ด๋“œ] ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ์ž…๋ฌธ(2)
๋ชจ๋ฐ”์ผ/์•ˆ๋“œ๋กœ์ด๋“œ

[์•ˆ๋“œ๋กœ์ด๋“œ] ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ์ž…๋ฌธ(2)

2022. 8. 31. 16:23

ใ€Š ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค๋ฅผ ํ†ตํ•œ ๊ฐ„๋‹จํ•œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ๋นŒ๋“œโ…ก ใ€‹

 

  • onClick ์†์„ฑ์„ ํ†ตํ•œ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ
  • ์ธํ…ํŠธ ๋นŒ๋“œ
  • Activity ์ƒ์„ฑ
  • ํ…์ŠคํŠธ ๋ทฐ ์ถ”๊ฐ€
  • ๋ฉ”์‹œ์ง€ ํ‘œ์‹œ
  • ์ƒํ–ฅ ํƒ์ƒ‰ ์ถ”๊ฐ€
  • ์•ฑ ์‹คํ–‰

 

[ onClick ์†์„ฑ์„ ํ†ตํ•œ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ ]

๋”๋ณด๊ธฐ

- Send ๋ฒ„ํŠผ์„ ํƒญํ•  ๋•Œ ํ˜ธ์ถœ๋˜๋Š” MainActivity ํด๋ž˜์Šค์— ๋ฉ”์†Œ๋“œ ์ถ”๊ฐ€

- ์ถ”๊ฐ€ํ•œ ๋ฉ”์†Œ๋“œ๋ฅผ Send ๋ฒ„ํŠผ์˜ onClick ์†์„ฑ์— ๋ถ€์—ฌ

 

1. app > java > org.techtown.test_app > MainActivity.java ์˜ MainActivity ํด๋ž˜์Šค์—์„œ sendMessage() ๋ฉ”์†Œ๋“œ ์ƒ์„ฑ

MainActivity.java

 

2. activity_main.xml ํŒŒ์ผ๋กœ ๋Œ์•„๊ฐ€ ๋ฒ„ํŠผ ํด๋ฆญ ์ด๋ฒคํŠธ์— ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ

    a. Layout Editor์—์„œ Send ๋ฒ„ํŠผ์„ ์„ ํƒ

    b. Attributes ์ฐฝ์—์„œ onClick ์†์„ฑ์„ ์ฐพ์•„ ์ด ์†์„ฑ์˜ ๋“œ๋กฌ๋‹ค์šด ๋ชฉ๋ก์—์„œ SendMessage ์„ ํƒ

activity_main.xml

 

 

[ ์ธํ…ํŠธ ๋นŒ๋“œ ]

๋”๋ณด๊ธฐ

- Intent๋Š” ๊ฐœ๋ณ„ ๊ตฌ์„ฑ์š”์†Œ๊ฐ„์— ๋Ÿฐํƒ€์ž„ ๋ฐ”์ธ๋”ฉ์„ ์ œ๊ณตํ•˜๋Š” ๊ฐ์ฒด์ž„

- Intent๋Š” ์–ด๋–ค ์ž‘์—…์„ ํ•˜๋ ค๋Š” ์•ฑ์˜ ์˜๋„๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ ๋‹ค์–‘ํ•œ ์ž‘์—…์— ์‚ฌ์šฉ๋จ

- MainActivity.java ํŒŒ์ผ์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด EXTRA_MESSAGE ์ƒ์ˆ˜์™€ sendMessage() ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€

MainActivity.java

 

- ํ•ด๋‹น sendMessage() ๋ฉ”์†Œ๋“œ์—์„œ ์ด๋ฃจ์–ด์ง€๋Š” ์ž‘์—…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Œ

 

โ‘  Intent ์ƒ์„ฑ์ž๋Š” ๋‘ ๋งค๊ฐœ๋ณ€์ˆ˜, Context์™€ Class๋ฅผ ์‚ฌ์šฉ

      Activity ํด๋ž˜์Šค๋Š” Context์˜ ์„œ๋ธŒํด๋ž˜์Šค์ด๋ฏ€๋กœ Context ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋จผ์ € ์‚ฌ์šฉ

      ์ด ๊ฒฝ์šฐ ์‹œ์Šคํ…œ์—์„œ Intent๋ฅผ ์ „์†กํ•˜๋Š” ์•ฑ ๊ตฌ์„ฑ์š”์†Œ์˜ Class ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์‹œ์ž‘ํ•  ํ™œ๋™์ž„

โ‘ก putExtra() ๋ฉ”์†Œ๋“œ๋Š” EditText ๊ฐ’์„ ์ธํ…ํŠธ์— ์ถ”๊ฐ€

     Intent๋Š” extras๋ผ๋Š” ํ‚ค-๊ฐ’์Œ์œผ๋กœ, ๋ฐ์ดํ„ฐ ์œ ํ˜• ์ „๋‹ฌ ๊ฐ€๋Šฅ

     (ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…์ŠคํŠธ๋ฅผ ๊ฐ€์ ธ์˜ค๊ฒŒ ๋˜๋ฏ€๋กœ ํ‚ค๋Š” ๊ณต๊ฐœ ์ƒ์ˆ˜ EXTRA_MESSAGE ์ž„)

โ‘ข startActivity() ๋ฉ”์†Œ๋“œ๋Š” Intent์—์„œ ์ง€์ •ํ•˜๋Š” DisplayMessageActivity์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์‹œ์ž‘ํ•˜๊ฒŒ ๋จ

 

 

- ํ˜„์žฌ DisplayMessageActivity ๋ผ๋Š” ํด๋ž˜์Šค๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ

  ์ด๋ฏธ์ง€ ์ƒ์˜ Cannot resolve symbol ์˜ค๋ฅ˜ ๋ฐœ์ƒ

 

 

[ Activity ์ƒ์„ฑ ]

๋”๋ณด๊ธฐ

- ์‹ ๊ทœ Activity ์ƒ์„ฑ

 

1. Project ์ฐฝ์—์„œ app ํด๋”๋ฅผ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์œผ๋กœ ํด๋ฆญ ํ›„ New > Activity > Empty Activity๋ฅผ ์„ ํƒ

Project ์ฐฝ ํ™”๋ฉด

 

2. Configure Activity ์ฐฝ์—์„œ Activity Name์— 'DisplayMessageActivity'๋ฅผ ์ž…๋ ฅ ํ›„ Finish ๋ฒ„ํŠผ ํด๋ฆญ

 

- Activity๋ฅผ ์ƒ์„ฑํ–ˆ๋‹ค๋ฉด ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค๋Š” ๋‹ค์Œ ์ž‘์—…๋“ค์„ ์ž๋™์œผ๋กœ ์‹คํ–‰

  โ‘  DisplayMessageActivity ํŒŒ์ผ ์ƒ์„ฑ

        DisplayMessageActivity ํŒŒ์ผ์— ๋Œ€์‘ํ•˜๋Š” ๋ ˆ์ด์•„์›ƒ ํŒŒ์ผ์ธ activity_display_message.xml ํŒŒ์ผ ์ƒ์„ฑ

  โ‘ก ํ•„์ˆ˜ <activity> ์š”์†Œ๋ฅผ AndroidManifest.xml์— ์ถ”๊ฐ€

(์ขŒ) java/xml ํŒŒ์ผ ์ƒ์„ฑ         (์šฐ)  <activity> ์š”์†Œ ์ถ”๊ฐ€

 

- ์ด์ œ ์•ฑ์„ ์‹คํ–‰ํ•˜๋ฉด ๋ณด์ด๋Š” MainActivity ๋ ˆ์ด์•„์›ƒ์—์„œ ๋ฒ„ํŠผ์„ ํƒญํ•˜๋ฉด DisplayMessageActivity ๋ ˆ์ด์•„์›ƒ์œผ๋กœ ๋ณ€ํ™˜

 

 

[ ํ…์ŠคํŠธ ๋ทฐ ์ถ”๊ฐ€ ]

๋”๋ณด๊ธฐ

- ํ˜„์žฌ ์ƒˆ๋กœ์šด Activity์—๋Š” ๋น„์–ด์žˆ๋Š” ๋ ˆ์ด์•„์›ƒ ํŒŒ์ผ์ด ํฌํ•จ๋˜์–ด ์žˆ์Œ

   DisplayMessageActivity ๋ ˆ์ด์•„์›ƒ์— ํ…์ŠคํŠธ ๋ทฐ๋ฅผ ์ถ”๊ฐ€

 

1. app > res > layout > activity_display_message.xml ํŒŒ์ผ ์—ด๊ธฐ

2. ํˆด๋ฐ”์—์„œ Enable Autoconnection to Parent ํด๋ฆญ (์ž๋™ ์—ฐ๊ฒฐ ์‚ฌ์šฉ ์„ค์ •)

 

3. Palette ํŒจ๋„์—์„œ Text ํด๋ฆญ ํ›„ TextView๋ฅผ ๋ ˆ์ด์•„์›ƒ์œผ๋กœ ๋“œ๋ž˜๊ทธ,

    ํ‘œ์‹œ๋˜๋Š” ์ˆ˜์ง์„ ์— ๋งž๋„๋ก ๋ ˆ์ด์•„์›ƒ์˜ ์ƒ๋‹จ ์ค‘์•™ ๋ถ€๊ทผ์— ๋ฐฐ์น˜

    (์ž๋™ ์—ฐ๊ฒฐ์€ ์ˆ˜ํ‰ ์ค‘์•™์— ๋ทฐ๋ฅผ ๋ฐฐ์น˜ํ•˜๊ธฐ ์œ„ํ•ด ํ…์ŠคํŠธ ๋ทฐ์˜ ์™ผ์ชฝ/์˜ค๋ฅธ์ชฝ์— ์ œ์•ฝ ์กฐ๊ฑด์„ ์ถ”๊ฐ€)

4. ํ…์ŠคํŠธ ๋ทฐ ์ƒ๋‹จ์—์„œ ๋ ˆ์ด์•„์›ƒ ์ƒ๋‹จ๊นŒ์ง€ ์ œ์•ฝ ์กฐ๊ฑด์„ ํ•˜๋‚˜ ๋” ๋งŒ๋“ค์–ด ์ตœ์ข…์ ์œผ๋กœ ์•„๋ž˜์™€ ๊ฐ™๋„๋ก ์„ค์ •

 

 

[ ๋ฉ”์‹œ์ง€ ํ‘œ์‹œ ]

๋”๋ณด๊ธฐ

- ์ƒˆ๋กœ ๋นŒ๋“œํ•œ Activity๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ ์ด์ „ Intent ๋นŒ๋“œ์—์„œ์˜ ์ „๋‹ฌ ๋  ๋ฉ”์‹œ์ง€(MainActivity์—์„œ ๋ณด๋‚ธ ๋ฉ”์‹œ์ง€)๋ฅผ

   ๊ฐ€์ ธ์™€ DisplayMessageActivity์˜ ํ…์ŠคํŠธ ๋ทฐ์— ์ •์ƒ์ ์œผ๋กœ ํ‘œ์‹œํ•˜๊ธฐ

- ์ด์ „์˜ ์‹ ๊ทœ Activity ์ƒ์„ฑ์„ ํ†ตํ•ด ๋งŒ๋“ค์—ˆ๋˜ DisplayMessageActivity.java ํŒŒ์ผ์— ์•„๋ž˜ ์†Œ์Šค ์ฝ”๋“œ ์ถ”๊ฐ€

 

 

[ ์ƒํ–ฅํƒ์ƒ‰ ์ถ”๊ฐ€ ]

๋”๋ณด๊ธฐ

- ๊ธฐ๋ณธ ์ง„์ž…์ ์ด ์•„๋‹Œ ์•ฑ์˜ ๊ฐ ํ™”๋ฉด(ํ™ˆ ํ™”๋ฉด์ด ์•„๋‹Œ ๋ชจ๋“  ํ™”๋ฉด)์—์„œ๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์•ฑ ๊ณ„์ธต ๊ตฌ์กฐ์—์„œ

   ๋…ผ๋ฆฌ์  ์ƒ์œ„ ํ™”๋ฉด์œผ๋กœ ์•ˆ๋‚ดํ•˜๋Š” ํƒ์ƒ‰ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” Up ๋ฒ„ํŠผ์„ ์•ฑ์˜ ๋ฐ”์— ์ถ”๊ฐ€ํ•ด์•ผํ•จ

- ์—ฌ๋Ÿฌ ๋กœ์ง์„ ํ†ตํ•ด ํ•˜์œ„ Activity๋กœ ์ด๋™ํ•  ๊ฒฝ์šฐ ์ƒ์œ„ Activity๋กœ ์ด๋™ํ•˜๋Š” ์ˆ˜๋‹จ์ด ํ•„์š”ํ•จ

ํŒŒ์ผ ํƒ์ƒ‰๊ธฐ์—์„œ์˜ ์ƒ์œ„ ํด๋”๋กœ ๊ฐ€๋Š” ๋ฒ„ํŠผ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ

 

- Up ๋ฒ„ํŠผ์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด AndroidManifest.xml ํŒŒ์ผ์—์„œ ์–ด๋–ค Activity๊ฐ€ ๋…ผ๋ฆฌ์  ์ƒ์œ„ ์š”์†Œ์ธ์ง€ ์„ ์–ธํ•ด์•ผํ•จ

- app > manifests > AndroidManifest.xml ํŒŒ์ผ ๋‚ด DisplayMessageActivity์˜ activity ํƒœ๊ทธ๋ฅผ ์ฐพ์•„ ์•„๋ž˜์™€ ๊ฐ™์ด ๋ณ€๊ฒฝ

 - ์ด์ œ Android ์‹œ์Šคํ…œ์—์„œ Up ๋ฒ„ํŠผ์„ ์•ฑ ๋ฐ”์— ์ž๋™์œผ๋กœ ์ถ”๊ฐ€ํ•จ

 

 

[ ์•ฑ ์‹คํ–‰ ]

๋”๋ณด๊ธฐ

- ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์˜ ์—๋ฎฌ๋ ˆ์ดํ„ฐ(AVD)๋ฅผ ํ†ตํ•ด ๊ฐ€์ƒ ๋””๋ฐ”์ด์Šค๋ฅผ ํ†ตํ•ด ์•ฑ์„ ์‹คํ–‰

์ด๋ฏธ์ง€ ์ถœ์ฒ˜ : ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ์ž(https://developer.android.com/training/basics/firstapp/starting-activity#java)

 

์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ์‹ค์ œ ์•ฑ์„ ๊ตฌ๋™ํ•œ ๋ชจ์Šต

 

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)
    '๋ชจ๋ฐ”์ผ/์•ˆ๋“œ๋กœ์ด๋“œ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [์•ˆ๋“œ๋กœ์ด๋“œ] ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ์ž…๋ฌธ(1)
    ใ‚ใกใ‚ƒใใกใ‚ƒ ้–‹็™บ่€…๐Ÿฆพ
    ใ‚ใกใ‚ƒใใกใ‚ƒ ้–‹็™บ่€…๐Ÿฆพ
    ๐Ÿ‘Š ๋ธ”๋กœ๊ทธ๋„ ๊ทผ์„ฑ์ด๋‹ค? ๐Ÿ‘Š

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”