انتقل إلى المحتوى

أمثلة Kotlin / Android – واجهة برمجة تطبيقات الصحة واللياقة البدنية

استخدم Kotlin للوصول إلى واجهة برمجة تطبيقات الصحة واللياقة البدنية من تطبيقات Android الخاصة بك. فيما يلي أمثلة باستخدام HttpURLConnection و OkHttp و Retrofit الأصلية.


1. استخدام HttpURLConnection

مثال طلب GET:

import java.net.HttpURLConnection
import java.net.URL
import java.io.BufferedReader
import java.io.InputStreamReader

val apiKey = "YOUR_API_KEY"
val url = URL("https://api.hefitapi.com/api/v1/bmi?height=178&weight=82&units=metric&lang=en")
val connection = url.openConnection() as HttpURLConnection
connection.requestMethod = "GET"
connection.setRequestProperty("X-API-Key", apiKey)

val reader = BufferedReader(InputStreamReader(connection.inputStream))
val response = StringBuilder()
reader.forEachLine { response.append(it) }
reader.close()

println(response.toString())

مثال طلب POST:

import java.net.HttpURLConnection
import java.net.URL
import java.io.OutputStreamWriter

val apiKey = "YOUR_API_KEY"
val url = URL("https://api.hefitapi.com/api/v1/bmi/post")
val connection = url.openConnection() as HttpURLConnection
connection.requestMethod = "POST"
connection.setRequestProperty("Content-Type", "application/json")
connection.setRequestProperty("X-API-Key", apiKey)
connection.doOutput = true

val payload = """{"height":178,"weight":82,"units":"metric"}"""
val writer = OutputStreamWriter(connection.outputStream)
writer.write(payload)
writer.flush()
writer.close()

val response = connection.inputStream.bufferedReader().use { it.readText() }
println(response)

2. استخدام OkHttp

أضف التبعية في build.gradle:

implementation("com.squareup.okhttp3:okhttp:4.11.0")

مثال طلب GET:

import okhttp3.OkHttpClient
import okhttp3.Request

val client = OkHttpClient()
val request = Request.Builder()
    .url("https://api.hefitapi.com/api/v1/bmi?height=178&weight=82&units=metric&lang=en")
    .addHeader("X-API-Key", "YOUR_API_KEY")
    .build()

val response = client.newCall(request).execute()
println(response.body?.string())

مثال طلب POST:

import okhttp3.MediaType.Companion.toMediaTypeOrNull
import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.RequestBody.Companion.toRequestBody

val client = OkHttpClient()
val mediaType = "application/json".toMediaTypeOrNull()
val payload = """{"height":178,"weight":82,"units":"metric"}"""
val body = payload.toRequestBody(mediaType)

val request = Request.Builder()
    .url("https://api.hefitapi.com/api/v1/bmi/post")
    .post(body)
    .addHeader("X-API-Key", "YOUR_API_KEY")
    .build()

val response = client.newCall(request).execute()
println(response.body?.string())

3. استخدام Retrofit

أضف التبعيات في build.gradle:

implementation("com.squareup.retrofit2:retrofit:2.9.0")
implementation("com.squareup.retrofit2:converter-gson:2.9.0")

حدد واجهة API:

import retrofit2.Call
import retrofit2.http.GET
import retrofit2.http.POST
import retrofit2.http.Query
import retrofit2.http.Body
import retrofit2.http.Header

interface HealthFitnessApi {
    @GET("bmi")
    fun getBMI(
        @Query("height") height: Int,
        @Query("weight") weight: Int,
        @Query("units") units: String,
        @Query("lang") lang: String = "en",
        @Header("X-API-Key") apiKey: String
    ): Call<Map<String, Any>>

    @POST("bmi/post")
    fun postBMI(
        @Body payload: Map<String, Any>,
        @Header("X-API-Key") apiKey: String
    ): Call<Map<String, Any>>
}

قم بتهيئة Retrofit وقم بإجراء مكالمة:

import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory

val retrofit = Retrofit.Builder()
    .baseUrl("https://api.hefitapi.com/api/v1/")
    .addConverterFactory(GsonConverterFactory.create())
    .build()

val api = retrofit.create(HealthFitnessApi::class.java)
val response = api.getBMI(178, 82, "metric", apiKey="YOUR_API_KEY").execute()
println(response.body())

لغات أخرى

استكشف كيفية دمج واجهة برمجة تطبيقات الصحة واللياقة البدنية في لغات برمجة أخرى:

ابدأ في دمج واجهة برمجة تطبيقات الصحة واللياقة البدنية في تطبيقات الجوال والموقع الخاصة بك اليوم!


واجهة برمجة تطبيقات الصحة واللياقة البدنية تمكين البنية التحتية الرقمية الحديثة للصحة