ã¯ããã« Retrofit 㨠Kotlin Coroutine Adapter ã使ã£ã¦HTTPéä¿¡ãè¡ãAndroidã¢ããªãéçºãã¦ããã®ã§ãããCoroutineã®ãã£ã³ã»ã«å¾ã«HTTPéä¿¡ã®ä¾å¤ãçºçããã¨ãæããããä¾å¤ãæªãã£ããã«ãªã â ã¢ããªãã¯ã©ãã·ã¥ãããã¨ããæåããããããã£ãã®ã§ãåé¡ã®å 容ã¨è§£æ±ºæ¹æ³ãã·ã§ã¢ãã¾ãã åé¡ã®èª¬æ ã³ã¼ãä¾ ä¾ãã°ãRetrofitã§æ¬¡ã®ããã«HTTP APIå¼ã³åºããå®ç¾©ã interface GitHubService { @GET("users/{user}/repos") fun listRepos(@Path("user") user: String): Deferred<List<Repo>> } class MyViewModel : ViewModel() { private val viewModelJob =
Kotlin 1.3 ããStableã«ãªãã¨ãããã¦ããKotlin Coroutinesãåå¼·ããã®ã§ã¡ã¢ã¨ãã¦æ¸ãã¦ããã¾ãã Kotlin Coroutinesã£ã¦ä½ï¼ï¼ã£ã¦æ¹ã¯ä¸ã®è¨äºãèªãã°ã ãããç解ã§ãããã¨æãã¾ããèªåããã®è¨äºãèªãã§å¦ã³ã¾ããã http://sys1yagi.hatenablog.com/entry/2018/08/28/000620 æºå ã¾ãã¯ã»ããã¢ãããããã¦ããã¾ãã åæã¨ã㦠- Retrofitã¯å°å ¥ãã¦ãã - ã³ã³ãã¼ã¿ã¯Moshiã使ãã®ã§å°å ¥ãã¦ãã app/build.gradle ã«æ¸ãã追å ãã¾ãã kotlin { experimental { coroutines "enable" } } implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:0
åæ Retrofit + RxJavaã使ã£ãAPIéä¿¡æã«ãããã©ã«ãã§ã¯HTTP 200çªå°ä»¥å¤ã®ã¹ãã¼ã¿ã¹ã³ã¼ãã¯ã¨ã©ã¼ã¨ã㦠onError(throwable) ã«æ¸¡ã£ã¦ããã ãã®å ´å㯠retrofit2.HttpException åã«ãªã£ã¦ãããããonError å 㧠if (throwable instanceof HttpException) ããã°åå¥ã«ãã³ããªã³ã°å¯è½ã§ããããããã使ãããããã©ããã¯è°è«ã®ä½å°ãããããã«æãã å人çã«ã¯ããªã«ããªä¸è½ãªã¨ã©ã¼ï¼ãã¨ãã°ãµã¼ããã¦ã³ããããã¯ã¼ã¯ä¸éï¼ä»¥å¤ã¯ onNext ã§åãåãããã 1 çç±ã¯2ã¤ãã£ã¦ã onErrorã«ããã¨ãã®Observableã¯çµäºããã®ã§ RxBinding + REST ã®çµã¿åããã®ãããªObservableã¨ç¸æ§ãè¯ããªãã ã¨ã©ã¼çç±ãJSONã§è¿ãAPIã¯ãã§ã
å®ç¨çãªã©ã¤ãã©ãªãKotlin交ãã¦ç´¹ä»ãããããã¸ã§ã¯ãï¼ ä»åã¯APIã³ã¼ã«ãç°¡åã«æ¸ããã¨ãã§ããRetrofit2ãç´¹ä»ãã¾ãã ã¡ãªã¿ã«ä»åã¯Jsonãèªåçã«ã¯ã©ã¹ã¸å¤æãã¦ãããã©ã¤ãã©ãªã¨ãã¦Gsonãå©ç¨ãã¾ãã ã¾ããä»åã®å®è£ ä¾ã¯ãã¡ãã«PRãä½ã£ã¦ããã®ã§ããããããã°åèã«ã©ãã https://github.com/HoNKoT/KotlinAndroidDatabindingSample/pull/3 Retrofit2 "A type-safe HTTP client for Android and Java" ã¨å ¬å¼ãµã¤ãã«è¬³ããã¦ããã¨ãããç°¡åã«APIã³ã¼ã«ããããã®ã©ã¤ãã©ãªã§ãã ã¾ããããã¯ã°ã©ã¦ã³ãã§è¡ãªã£ã¦ã³ã¼ã«ããã¯ãæå®ãããã¨ãç°¡åã«ã§ãã¾ãã å ¬å¼ãµã¤ã 使ãæ¹ ä½¿ãæ¹ã¯è³ã£ã¦ã·ã³ãã« gradle interfaceå®è£ Http
All slide content and descriptions are owned by their creators.
What Is Retrofit? Retrofit is a type-safe HTTP client for Android and Java. Retrofit makes it easy to connect to a REST web service by translating the API into Java interfaces. In this tutorial, I'll show you how to use one of most popular and often-recommended HTTP libraries available for Android. This powerful library makes it easy to consume JSON or XML data which is then parsed into Plain Old
I want to fetch XML data from API and map it to Kotlin model object by using Retrofit2 + SimpleXML in Kotlin. However, I got such as the following error message from SimpleXML. org.simpleframework.xml.core.MethodException: Annotation @org.simpleframework.xml.Element(data=false, name=, required=true, type=void) must mark a set or get method This is fetched XML data <?xml version="1.0" encoding="UTF
åæ ãã¾åå ãã¦ããããã¸ã§ã¯ãã®ãããã¯ã¼ã¯éä¿¡é¨åãå¤§å¹ ã«æ¸ãæããå¿ è¦ãããã次ã®ãããªçç±ããRxJavaã®æ¡ç¨ãæ¤è¨ããã è¤æ°ã®APIå¼ã³åºãã並è¡ã§ãã£ããå¾ ã¡åããã¦é次å¦çããã使ãåããå¿ è¦ããã è¤éãªä¸é£ã®å¼ã³åºãããªãã©ã¤ãã¨ã©ã¼ãã³ããªã³ã°ãèæ ®ãã¦æ¸ããã¨ãç°¡åã«ã§ããã å社ã®æ¡ç¨å®ç¸¾ããæãã¨ã©ã¾ãçç±ããªã çè ã¯RxJava(1)ãæ¥åã§ä½¿ã£ããã¨ããã RxJavaã§æ¸ãç´ããçµæãããã®è¦æ±ãé常ã«ç°¡åã«æºãããã¨ãã§ããããä¸æ £ããªã¡ã³ãã¼ã«ã¯ããã¤éåæå¦çãéå§ãããã®ãåããã«ããããã¨ãå¤æããã æ¬ããã¥ã¡ã³ãã¯å ã 社å Qiita Teamã«æ¸ãå§ãããã®ã§ããããä¸ã®ä¸ã®åããããªãã¼ã ã«ãçãããããç¥ããªãã¨èãå ¬éãããã¨ã«ããã ãªããç¾å¨RxJavaã¯ãã¼ã¸ã§ã³2ãªã®ã§ã¨ãã«æããªãRxJava2ï¼2017å¹´6ææç¹ã®ææ°
ã¾ããã Kotlinã§Andridéçºã¯æ§ããã«ãã£ã¦ã æé« ã§ãã Androidã§APIãå©ãæã«ã¯ãOkHttp + Retrofit + RxJavaãå®çªã«ãªã£ã¦ããã¨æãã¾ãã Koltinã®åãæã£ã¦ããã°ãRxJavaã使ãããCoroutinesã使ããã¨ã§ã幸ããªéçºãå¾ ã£ã¦ããããããã¾ããã 注æï¼Kotlin 1.1.xã§ã¯ãCoroutinesã¯ãexperimentalæ©è½ã§ããå®é¨çãªæ©è½ã§ãã®ã§ããªãªã¼ã¹ãããã¾ã§ã¯ããããã¯ãã«ãããªãã»ããç¡é£ã§ã RxJavaçã¨Coroutinesçã®æ¯è¼ ãã£ã¨ã·ã³ãã«ãªå ·ä½ä¾ã®ã»ããããã£ããã©ãããã¾ãããMVPæ§æã§ã®å ·ä½ä¾ã«ãªãã¾ããããã RxJavaç interface GithubApi { @GET("users/{user}") fun user(@Path("user") user: S
Itâs been more than two years since I wrote this post about MVVM, RxJava and Retrofit. It seems a bit old-fashioned to me right now. Itâs surprising how much you can learn in one year! You take a look back and you might be embarrassed by your own code. Not only the code itself but also the process of how you get there. All that seems legacy code to me. In this article, Iâm going to try to improve
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}