728x90
λ°˜μ‘ν˜•

μ•ˆλ“œλ‘œμ΄λ“œ 기초 κ°•μ˜μ— 이어 μ–΄λ–€ κ°•μ˜λ₯Ό 듀을지 κ³ λ―Όν•˜λ‹€κ°€ 

μ½”ν‹€λ¦° 문법에 λŒ€ν•œ 기초λ₯Ό μŒ“λŠ”κ²ƒλ„ μ’‹μ§€λ§Œ 일단 λ§Œλ“€λ©΄μ„œ 재미λ₯Ό λΆ™μ—¬μ•Ό ν•  κ±° κ°™μ•„μ„œ 

λ‹€μ–‘ν•œ λ‚œμ΄λ„κ°€ μžˆλŠ” μΈν”„λŸ°μ—μ„œ μ™•μ΄ˆλ³΄νŽΈμ„ ꡬ맀해 λ³΄μ•˜μŠ΅λ‹ˆλ‹€!!

 

가격은 24000원!! 으둜 8개λ₯Ό λ§Œλ“€λ©΄μ„œ μ—¬λŸ¬ 가지 μ•ˆλ“œλ‘œμ΄λ“œ μŠ€νŠœλ””μ˜€μ— λŒ€ν•œ 기본적인 κΈ°λŠ₯듀을 배울 수 μžˆμ„ 것 κ°™μ•„μ„œ μ’‹κ³  ν˜Όμžν•˜κΈ°λŠ” ν•˜μ§€λ§Œ μ§ˆλ¬Έμ— λŒ€ν•œ 닡도 비ꡐ적 λΉ λ₯΄κ²Œ ν•΄μ£Όμ‹œλŠ” κ±° κ°™μ•„μ„œ 잘 μ‚¬μš©ν•  것 κ°™μŠ΅λ‹ˆλ‹€πŸ‘πŸ‘

제일 λ¨Όμ € 1강은 BTS 앱을 λ§Œλ“€μ–΄ λ³΄μ•˜λŠ”λ°μš”γ…‹γ…‹γ…‹γ…‹γ…‹ 결과물은 μ΄λ ‡μŠ΅λ‹ˆλ‹€~

이미지λ₯Ό μ„ νƒν•˜λ©΄ ν™•λŒ€ν•΄μ„œ λ³΄μ—¬μ£ΌλŠ” μ•±μž…λ‹ˆλ‹€

μ•„λ¬΄λž˜λ„ κ°•μ˜λ₯Ό μ œμž‘ν–ˆλ˜ λ•Œλž‘ 버전이 λ‹¬λΌμ„œ 살짝 λ‹Ήν™©μŠ€λŸ¬μ› λ˜ 적도 μžˆμ—ˆμ§€λ§Œ 

ꡬ글에도 물어보고 μ§ˆλ¬Έλ„ ν•˜λ©΄μ„œ 재밌게 λ§Œλ“€ 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€~

직접 UIλ₯Ό κ΅¬ν˜„ν•˜κ³  kotlin을 μ‚¬μš©ν•΄μ„œ κΈ°λŠ₯ κ΅¬ν˜„κΉŒμ§€ ν•œλ‹€λŠ” 것이 μž¬λ°Œμ—ˆμŠ΅λ‹ˆλ‹€!! 

아직 아무것도 λͺ°λΌμ„œ κ·ΈλŸ°κ±°μΌμˆ˜λ„ μžˆμ§€λ§Œ μ–Όλ₯Έ 8κ°• μ™„κ°•ν•΄ 보고 μ‹Άλ„€μš© γ…Žγ…Ž

 

 

1번 사진(진)을 μ„ νƒν•˜λ©΄!!

μž˜μƒκΈ΄ μ§„λ‹˜μ΄ λŒ€λΉ΅λ§Œν•˜κ²Œ λ‚˜μ˜΅λ‹ˆλ‹€ γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹

 

 

μ—¬λŸ¬κ°€μ§€λ₯Ό λ°°μ› λŠ”λ° κ°„λ‹¨ν•˜κ²Œ μ†Œκ°œλ₯Ό ν•΄λ“œλ¦¬μžλ©΄

 

