λΆ„λ₯˜ 전체보기 114

[Android] μ•ˆλ“œλ‘œμ΄λ“œ REST API

​ HTTP (Hypertext Transfer Protocol: ν•˜μ΄νΌλ³Έλ¬Έ μ „μ†‘κ·œμ•½) : μΈν„°λ„·μ—μ„œ, μ›Ή μ„œλ²„μ™€ μ‚¬μš©μžμ˜ 인터넷 λΈŒλΌμš°μ € 사이에 λ¬Έμ„œλ₯Ό μ „μ†‘ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ˜λŠ” 톡신 κ·œμ•½μ„ λ§ν•œλ‹€. HTML λ¬Έμ„œμ™€ 이미지, λ™μ˜μƒ, μ˜€λ””μ˜€, ν…μŠ€νŠΈ λ¬Έμ„œ 등을 μ£Όκ³  λ°›λŠ”λ‹€. + μ„œλ²„μ— REST API둜 μš”μ²­μ„ 보낼 λ•Œ HTTP κ·œμ•½μ— 따라 μ‹ ν˜Έλ₯Ό μ „μ†‘ν•œλ‹€. ​ ​ ​ ​ ​ ​ REST (Representational State Transfer : λŒ€ν‘œμ  μƒνƒœ 전달 ) μƒνƒœ 전달: 데이터가 μš”μ²­λ˜μ–΄μ§€λŠ” μ‹œμ μ—μ„œ μžμ›μ˜ μƒνƒœ(정보)λ₯Ό μ „λ‹¬ν•˜λŠ” 것을 λœ»ν•œλ‹€. :μ›Ή μ‹œμŠ€ν…œ (λΆ„μ‚°λœ ν•˜μ΄νΌλ―Έλ””μ–΄ μ‹œμŠ€ν…œμ„ μœ„ν•œ 아킀텍쳐 μŠ€νƒ€μΌ)ꡬ쑰, HTTP ν”„λ‘œν† μ½œ μž₯점을 살릴 수 μžˆλŠ” λ„€νŠΈμ›Œν¬ 기반 μ•„ν‚€ν…μ²˜ REST API -..

Android 2021.06.18

[Android] μ•ˆλ“œλ‘œμ΄λ“œ API

API ( application programming interface : μ‘μš© ν”„λ‘œκ·Έλž˜λ° μΈν„°νŽ˜μ΄μŠ€) : μš΄μ˜μ²΄μ œμ™€ μ‘μš©ν”„λ‘œκ·Έλž¨ μ‚¬μ΄μ˜ 톡신에 μ‚¬μš©λ˜λŠ” μ–Έμ–΄λ‚˜ λ©”μ‹œμ§€ ν˜•μ‹ 정보λ₯Ό μš”μ²­ν•˜λŠ” μ§€μ •λœ ν˜•μ‹ ​ ​ ​ ​ ​ ​ ​ ​ ​ APIλŠ” ν”„λ‘œκ·Έλž¨ λ‚΄μ—μ„œ 싀행을 μœ„ν•΄ νŠΉμ • μ„œλΈŒλ£¨ν‹΄μ— 연결을 μ œκ³΅ν•˜λŠ” ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜λŠ” κ²ƒμœΌλ‘œ κ΅¬ν˜„λœλ‹€. κ·ΈλŸ¬λ―€λ‘œ ν•˜λ‚˜μ˜ APIλŠ” ν•¨μˆ˜μ— μ˜ν•΄ μš”μ²­λ˜λŠ” μž‘μ—…μ„ μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄ 이미 μ‘΄μž¬ν•˜κ±°λ‚˜ λ˜λŠ” μ—°κ²°λ˜μ–΄μ•Ό ν•˜λŠ” λͺ‡ 개의 ν”„λ‘œκ·Έλž¨ λͺ¨λ“ˆμ΄λ‚˜ 루틴을 가진닀. ​ μ‰½κ²Œ μ„€λͺ…ν•˜μžλ©΄, library λŠ” μž¬μ‚¬μš© κ°€μΉ˜κ°€ μžˆλŠ” μ½”λ“œ (ν•¨μˆ˜μ˜ 집합) 둜 API λ₯Ό 톡해 μ‚¬μš©ν•  수 μžˆλ‹€. APIλŠ” 라이브러리λ₯Ό 이해할 ν•„μš” 없이, λ‚΄λΆ€ ꡬ쑰에 λŒ€ν•΄ μ•Œ ν•„μš” 없이 ν•¨μˆ˜ λ˜λŠ” 클래슀λ₯Ό μ‚¬μš©ν•  수 μžˆλ„..

