λΆ„λ₯˜ 전체보기 93

[Android]Retrofit2와 REST API 톡신 1 ( Kotlin )

Retrofit : Android 와 Java ν™˜κ²½μ—μ„œ HTTP APIλ₯Ό 쉽고 μ•ˆμ „ν•˜κ²Œ μ‚¬μš©ν•  수 μžˆλ„λ‘ λ„μ™€μ£ΌλŠ” λΌμ΄λΈŒλŸ¬λ¦¬μ΄λ‹€. REST API 톡신을 μœ„ν•΄ κ΅¬ν˜„λ˜μ—ˆλ‹€. ​ ​ REST API μ„€λͺ… https://blog.naver.com/88yhtserof/222208916350 [Android] μ•ˆλ“œλ‘œμ΄λ“œ REST API ​HTTP (Hypertext Transfer Protocol: ν•˜μ΄νΌλ³Έλ¬Έ μ „μ†‘κ·œμ•½) : μΈν„°λ„·μ—μ„œ, μ›Ή μ„œλ²„μ™€ μ‚¬μš©μžμ˜ 인... blog.naver.com ​ ​ ​ ​ ​ ​ ​ Retrofit2 λ₯Ό μ΄μš©ν•œ JSON 데이터 HTTP 톡신 ​ Retrofit2 라이브러리λ₯Ό μ‚¬μš©ν•˜κΈ° μœ„ν•΄ Gradle 에 λ‹€μŒκ³Ό 같이 μΆ”κ°€ν•΄μ€€λ‹€.​ dependencies{ implementation..

Android 2021.06.18

URL μ£Όμ†Œμ˜ μ˜λ―Έμ™€ ꡬ성

​ URL μ£Όμ†Œ Uniform Resource Locator : λ„€νŠΈμ›Œν¬ μƒμ—μ„œ μžμ›μ΄ μ–΄λ”” μžˆλŠ”μ§€λ₯Ό μ•Œλ €μ£ΌκΈ° μœ„ν•œ κ·œμ•½μœΌλ‘œ ν”νžˆ μ›Ή μ£Όμ†Œ λ˜λŠ” 인터넷 μ£Όμ†ŒλΌκ³ λ„ 뢈리며 URL Uniform Resource Identifier 의 ν•œ μœ ν˜•μœΌλ‘œ λ¦¬μ†ŒμŠ€μ˜ μœ„μΉ˜μ™€ μ•‘μ„ΈμŠ€μ— μ‚¬μš©λ˜λŠ” ν”„λ‘œν† μ½œμ„ λ‚˜νƒ€λ‚Έλ‹€. ​ ​ ​ μ˜ˆμ‹œλ‘œ μž‘μ„±ν•œ URL μž…λ‹ˆλ‹€. ​ ​ 1. 톡신 κ·œμ•½ communication protocol : λ„€νŠΈμ›Œν¬ μƒμ˜ μ„œλ²„λ‘œλΆ€ν„° μ›Ή λ¬Έμ„œ 정보(html)와 이미지 λ“±μ˜ λ¦¬μ†ŒμŠ€λ₯Ό λ°›μ•„μ˜¬ 톡신 방식을 미리 정해놓은 κ²ƒμœΌλ‘œ HTTP, HTTPS 등이 μžˆλ‹€. ​ 2. 도메인 domain ​ 3. 디렉터리 directory :ν•΄λ‹Ή 파일(λ˜λŠ” μžμ›)이 μ„œλ²„μ˜ 어디에 μžˆλŠ”μ§€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 경둜 ​ 4. 파일 file : ..

Android 2021.06.18

[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