Android

Android::Java 문법 +οΌ 

λ„μΊλ¦¬πŸ± 2020. 7. 21. 17:54
λ°˜μ‘ν˜•

● Sp, dp

https://velog.io/@rjsdnqkr1/SP%EC%99%80-DP%EC%9D%98-%EC%B0%A8%EC%9D%B4

  • DP ( Density - Independent Pixels)

Ui λ ˆμ΄μ•„μ›ƒμ„ μ •μ˜ν•  λ•Œ, λ ˆμ΄μ•„μ›ƒ μΉ˜μˆ˜λ‚˜ μœ„μΉ˜λ₯Ό μ§€μ •ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” λ‹¨μœ„. ν”½μ…€ 독립 λ‹¨μœ„μ΄λ©° ν™”λ©΄μ˜ 크기가 달라도 λ™μΌν•œ λΉ„μœ¨λ‘œ 보여주기 μœ„ν•΄ μ•ˆλ“œλ‘œμ΄λ“œμ—μ„œ μ •μ˜ν•œ λ‹¨μœ„μ΄λ‹€.

  • SP (Scale - Independent Pixels)

λ ˆμ΄μ•„μ›ƒμ„ μ •μ˜ν•  λ•Œ ν…μŠ€νŠΈμ˜ 크기λ₯Ό μ§€μ •ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” λ‹¨μœ„

 

spλŠ” TextView의 textSizeλ₯Ό 지정할 λ•Œ μ‚¬μš©ν•œλ‹€. DpλŠ” 화면에 따라 μ‚¬μ΄μ¦ˆκ°€ 달라지지 μ•Šκ³  κ³ μ •λœ 값을 κ°–λŠ”λ‹€. SpλŠ” μ‹œμŠ€ν…œμ˜ μ‚¬μ΄μ¦ˆμ— 따라 TextViewκ°€ μž‘μ•„μ§€κ±°λ‚˜ 컀진닀. 반면, TextView의 μ‚¬μ΄μ¦ˆλ₯Ό κ³ μ •κ°’μœΌλ‘œ μ€˜μ•Όν•˜λŠ” κ²½μš°κ°€ μžˆλŠ”λ°, 이럴 λ•ŒλŠ” dpλ₯Ό μ‚¬μš©ν•˜λ©΄ λœλ‹€.

 

● λ°°μ—΄(Array)κ³Ό 리슀트(linkedList / ArrayList)

https://wayhome25.github.io/cs/2017/04/17/cs-18-1/

https://m.blog.naver.com/PostView.nhn?blogId=heartflow89&logNo=220950491600&proxyReferer=https:%2F%2Fwww.google.com%2F

  • λ°°μ—΄ _ 크기 λ³€κ²½ λΆˆκ°€. 인덱슀 가짐 int[ ] num = new int[4]; 
  • 리슀트_μˆœμ„œκ°€ μžˆλŠ” λ°μ΄ν„°μ˜ λͺ¨μž„. λΉˆν‹ˆμ—†λŠ” λ°μ΄ν„°μ˜ 적재. 인덱슀 가짐. ArrayList numbers = new ArrayList(); (add , .remove, λ“± μ‚¬μš©)

→ 각 κΈ°λŠ₯을 잘 μ•Œ κ³  μ“°μž.

 

● java , Final κ³Ό Static Final

1) staticμ΄λž€

: μžλ°”μ—μ„œ static 은 클래슀 멀버λ₯Ό μ„€μ •ν•˜λŠ” ν‚€μ›Œλ“œ.

 static은 μ—¬λŸ¬λ²ˆ μ°Έμ‘°ν•΄μ•Όν•˜λŠ” μƒμˆ˜λ‚˜ μœ ν‹Έλ¦¬ν‹° 같은 κ²½μš°μ—λ§Œ μ„ μ–Έν•˜λŠ”κ²ƒμ΄ μ’‹λ‹€.