1. 사진 ν΄λ”λŠ” [res] -> [drawable] 에 λ³΅μ‚¬ν•˜μ—¬ λΆ™μ—¬ λ„£μŠ΅λ‹ˆλ‹€

2. 이미지λ₯Ό λ„£μ„λ•ŒλŠ” ImageViewλ₯Ό μ‚¬μš©ν•΄ μ€λ‹ˆλ‹€

ImegeViewλ₯Ό 적고 μ—”ν„°λ₯Ό λˆ„λ₯΄λ©΄

λ°”λ‘œ 밑에 android:layout_width, κ·Έ λ‹€μŒ 쀄에 android:layout_heightκ°€ μ—°μ†μ μœΌλ‘œ λ‚˜μ˜΅λ‹ˆλ‹€

widthλŠ” 넓이 / heightλŠ” 높이λ₯Ό μ˜λ―Έν•˜κ³  κ·Έ μ˜†μ— ν°λ”°μ˜΄ν‘œλ₯Ό μ‚¬μš©ν•˜μ—¬ 크기λ₯Ό λ‚˜νƒ€λ‚΄ μ£Όλ©΄ λ©λ‹ˆλ‹€!!

ν¬κΈ°λŠ” 길이에 ν•΄λ‹Ήν•˜λŠ” μ λ‹Ήν•œ 값을 μ˜λ―Έν•˜λŠ” wrap_content와 ν™”λ©΄μ˜ μ‹œμž‘λΆ€ν„° λκΉŒμ§€ μ΄μ–΄μ§€λŠ” match_parent와 100dp처럼 숫자λ₯Ό μ§€μ •ν•΄μ£ΌλŠ” 방식이 μžˆμŠ΅λ‹ˆλ‹€.

 

3. // (주석) : ν”„λ‘œκ·Έλž¨μ„ 같이 μž‘μ—… ν•˜λŠ” μΉœκ΅¬μ—κ²Œ μ•Œλ €μ£ΌλŠ” μ—­ν• 

 -> 주석을 μ‚¬μš©ν•˜μ§€ μ•ŠμœΌλ©΄ μ½”λ“œλ‘œ μΈμ‹ν•˜κΈ° λ•Œλ¬Έμ— μ‚¬μš©ν•΄ μ£Όμ–΄μ•Ό 함

ex)  // μΉœκ΅¬μ•Ό μ—¬κΈ°λŠ” λ²„νŠΌ 클릭을 λ™μž‘ν•˜λŠ” 뢀뢄이야~~

 

4. 사진에 이름을 λΆ™μ—¬μ£ΌλŠ” 법 = android:id="@+id/사진 이름"

=> 사진 이름은 _둜 μ—°κ²° /  [space] λ₯Ό μ‚¬μš©ν•˜λ©΄ μ—λŸ¬κ°€ λ‚œλ‹€ 

=> _은 μ‚¬μš©μ•ˆν•œλ‹€λ©΄, 쀑간뢀뢄은 λŒ€λ¬Έμžλ‘œ μ‚¬μš©

 

5. λ²„νŠΌ, 보기 λ˜λŠ” μœ„μ ―κ³Ό 같은 νŠΉμ • UI μš”μ†Œ 클릭을 ν•˜κ³ μ‹Άμ„ λ•Œ μ¨μ•Όν•˜λŠ” λ©”μ„œλ“œ setOnClickListener

  => .setOnClickListener { ν΄λ¦­ν•˜λ©΄ μΌμ–΄λ‚˜λŠ” λ³€ν™”λ₯Ό λ„£μ–΄ }

 

ex)

