#iOS | #Android ãã¡ã·ã§é Swift ã身ã«ä»ãã¦ããéç¨ã®è¨é²ãææ°ãã¥ã¼ã¹ãä½¿ãæ¹ãiPhoneãMacãAndroidãPython ãªã©ãã ãªãã ãå¾®å¦ãªæããã¾ãã APIã®ä»æ§ããªã®ãã ãµã³ãã«ã®ã³ã¼ãããªã®ãã Camera2ã android-Camera2Basic/Camera2BasicFragment.kt at master · googlesamples/android-Camera2Basic ããã¤ãã®ã³ã¼ã«ããã¯å¦çã é£ç¶ãã¦å¦çããã¾ãã kotlin ã®è¸å½ã§åããããããã¦ã¿ã¾ãããã ã³ã¼ã«ããã¯ã®ã©ããã³ã° å¤ãã®éåæå¦çAPI㯠ã³ã¼ã«ããã¯ã¹ã¿ã¤ã«ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ãæã£ã¦ã¾ãã suspendCoroutine ã® ãsuspend functionã ã使ã㨠簡åã«ã³ã¼ã«ããã¯ããã®ä¸ã«ã©ããã³ã°ãããã¨ãã§ã
Kotlin Fest 2019楽ããã£ãã§ãã ä»åã¯ãKotlinã³ã«ã¼ãã³ãçè§£ããã 2019ãã話ãã¦ãã¾ããã è³æä½ãã®æ§åãåã»ã¯ã·ã§ã³ãä½ãæã«ãªã«èãã¦ãããåçç¹ãªã©ã¾ã¨ãã¾ãã ååã¨ä»åã§ãã´ã®å½¢ãã¡ãã£ã¨å¤ãã£ã¦ã è³æ ã³ã«ã¼ãã³ã¨ã¯ãªã«ããããå®é使ã£ã¦ã©ããã¹ããããã¾ã§ã45åã§ã¾ã¨ããã®ã¯ãªããªãé£ããã£ãã§ãããä¸å¿ç¶²ç¾ çã«ããããï¼ï¼ã¨ã¯æã£ã¦ãã¾ããä½ãæã¯ãã¤ãã¤è¨ã£ã¦ã¦ãªã«ãèãã¦ãªãã£ããã©æ¹ãã¦ã¿ãã¨ããããã触ã£ã¦ããå ´åã«æåã«èªããã®ã¨ãã¦çµæ§ãããããããã¨æããªã©ãã¾ããã speakerdeck.com ã³ã«ã¼ãã³ã¨ã¯ãªã«ãããªã«ãããããã®ã æ¦å¿µã«ã¤ãã¦ã¯èªåã®ãªãã§ã¯ããç¨åº¦çè§£ã§ãã¦ããã®ã®ã対象ã³ã«ã¼ãã³ãé対称ã³ã«ã¼ãã³ã«ã¤ãã¦ææ§ã ã£ãã®ã§æ¹ãã¦èª¿ã¹ãã æ°éèªãnæåã©ã ããã¼ããã®ããã³ã«ã¼ãã³ãã¨ã¯ä½ã ã£ã
Transcript try-catchããrunCatchingã« ç§»è¡ãã話 å®é½ç¥ç´ (@oï¬2white) èªå·±ç´¹ä» å®é½ç¥ç´ï¼ãããããããï¼ Twitter: @off2white æ ªå¼ä¼ç¤¾ ãã£ã¼ã»ã¨ãã»ã¨ã¼ï¼DeNAï¼ - 次ä¸ä»£ã¿ã¯ã·ã¼é è»ãµã¼ãã¹ã MOVã - Androidã¢ããªéçºæ å½ - ããã¸ã§ã¯ã管çã¨ã³ã¼ãã£ã³ã°ã®å²å = 50:50 (æ°æã¡ã¯) æè¿ã®æ©ã¿ ãã¾ã ã«éå¶ãããæ¡ææã« 人ãééãã¦ããªãã£ãã®ãå¿é None èæ¯ å人çã¨ã©ã¼ãã³ããªã³ã° ã®å¤é· ãã®ï¼â¨ ããã¿ã«ä¾å¤ã使ããªããªã£ã ClassA ClassB ClassC Exception New ClassD 誰ã Catch ããï¼ NewException Not For Me Exception ï¼ ClassA ClassB ClassC sealed class N
Posted on December 24, 2018 |  5 minutes |  2495 words |  yota ogino ã¯ããã« ãã®è¨äºã¯Kotlinã¢ããã³ãã«ã¬ã³ãã¼24æ¥ç®ã®è¨äºã§ãã Advent Calendarã«ç©ºãããã£ãã®ã§æç¨¿ãããã¨ã«ãã¾ããã ãã®è¨äºã§ã¯Kotlin/Nativeã®æ¨æºã©ã¤ãã©ãªã®å®è£ ã«ã¤ãã¦è§£èª¬ãã¾ãã æ¤è¨¼ç°å¢ Kotlin Native v1.0.3 macOS Mojave 10.14.2 Kotlin/Nativeã¨ã¯ Kotlin/Nativeã¯Kotlinã®ã³ã¼ãããã¤ãã£ããã¤ããªã«ã³ã³ãã¤ã«ãã¦ããããã®ã§ãã åãã©ãããã©ã¼ã ã»ã¢ã¼ããã¯ãã£åãã®ãã¤ãã£ããã¤ããªãçæãããã®ã§ãJvm Kotlinã®ãããªVMç°å¢ãªã©ãå¿ è¦ãªãããã¤ãã£ãç°å¢ã®ã¾ã¾ã§åä½ãã¾ãã ç¾å¨ã¯ä»¥ä¸ã®ãã©ãããã©ã¼ã ããµãã¼ãã
Kotlin Fest 2019 ã§è¡ã£ããCoroutinesããç´è§£ãKtorã®ä»çµã¿ãã®è³æã§ãã
https://kotlinlang.org/ 2019/8/22 Kotlin 1.3.50ããªãªã¼ã¹ããã¾ãã Kotlin 1.3.50 released ä½µã㦠Kotlin coroutiees1.3.0ããªãªã¼ã¹ããã¾ãããï¼ ï¼ãã£ã¡ã¯ä»å触ãã¾ããã..ï¼ Kotlin Fest 2019ãéå¬ç´åã§ã®ãªãªã¼ã¹ã¨ãªãã¾ãã! (ç»å£ãããæ¹ã¯ç´åã«1.3.50ã«å¯¾å¿ããããè³æä¿®æ£ã大å¤ã ã£ãã¨ã..) 以ä¸ãªãªã¼ã¹ããã°ãç¥ããªãã翻訳ãã¾ããã ãã¾ãæ £ãã¦ãªãã®ã§èª¤è¨³ããã£ããããããªãã ãµã㪠Null-Checkã®ä»çµã¿ãæé©åããã¾ãã æ°ããDuration and time measurement APIãå®è£ ããã¾ããï¼ãã¬ãã¥ã¼ã§å©ç¨å¯è½ï¼ Java-to-Kotlinã³ã³ãã¼ã¿ãæ¹è¯ããã¾ãã Experimentalã¨ãã¦Gradle Kotlin
- Kotlin Coroutinesã«ã³ã¼ã«ãã¹ããªã¼ã ããªãã£ãã®ã§Flowãç»å ´ - Channelã¯ãããã¹ããªã¼ã - ãããã¹ããªã¼ã ã¯çµæ§ç°¡åã«ãªã¼ã¯ãã - Flowã¯åä¿¡ãéå§ããªãéãåä½ããªã - Flowã¯å®è¡ããæã«å¿ ãã³ã«ã¼ãã³ã¹ã³ã¼ãã«å±ããã®ã§éãå¿ãããªã -â¦
.app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads
.app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads
ã¯ããã« Kotlinãç¨ãã¦Androidã¢ããªéçºãè¡ã£ã¦ã㦠ãREST APIãå©ãã¦åå¾ããçµæããã¨ã«UIãæ´æ°ãããéã« HTTPéä¿¡ã¯ã¡ã¤ã³ã¹ã¬ããå¤ã§è¡ãå¿ è¦ããã(éåæå¦çãå¿ è¦) åå¾ããjsonãã¼ã¿ã®ãã¼ã¹ãé¢å(Gson, moshiãªã©ããããã¨ã©ã¤ãã©ãªã¯ããããjsonã®ãã¼ã¿ã¹ãã¼ã ãå®ç¾©ããã®ãé¢åã) UIæ´æ°ã¯ã¡ã¤ã³ã¹ã¬ããã§è¡ãå¿ è¦ããã(AsyncTaskãªã©ã§éåæå¦çãè¡ãã¨å¦çãè¥å¹²é·ããªã) ãªã©ã®å¶ç´ããããããå人çã«ä¸è¨ã楽ã«è¡ããæ±ç¨ã¹ããããã使ãã¾ããã ä»å使ããã¹ããããã®ãã¤ã³ã㯠HTTPéä¿¡ã«ã¯ãOKHttp3ãä½¿ç¨ jsonã®ãã¼ã¹ã«ããã¼ã¿ã¢ãã«ã®å®ç¾©ä¸è¦ãªminimal-jsonãä½¿ç¨ éåæå¦çã«ãAsync, Await (kotlin.coroutins) ãä½¿ç¨ 2018/12/2æ´æ° Kotl
ãã®è¨äºã¯2018å¹´Kotlin Advent Calendar ã®11æ¥ç®ã®è¨äºã§ãã (æ¬æ¥ã¯22æ¥ç®ã§ããããä»å¹´ã¯æ®å¿µãªãã空ããåºæ¥ã¦ããã®ã§å ã«ä¹ã£åãã¾ãã) Kotlin Advent Calendarã¯æ°ä»ãã¦ã¿ãã°4å¹´é£ç¶4åç®ã®åºå ´ã«ãªãã¾ããã åã¨Kotlinã®åºä¼ãã¯ç¾å¨ã®ä¼ç¤¾ã«å ¥ç¤¾ãã2015å¹´ã®4æé ã§ããã Androidéçºã§ã¯Javaå ¨çæã®æä»£ã«ã彿ã¾ã M13(milestone)ã ã£ãKotlinã®ã¿ã使ã£ã¦éçºãããã¨ããããã¸ã§ã¯ãã§ã ç´ä½æ²æãçµã¦2016å¹´ã®1æã«ãªãªã¼ã¹ãããã®ã§ãããå½å ã®ãããªãã«å¤§è¦æ¨¡ãªãµã¼ãã¹ã§ãã«Kotlinã§ãªãªã¼ã¹ããã Androidã¢ããªã§ã¯ä¸çªæ©ãã£ãã®ã§ã¯ãªããã¨æãã¾ããã¡ãªã¿ã«ã¢ããªã®ãªãªã¼ã¹æç¹ã§ã¯Kotlinã¯ã¾ã βãã¼ã¸ã§ã³ã§ããã å ¬å¼ä»¥å¤ã®æ å ±ãã¾ã ã¾ã å°ãªããã¼ã ã¡ã³ãã¼ã¨è©¦è¡é¯èª¤
Kotlin Coroutinesãã¿ã¼ã³ï¼ã¢ã³ããã¿ã¼ã³ Coroutineãçè§£ããããã以ä¸ã®ãµã¤ããæ¥æ¬èªè¨³ãã¾ããã https://proandroiddev.com/kotlin-coroutines-patterns-anti-patterns-f9d12984c68e ç®æ¬¡ éåæå¼ã³åºããcoroutineScopeã§ã©ããããããSupervisorJobã使ç¨ãã¦ä¾å¤ãå¦çãã¾ãã ã«ã¼ãã³ã«ã¼ãã³ã®ã¡ã¤ã³ãã£ã¹ãããã£ãåªå ãã ä¸è¦ãªasync / awaitã®ä½¿ç¨ãé¿ãã ã¹ã³ã¼ãã¸ã§ãããã£ã³ã»ã«ããªã æé»ã®ãã£ã¹ãããã£ã使ã£ã¦ä¸æé¢æ°ãæ¸ããªãããã«ãã ã°ãã¼ãã«ã¹ã³ã¼ãã®ä½¿ç¨ãé¿ãã éåæå¼ã³åºããcoroutineScopeã§ã©ããããããSupervisorJobã使ç¨ãã¦ä¾å¤ãå¦çãã¾ã éåæãããã¯ãä¾å¤ãã¹ãã¼ããå¯è½æ§ãããå ´åã¯ã
Kotlin Coroutines 1.2.0ããFlowã¨ããCold Streamãå®ç¾ããä»çµã¿ãå°å ¥ããã¾ãããããã¾ã§ã¯Channelã¨ããHot Streamã®ä»çµã¿ããã£ãã®ã§Rxã«ã ãã¶è¿ã¥ãã¦ããæããããã¾ãã ãã®è¨äºã§ã¯ãFlowã¨LiveDataãåæ¹åãã¼ã¿ãã¤ã³ãã£ã³ã°ã使ã£ã¦ããæãã«UIã®ã¤ãã³ããå¦çãã¦ã¿ã¾ãã LiveData as Flow ã¾ãã¯ãLiveDataã«ã»ãããããå¤ãFlowã¨ãã¦æ±ãããã®æ¡å¼µé¢æ°ãä½ãã¾ããChannelãä½ãã¨ãã¯channelãproduceã¨ãã£ãChannel Builderã§ä½ã£ã¦ãã¾ããããFlowã§ã¯flowãflowViaChannelã¨ããFlow Builderãç¨æããã¦ãã¾ãã flowã§ã¯Flowã«å¤ãæµãå¦çemitãsuspend颿°ã«ãªã£ã¦ãããObserverã®onChanged
Markus Trienke, Sunset over drift iceAsynchronous, long-running, or remote operations can be expressed using a future type, so a function returning a Value could be implemented as: fun fooAsync(p: Params): CompletableFuture<Value> = CompletableFuture.supplyAsync { bar(p) } When you callfooAsync(p) you get a promise to deliver a value in the future and there is an operation bar running in backgroun
ã©ã³ãã³ã°
ã©ã³ãã³ã°
é害
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}