(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
package com.example.android.sunshine.app; | |
import android.animation.Animator; | |
import android.animation.ObjectAnimator; | |
import android.animation.ValueAnimator; | |
import android.graphics.Canvas; | |
import android.graphics.ColorFilter; | |
import android.graphics.Paint; | |
import android.graphics.PixelFormat; | |
import android.graphics.Rect; |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
์ด ๊ธ์ ์ผ๋ณธ์ omochimetaru๋์ด Qiita์ ์ฌ๋ฆฐ Android ๊ฐ๋ฐ์ ์์ฃผํด์ Kotlin์ ์ ๋๋ก ์จ๋ดค๋๋ ์ต๊ณ ์๋ค.๋ผ๋ ๊ธ์ ๋ฒ์ญํด์ ๋ง๋ค์์ต๋๋ค. ๋ฒ์ญ์ ํ์พํ ํ๋ฝํด์ฃผ์ omochimetaru๋๊ป ๊ฐ์ฌํ๋ค๋ ๋ง์ ๋๋ฆฝ๋๋ค. ๋ํ ๊ธ์์ ํ๊ตญ์์๋ ์ฐ์ด์ง ์๋ ํํ๋ค ๋ฑ์ ๋ํด์๋ ์์ญ์ด ์์ฌ์์ต๋๋ค. ์ด ์ ์ํด ๋ถํ๋๋ฆฝ๋๋ค. ๋ฆ์ ์๊ฐ๊น์ง ์ค์ญ์ ์ฐพ๊ณ ๋ฒ์ญ์ ์ง์ ๋์ด๋๋ฐ ๋ง์ ๋์์ ์ฃผ์๊ณ ์คํ๋ ค ์ ๋ณด๋ค ๋ง์ด ๊ณ ์ํด์ฃผ์ ์ด์ํ๋ชจ์์ pluulove๋, chiyodad๋, lemonade๋๊ป๋ ๊ฐ์ฌํ๋ค๋ ๋ง์ ๋๋ฆฝ๋๋ค. ์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
๋ฉฐ์น ์ , ์ ๊ฐ ์์๋ Qoncept์์ "๋ฆฌ์ผ ์ ๋์ก๊ธฐ"xํ์งํ ํ์ด๋๋ ๊ฑฐ๋ ์ ์์ง์์๋ถํฐ์ ๋์ฃผ๋ฅผ ๊ฐ๋ฐํ๊ณ ์ถ์ํ์ต๋๋ค.
// ์์ ๋ด์ฉ: ํ์ด์ง ๋์ ajax ํธ์ถ๋ก ์๋ ํฅ์, ๋ฐ์ดํฐ ์ฌ์ฉ๋ ๊ฐ์ | |
// ๊ธฐ๋ณธ ์์ ๊ฒ์ ๋ฐฐ๊ฒฝ, ํฐ ๊ธ์จ, ๋นจ๊ฐ ์์ด์ฝ์ผ๋ก ๋ณ๊ฒฝ | |
const source = 'http://corona-live.com'; | |
const request = new Request('https://apiv2.corona-live.com/stats.json?timestamp='+Date.now()) | |
const response = await request.loadJSON() | |
const count = response.overview.current[0]; | |
const now = new Date(); | |
const date = `${now.getMonth()+1}์ ${now.getDate()}์ผ ${now.toLocaleString('kr', { hour: 'numeric', minute: 'numeric', hour12: true })}`; |