image1.setOnClickListener {

 

6. 문ꡬλ₯Ό λ„μš°λŠ” κΈ°λŠ₯을 ν•˜λŠ” Toast  

=> Toast ν΄λž˜μŠ€λŠ” ν† μŠ€νŠΈ λ©”μ‹œμ§€λ₯Ό λ§Œλ“€κ³  ν‘œμ‹œν•˜λŠ” κ°„λ‹¨ν•œ 방법을 μ œκ³΅ν•©λ‹ˆλ‹€. 

화면에 ν…μŠ€νŠΈλ‚˜ μ•„μ΄μ½˜μ΄ μžˆλŠ” 짧은 λ©”μ‹œμ§€λ₯Ό ν‘œμ‹œν•˜κ³  λ©”μ‹œμ§€μ˜ μœ„μΉ˜μ™€ λͺ¨μ–‘을 μžλ™μœΌλ‘œ μ²˜λ¦¬ν•©λ‹ˆλ‹€. ν† μŠ€νŠΈ λ©”μ‹œμ§€λŠ” 일반적으둜 ν™”λ©΄ ν•˜λ‹¨μ˜ μž‘μ€ μ§μ‚¬κ°ν˜• 창에 ν‘œμ‹œλ©λ‹ˆλ‹€.

ex) Toast.makeText(context, "This is a toast message", Toast.LENGTH_SHORT).show();

μ—¬κΈ°μ„œ This is a toast message에 ν•΄λ‹Ήν•˜λŠ” 뢀뢄에 λ‚˜νƒ€λ‚Ό 문ꡬλ₯Ό 적으면 λ©λ‹ˆλ‹€!!

 

7. ν™”λ©΄ μ „ν™˜ κΈ°λŠ₯을 ν•˜λŠ” Intent 

ex)

val intent = Intent(this, λ„˜μ–΄κ°€λŠ” 파일 ::class.java)
startActivity(intent)

λ„˜μ–΄κ°€λŠ” νŒŒμΌμ— λ‚΄κ°€ λ„˜μ–΄κ°€λŠ” νŒŒμΌμ— ν•΄λ‹Ήν•˜λŠ” 폴더 이름을 적어쀀닀

 

7개의 사진에 ν•΄λ‹Ήν•˜λŠ” activityλ₯Ό 각각 λ§Œλ“€μ–΄μ€¬λŠ”λ°

κ·Έλž˜μ„œ κΆκΈˆν•œ 점이 사진이 100μž₯이면 activityκ°€ 100κ°œμ—¬μ•Ό ν•˜λ‚˜μš”?

=> μ•„λ‹ˆμ˜€, μ΅œμ†Œν•œμ˜ μ½”λ“œλ‘œ λ§Œλ“€ 수 μžˆμ§€λ§Œ, λ°°μš°λŠ” λ‹¨κ³„λ‹ˆκΉŒ ν•΄λ³΄μ•˜κ΅¬μ—¬.. λ‹€μŒμ— μžˆλŠ”κ°•μ˜μ—μ„œ μ•Œλ €μ€€λ‹€κ³  ν•©λ‹ˆλ‹€~~

 

 

처음 λ§Œλ“  앱이고 κ°•μ‚¬λ‹˜ μ˜¬λ Έμ„λ•Œλž‘ 버전이 λ‹¬λΌμ„œ 쑰금 λ‹Ήν™©μŠ€λŸ¬μ› μ§€λ§Œ λ§Œλ“€λ©΄μ„œ λ°”λ‘œλ°”λ‘œ κ°€μƒμ˜ νœ΄λŒ€ν°μ— λ‚˜μ˜€λ‹ˆκΉŒ μ‹ κΈ°ν•˜κΈ°λ„ ν•˜κ³  μž¬λ°ŒκΈ°λ„ ν•˜λ‹€ γ…Žγ…Žγ…Ž λ‹€μŒ νŠΈμ™€μ΄μŠ€ μ•± κ°•μ˜λ„ 언넝 λ§Œλ“€μ–΄μ•Όμ§€!!

728x90
λ°˜μ‘ν˜•

'λͺ¨λ°”일 > android' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

μ•ˆλ“œλ‘œμ΄λ“œ μ‹œμž‘ν•˜κΈ°  (0) 2023.06.12
728x90
λ°˜μ‘ν˜•

μ•ˆλ“œλ‘œμ΄λ“œ 무료 인강 λ“£κ³  μ •λ¦¬ν•΄λ³΄μ•˜μŠ΅λ‹ˆλ‹€~~

 