ν•œ 클래슀의 static λ³€μˆ˜λŠ” Classμ˜μ—­μ— μ €μž₯λ˜μ–΄ μžˆμ–΄ μ–΄λ–€ μΈμŠ€ν„΄μŠ€λ“  λͺ¨λ‘ λ˜‘κ°™μ€ 값을 κ°€μ§„λ‹€λŠ” 것을 κΌ­ κΈ°μ–΅ν•˜μž!

 

2) final μ΄λž€

: μƒμˆ˜μ •μ˜ (μ–Έμ œλ“  ν•œλ²ˆ κ°’ μ €μž₯ν•˜κ³  λ‹€μ‹œ 바꾸지 μ•Šμ„ λ•Œ μ‚¬μš©), λ©”μ„œλ“œμ—μ‚¬μš©(μ˜€λ²„λΌμ΄λ”©(extends~) λͺ»ν•˜κ²Œν•¨) , ν΄λž˜μŠ€μ— μ‚¬μš© (상속을 λͺ»ν•˜κ²Œ λ§Œλ“ λ‹€.)

 

3) static final μ΄λž€

 : tatic final은 κ°μ²΄(μΈμŠ€ν„΄μŠ€)κ°€ μ•„λ‹Œ ν΄λž˜μŠ€μ— μ‘΄μž¬ν•˜λŠ” 단 ν•˜λ‚˜μ˜ μƒμˆ˜μ΄λ‹€. μ¦‰ κ°μ²΄λ§ˆλ‹€ 값이 λ°”λ€ŒλŠ” 것이 μ•„λ‹Œ ν΄λž˜μŠ€μ— μ‘΄μž¬ν•˜λŠ” μƒμˆ˜μ΄λ―€λ‘œ μ„ μ–Έκ³Ό λ™μ‹œμ— μ΄ˆκΈ°ν™”λ₯Ό ν•΄ μ£Όμ–΄μ•Όν•˜λŠ” 클래슀 μƒμˆ˜μ΄λ‹€.

[좜처] [Java]static|μž‘μ„±μž flzl2008

 

● java , Random

μžλ°”μ—μ„œ λ‚œμˆ˜ μ–»μ–΄λ‚΄λŠ” 방법

https://coding-factory.tistory.com/530

1) Random 클래슀 ν™œμš©ν•˜κΈ°

- boolean, int, long, float, double λ‚œμˆ˜ 얻을 수 있음 / μ’…μžκ°’(seed) μ„€μ • κ°€λŠ₯.

2) Math 클래슀 ν™œμš©ν•˜κΈ°

- Math.random() : 0.0μ—μ„œ 1μ‚¬μ΄μ˜ double λ‚œμˆ˜ μ–»λŠ”λ‹€. / μ’…μžκ°’(seed)κ°€ ν˜„μž¬μ‹œκ°„μœΌλ‘œ κ³ μ •.

- Math ν΄λž˜μŠ€λŠ” μ΅œμƒμœ„ 클래슀인 Object 클래슀 μ•ˆμ— μžˆμœΌλ―€λ‘œ λ”°λ‘œ Importλ₯Ό μ‹œμΌœμ£Όμ§€ μ•Šμ•„λ„ μ‚¬μš©μ΄ κ°€λŠ₯ν•˜λ©° Math.random()λ©”μ†Œλ“œλ„ staticλ©”μ†Œλ“œλ‘œ μ΄λ£¨μ–΄μ ΈμžˆκΈ°μ— λ°”λ‘œ ν˜ΈμΆœν•  수 μžˆμŠ΅λ‹ˆλ‹€.

- (int) ((Math.random()*10000)%10)); 이런 μ‹μœΌλ‘œ 값을 높인 ν›„ λ‚˜λ¨Έμ§€ κ°’μœΌλ‘œ 10 μ΄ν•˜ 0이상 λžœλ€κ°’  

 

 

 

● μ•ˆλ“œλ‘œμ΄λ“œ μŠ€νŠœλ””μ˜€, drawble μ°Έμ‘° 문제

https://okky.kr/article/468722?note=1438980

 

 

 

λ°˜μ‘ν˜•