Android 2021.06.18

[Kotlin] μ½”ν‹€λ¦° μƒμ„±μž ( Constructor )

클래슀(섀계도) -λ§Œλ“œλŠ”λ²•/μ •μ˜ (μƒμ„±μž)-객체(집) ​ ​ μžλ°”μ—μ„œλŠ” "ν΄λž˜μŠ€μ΄λ¦„(λ§€κ°œλ³€μˆ˜)" ν˜•νƒœλ‘œ μƒμ„±μžλ₯Ό λ§Œλ“€κ³ , overloading ν•˜μ—¬ μƒμ„±μžλ₯Ό μ—¬λŸ¬κ°œ λ‘˜ 수 μžˆλ‹€.(λ§€κ°œλ³€μˆ˜μ˜ 수 λ˜λŠ” νƒ€μž… λ“±μ˜ 차이λ₯Ό 두어 μ„œλ‘œ 같지 μ•Šκ²Œ ν•œλ‹€.) ​ ​ ​ μƒμ„±μž: 값을 섀정해쀄 수 μžˆλ‹€. ​ 클래슀 전체 μ½”λ“œ class MyFriendParans (var name:String?, var age:Int?, private var address:String?){ var pet:Boolean?=null //첫번째 호좜 //μ‹œμž‘λ  λ•Œ, 객체가 λ©”λͺ¨λ¦¬μ— 올라갈 λ•Œ 호좜됨 init { this.name="읡λͺ…" //μ™ΈλΆ€μ—μ„œ μ–΄λ–€ 값을 주더라도 "읡λͺ…"으둜 μ„€μ • } //λ‘λ²ˆμ§Έ 호좜 //μΆ”κ°€ μƒμ„±μž: 기쑴에 있던 것에..

Android 2021.06.18

[Kotlin] λ³€μˆ˜μ™€ ν•¨μˆ˜ 1

1. λ³€μˆ˜ μ„ μ–Έ 및 μ΄ˆκΈ°ν™” ​ 1.1 λ³€μˆ˜ 선언법 val, var ​ val(value) Assgn-once(Ready-only), λ³€κ²½λΆˆκ°€λŠ₯ν•œ λ³€μˆ˜ var(variable) Mutable, λ³€κ²½κ°€λŠ₯ν•œ λ³€μˆ˜ ​ λ³€μˆ˜ 선언법 ​ ​ ​ 1.2 λ³€μˆ˜ μ΄ˆκΈ°ν™” μ½”ν‹€λ¦°μ—μ„œ λ³€μˆ˜ 선언은 μ΅œμƒμœ„(클래슀 μ™ΈλΆ€), 클래슀 λ‚΄λΆ€, ν•¨μˆ˜ 내뢀에 ν•  수 μžˆλ‹€. μ½”ν‹€λ¦° λ³€μˆ˜λŠ” μžλ™μœΌλ‘œ μ΄ˆκΈ°ν™”λ˜μ§€ μ•ŠμœΌλ―€λ‘œ μ½”λ“œμ—μ„œ 직접 μ΄ˆκΉƒκ°’μ„ λŒ€μž…μ— μ£Όμ–΄μ•Ό 이용이 κ°€λŠ₯ν•˜λ‹€. ​ 속성 μ΄ˆκΈ°ν™”λ₯Ό μ—°κΈ°ν•΄ μ£ΌλŠ” λ°©λ²•μœΌλ‘œ lateinit μ˜ˆμ•½μ–΄κ°€ μžˆλ‹€. lateinit μ˜ˆμ•½μ–΄ μ‚¬μš© μ‹œ κ°€λŠ₯ν•œ 빨리 속성을 μ΄ˆκΈ°ν™”ν•΄μ•Ό ν•œλ‹€. ​ 속성 μ΄ˆκΈ°ν™” μ—°κΈ° ​ ​ 1.3 null 이 될 수 μžˆλŠ” λ³€μˆ˜μ™€ null μ½”ν‹€λ¦°μ—μ„œ null 값을 λŒ€μž…ν•˜λ €λ©΄ λͺ…μ‹œμ μœΌλ‘œ null..

Android 2021.06.18

[Android] ViewPager1κ³Ό ViewPager2

1. ViewPager ​ ViewPagerλŠ” 데이터λ₯Ό νŽ˜μ΄μ§€ λ‹¨μœ„λ‘œ ν‘œμ‹œν•˜κ³  쒌/우 뒀집기λ₯Ό 톡해 νŽ˜μ΄μ§€λ₯Ό μ „ν™˜ν•˜λŠ” μ»¨ν…Œμ΄λ„ˆμ΄λ‹€. ​ ​ ​ 1.2. μ•ˆλ“œλ‘œμ΄λ“œ μ–΄λŒ‘ν„°(Adapter) ​ μ•ˆλ“œλ‘œμ΄λ“œμ—μ„œ λ°μ΄ν„°λ¦¬μŠ€νŠΈλ₯Ό μ•„μ΄ν…œ λ‹¨μœ„μ˜ λ·° λ˜λŠ” λ·° μ§‘ν•©μœΌλ‘œ ν‘œμ‹œν•  λ•Œ, μ–΄λŒ‘ν„°(adapter)λ₯Ό μ‚¬μš©ν•œλ‹€. μ•ˆλ“œλ‘œμ΄λ“œ μ–΄λŒ‘ν„°(Adapter)λŠ” 데이터 리슀트λ₯Ό μž…λ ₯λ°›μ•„ 화면에 ν‘œμ‹œν•  뷰듀을 μƒμ„±ν•œλ‹€. ​ ​ μ•ˆλ“œλ‘œμ΄λ“œ μ–΄λŒ‘ν„°_yxxnForest ​ 각 μ–΄λŒ‘ν„°λ“€μ˜ νŠΉμ„±μ— 따라 λ‹€λ₯΄κ²Œ method κ°€ μž‘μ„±λ˜μ–΄μ•Ό ν•œλ‹€. λ”°λΌμ„œ 각각의 methodλŠ” μ˜€λ²„λΌμ΄λ“œ(override)λ˜μ–΄μ•Ό ν•œλ‹€. ​ ​ ​ ​ 1.3. νŽ˜μ΄μ €μ–΄λŒ‘ν„° PagerAdapter ​ νŽ˜μ΄μ €μ–΄λŒ‘ν„°(PagerAdapter)λŠ” λ·°νŽ˜μ΄μ €(ViewPager)의..

Android 2021.06.18

[Kotiln] μ½”ν‹€λ¦° κΈ°λ³Έ μž‘μ„±λ²•ν”„λ‘œνŒŒμΌ

1. μ½”ν‹€λ¦° 파일 μ •μ˜ ​ (1) μ½”ν‹€λ¦° 파일 -클래슀 파일: ν•΄λ‹Ή 파일 λͺ…을 가진 ν΄λž˜μŠ€κ°€ μ„ μ–Έλœ 파일 -일반 파일: μ—¬λŸ¬ κ΅¬μ„±μš”μ†Œ(클래슀, λ³€μˆ˜, ν•¨μˆ˜ λ“±)κ°€ ν•¨κ»˜ μ„ μ–Έλœ 파일 ​ *μ½”ν‹€λ¦° ν”„λ‘œκ·Έλž¨ ν™•μž₯자 kt ​ μ½”ν‹€λ¦° νŒŒμΌμ„ λ§Œλ“€ λ•Œ 일반 파일(File)κ³Ό 클래슀 파일(class)을 κ΅¬λΆ„ν•΄μ„œ λ§Œλ“€κΈ°λŠ” ν•˜μ§€λ§Œ λ‘˜μ˜ μ°¨μ΄λŠ” μ—†λ‹€. ꡳ이 λ‘˜μ„ λ‚˜λˆ„λŠ” μ΄μœ λŠ” λ‹¨μˆœνžˆ μ½”λ“œλ₯Ό 읽기 μ‰½κ²Œ ν•˜λ €λŠ” μ˜λ„μ΄λ‹€. μ½”ν‹€λ¦° νŒŒμΌμ— λ³€μˆ˜λ‚˜ ν•¨μˆ˜λ₯Ό 클래슀둜 묢지 μ•Šμ•„λ„ λ˜λŠ”λ°, μ΄λŠ” 클래슀둜 묢지 μ•Šμ€ λ³€μˆ˜λ‚˜ ν•¨μˆ˜λ₯Ό λ¬ΆκΈ° μœ„ν•΄ μžλ™μœΌλ‘œ 파일λͺ… 뒀에 Ktκ°€ μΆ”κ°€λœ ν΄λž˜μŠ€κ°€ μƒμ„±λ˜κΈ° λ•Œλ¬Έμ΄λ‹€. ​ 예) 파일λͺ… test -> 클래슀 testKt.class ​ ​ (2) 파일의 κ΅¬μ„±μš”μ†Œ νŒ¨ν‚€μ§€(package), μž„ν¬νŠΈ(import..

Android 2021.06.18
728x90