< μ•ˆλ“œλ‘œμ΄λ“œ >

 => 툴 : μ•ˆλ“œλ‘œμ΄λ“œ μŠ€νŠœλ””μ˜€  / μ–Έμ–΄ : μžλ°”, μ½”ν‹€λ¦° 
 => μ•±μ— ν•΄λ‹Ήν•˜λŠ” κΈ°λŠ₯ μœ„μ£Όλ‘œ μ΅ν˜€μ„œ λ°”λ‘œ λ§Œλ“€μ–΄λ³΄κΈ°//

<μžλ°”>

- κ°μ²΄μ§€ν–₯ μ–Έμ–΄(μ ˆμ°¨μ μ΄λž‘ λ‹€λ₯Έ κ°œλ…)
- void : μ•„무 κ°’이 μ—†λ‹€
- μ˜€λ²„ λ‘œλ“œ : int add~~~ / double add~~~ : ν•¨μˆ˜κ°€ μ΄λ¦„이 λ™μΌν•œλ° μ΄κ²ƒμ΄ μ˜€λ₯˜κ°€ μ•„λ‹ˆλΌ addλΌλŠ” ν•¨μˆ˜(1,2) / (1.5, 3.5) λ₯Ό μ²˜λ¦¬ν•˜λŠ” κ²½μš°μ— κ°κ° μ•Œμ•„μ„œ μ²˜λ¦¬ν•¨
- μƒμ† : Class Animal { /  class Cat extends Animal { : animal(λΆ€λͺ¨ν΄λž˜μŠ€)의 μ†μ„±μ„ λͺ¨λ‘ λ°›κ³  μžμ‹μ΄ κ°™λŠ” νŠΉλ³„ν•œ κ°œλ… λ˜ν•œ ν¬ν•¨ / μœ„μ˜ κ°œλ…μ„ λ‹€ λ°›μŒ
- μ˜€λ²„ λΌμ΄λ“œ :  ν•¨μˆ˜λ“€μ€ λ™μΌν•˜μ§€λ§Œ λΆ€λͺ¨μ˜ κ²ƒμ„ μžμ‹λ“€μ΄ μž¬μ •μ˜ν•˜μ—¬ μ‚¬μš©ν•¨


<λ„€νŠΈμ›Œν¬ μ§€μ‹>

- λ™κΈ° : μ‘닡을 λ°›μ„λ•ŒκΉŒμ§€ λ‹€μŒ ν•¨μˆ˜λ‘œ λ„˜μ–΄κ°€μ§€ μ•ŠμŒ
- λΉ„동기 : ν•¨μˆ˜κ°€ ν˜ΈμΆœλ§Œ λ˜λ©΄ λ°”λ‘œ λ„˜μ–΄κ°(응닡은 μ½œλ°±μœΌλ‘œ λ°›μŒ) 
- μΏ ν‚€ : λ³€μˆ˜λ₯Ό μ €μž₯ν•˜λŠ” κ°œλ… / ν΄λΌμ΄μ–ΈνŠΈμ˜ νŠΉμ • λΆ€λΆ„, νŠΉμ • μœ„μΉ˜μ— μ €μž₯(파일둜 λ‚¨μŒ) / μΏ ν‚€ μ§€μš°κΈ° : μž„μ‹œ μ €μž₯λ³Έ λ‚ λ¦¬κΈ°
- Session : λ³€μˆ˜κ°€ μ„œλ²„μ˜ μœ„μΉ˜μ— μ €μž₯ / νŠΉμ • μ‹œκ°„ μ΄ν›„μ—λŠ” κ°’을 μ§€μ›€(λ‘œκ·ΈμΈμ€ λ‚˜κ°”λ‹€ λ“€μ–΄μ˜€λ©΄ μ—†μ–΄μ§) 
- VOIP(Voice over IP) : μŒμ„±μ„ λ°μ΄ν„°ν™” ν•œλ‹€ (ip에 μ˜ν•΄μ„œ μ „달 κ°€λŠ₯ / λ°μ΄ν„°λ₯Ό μ΄μš©ν•˜μ—¬ λ‹€μ‹œ μŒμ„±μœΌλ‘œ μ „달) ex) μΉ΄μΉ΄μ˜€ν†‘ μ „ν™”ν•˜κΈ°
-  NAT(Network Address Translate) : λͺ¨λ“  μ„œλ²„κ°€ νΌλΈ”λ¦­ μ•„이디λ₯Ό κ°–μ§€λŠ” μ•ŠμŒ / μ„œλ²„μ—λŠ” ν”„라이빗 μ•„이디λ₯Ό κ°€μ§€κ³  μžˆλŠ”데 λˆμ„ μ ˆμ•½ν•˜κ³  λ³΄μ•ˆμ„ μœ„ν•΄ μ‚¬μš© / μ ‘속을 ν•  μˆ˜ μžˆλŠ” λ°©λ²•μ΄ ν•„μš”ν•¨
- Hash : μ£Όλ―Όλ²ˆν˜Έ κ°™μ€ λ³΄ν˜Έν•΄μ•Όν•  κ²ƒμ„ λ³€μ‘°ν•˜μ—¬ μ €μž₯ν•  μˆ˜ μžˆκ²Œ ν•¨ / μ΄ κ°’이 λ§žλŠ”μ§€λ§Œ ν™•μΈν•˜κ³  λλ‚¨   
 

<μ•ˆλ“œλ‘œμ΄λ“œ μŠ€νŠœλ””μ˜€ μš©μ–΄>

- Build  : ν•˜λ‚˜μ˜ μ–Έμ–΄λ₯Ό apk둜 λ§Œλ“€μ–΄μ§€λŠ” κ³Όμ •
- Compile  : μš°λ¦¬μ˜ μ–Έμ–΄λ₯Ό μ»΄ν“¨ν„°κ°€ μ•Œμ•„듀을 μˆ˜ μžˆλŠ” μ–Έμ–΄λ‘œ
- Layout : .xmlμ—μ„œ κ΅¬μ„± = λ°°μΉ˜λ„(λ²„νŠΌ, λ°•μŠ€, μ§€λ„...)
- Activity : μ•ˆλ“œλ‘œμ΄λ“œ μ•±μ€ κ²°κ΅­ μ•‘ν‹°λΉ„ν‹° = ν™”λ©΄ μžμ²΄λ₯Ό λ§ν•¨ / layout을 ν’ˆκ³  μžˆλ‹€
- Event : λ²„νŠΌμ„ λˆ„λ₯Έλ‹€, μ–΄λ–€ ν•¨μˆ˜λ₯Ό μ‹€ν–‰ν•΄λΌ (κΈ°λŠ₯)
- App : μ£Όλ‘œ μ—¬λŸ¬κ°œμ˜ activityλ“€μ˜ ν•©(compile)  

< ν™”λ©΄ λ ˆμ΄μ•„웃 κ΅¬μ„±μ˜ λ‘κ°€μ§€ λ°©λ²• >

- Linear Layout : μˆœμ°¨μ μœΌλ‘œ λ°°μΉ˜ (κ°€λ‘œ ν˜Ήμ€ μ„Έλ‘œ), λ°©ν–₯을 μž‘μ•„μ€Œ, λ°°μΉ˜κ°€ λ¨
- Relative Layout : ν•˜λ‚˜λ₯Ό μ€‘μ‹¬μœΌλ‘œ μ–΄λ–€κ²ƒμ˜ μœ„에 μ•„λž˜, μ˜†μ—(μƒλŒ€μ μœΌλ‘œ λ°°μΉ˜λ¨)

< μ‹€ν–‰ν•˜κΈ° >

1. μ•ˆλ“œλ‘œμ΄λ“œ μŠ€νŠœλ””μ˜€ λ‹€μš΄ λ°›κΈ°
2. κ°€μƒμ˜ ν™”λ©΄ λ§Œλ“€κΈ°(μ•ˆλ“œλ‘œμ΄λ“œ ν° μ—†μœΌλ‹ˆκΉŒ μ»΄ν„°λ‘± / λ‚˜μ€‘μ—λŠ” ν™”면에도 ν•΄λ΄μ•Όν•¨)
3. μƒ˜ν”Œ μ•± μ‹€ν–‰ ν•΄λ³΄κΈ°(μ•Œμ•„μ„œ κΉ”λ¦Ό)

728x90
λ°˜μ‘ν˜•

+ Recent posts