Tôi cực kỳ mới đối với Kotlin và API nói chung và không thể tìm thấy cú pháp để tạo yêu cầu API bằng ngôn ngữ này. Tôi đang tạo một phiên bản di động của một trang web vì vậy tôi đang sử dụng Android Studio để tạo giao diện người dùng mới cho một chương trình phụ trợ đã được thiết lập. Các bước và cú pháp để tạo yêu cầu là gì? Bất kỳ trợ giúp nào được đánh giá cao.Làm thế nào để thực hiện một yêu cầu API trong Kotlin?
Trả lời
này Một khi bạn đã set your Android Studio to use Kotlin là khá đơn giản để thực hiện một cuộc gọi REST, và nó khá giống logic với Java.
Dưới đây là một ví dụ về một cuộc gọi REST với OkHttp:
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())
})
}
}
Tôi tạo ra một ví dụ phức tạp hơn trong kho lưu trữ này, tôi sử dụng Dagger, RxJava, Retrofit trong MVP.
https://github.com/Evin1-/Kotlin-MVP-Dagger2-RxJava-Retrofit
Cảm ơn bạn rất nhiều vì câu trả lời chi tiết. Điều này chắc chắn sẽ giúp tôi thực hiện một số tiến bộ. – Nutters
bạn có thể sử dụng Retrofit
hoặc AsyncTask
, ví dụ về AsyncTask
:
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)
}
}
cho Retrofit
séc awsome tutorial
- 1. Làm thế nào để thực hiện một hình ảnh spinner jQuery trong một yêu cầu AJAX
- 2. Làm thế nào để thực hiện nhiều yêu cầu Guzzle cùng một lúc?
- 3. Làm thế nào để thực hiện một yêu cầu Ajax trong Joomla Component
- 4. Làm thế nào để thực hiện một yêu cầu POST bên trong mã Sinatra?
- 5. Làm thế nào để thực hiện yêu cầu POST trong robobrowser-python
- 6. Làm thế nào để thực hiện một yêu cầu chunked qua nginx
- 7. Làm thế nào để thực hiện một yêu cầu POST jsonp chỉ định contentType với jQuery?
- 8. Làm thế nào để thực hiện một yêu cầu đồng bộ bằng cách sử dụng Alamofire?
- 9. Làm thế nào để thực hiện yêu cầu bộ nhớ cache theo yêu cầu trong ASP.NET 3.5
- 10. Làm thế nào để thực hiện nhiều yêu cầu REST giao dịch/nguyên tử?
- 11. Làm thế nào để thực hiện các yêu cầu HTTPS với javascript serveride bằng Worklight?
- 12. Làm cách nào để tôi thực hiện một trong các trường được yêu cầu?
- 13. Làm thế nào để thực hiện các yêu cầu lặp đi lặp lại cho đến khi một yêu cầu thành công mà không bị chặn trong nút?
- 14. Làm thế nào để gửi một yêu cầu đến một API bên ngoài
- 15. Làm thế nào để yêu cầu một khối trong Ruby?
- 16. Tôi làm cách nào để thực hiện yêu cầu HTTPS trong Haskell?
- 17. Làm thế nào để thực hiện đúng một MediaTypeFormatter để xử lý các yêu cầu của loại 'multipart/mixed'?
- 18. GWT - thực hiện các yêu cầu GET
- 19. Làm thế nào để giới hạn thời gian thực hiện yêu cầu của dịch vụ WCF?
- 20. Làm thế nào để tăng tốc độ urllib2 của Python khi thực hiện nhiều yêu cầu
- 21. Là ASP.NET đa luồng (làm thế nào để nó thực hiện yêu cầu)
- 22. Làm thế nào để thực hiện yêu cầu kéo trên github?
- 23. Làm thế nào để bạn thực hiện trường $ mdDialog.prompt() được yêu cầu
- 24. Làm thế nào để thực hiện rabbitmq trong js góc
- 25. OWIN SelfHost Web Api - Yêu cầu hủy - Làm thế nào nó được thực hiện? Hủy bỏ chủ đề?
- 26. Làm thế nào để bạn thực hiện các liên kết động trong Guice mà yêu cầu một Instance tiêm?
- 27. Yêu cầu API gộp
- 28. Làm thế nào để thử một yêu cầu AJAX?
- 29. boost :: đề xuất thực hiện yêu cầu
- 30. AngularJS: Làm thế nào để ngăn chặn một yêu cầu
Kiểm tra bài viết này: http://codeflex.co/simple-restful-service-with-kotlin-and-spring-boot/ –