2017-07-20 7 views
10

私はKotlinとAPI全般に非常に新しいので、この言語を使用してAPIリクエストを作成する構文を見つけることができません。私はWebサイトのモバイル版を作成していますので、既に確立されたバックエンド用の新しいUIを作成するためにAndroid Studioを使用しています。リクエストを作成するための手順と構文は何ですか?どんな援助も深く感謝しています。KotlinでAPIリクエストを作成するにはどうすればよいですか?

+2

この記事をチェックアウト:http://codeflex.co/simple-restful-service-with-kotlin-and-spring-boot/を –

答えて

9

ため

class getData() : AsyncTask<Void, Void, String>() { 
     override fun doInBackground(vararg params: Void?): String? { 
     } 

     override fun onPreExecute() { 
      super.onPreExecute() 
     } 

     override fun onPostExecute(result: String?) { 
      super.onPostExecute(result) 
     } 
} 

さ:HereあなたがAsyncTaskRetrofitまたはAsyncTask、例を使用することができ、私はKotlin

+1

は、詳細な回答いただき、誠にありがとうございます。これは確かに私がいくつかの進歩を助けるためになります。 – Nutters

3

にレトロフィットを使用する方法で見つけチュートリアルですREST呼び出しを行うのは非常に簡単で、Javaの場合とほとんど同じロジックです。ここで


OkHttpとREST呼び出しの例です:

build.gradle

dependencies { 
    //... 
    compile 'com.squareup.okhttp3:okhttp:3.8.1' 
} 

のAndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" /> 

MainActivity.kt

class MainActivity : AppCompatActivity() { 

    val client = OkHttpClient() 

    override fun onCreate(savedInstanceState: Bundle?) { 
     super.onCreate(savedInstanceState) 
     setContentView(R.layout.activity_main) 

     run("https://api.github.com/users/Evin1-/repos") 
    } 

    fun run(url: String) { 
     val request = Request.Builder() 
       .url(url) 
       .build() 

     client.newCall(request).enqueue(object : Callback { 
      override fun onFailure(call: Call, e: IOException) {} 
      override fun onResponse(call: Call, response: Response) = println(response.body()?.string()) 
     }) 
    } 
} 

私はこのリポジトリに、より複雑な例を作成したが、私はダガー、RxJava、MVPにレトロフィットを使用しました。

https://github.com/Evin1-/Kotlin-MVP-Dagger2-RxJava-Retrofit

関連する問題