Пытаюсь передать идентификатор устройства в интерфейс, а я никуда не попадаю. По сути, я хочу сохранить идентификатор устройства в переменной и поместить его в @Get для интерфейса.
Я пытался использовать @Path, но я недостаточно знаком с ним, чтобы использовать его.
URL должен выглядеть так при вызове
http://xxx.xx.xxx.xxx/apps/api/109/devices/65?access_token=xxxxxx
Интерфейс
interface DeviceDetailsAPIClient {
@GET("devices/<item id here>")
fun getDevicesDetailsAsync(@Query("access_token") access_token: String): Deferred<Response<DeviceDetails>>
}
MainActivity2, где идентификатор передается на
class MainActivity2 : AppCompatActivity() {
private val tag : String = MainActivity2::class.java.simpleName
var deviceID: String = intent.getStringExtra("deviceID")
private lateinit var adapterDetails: DeviceDetailsAdapter
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
rv_devices.layoutManager = LinearLayoutManager(this)
rv_devices.hasFixedSize()
adapterDetails = DeviceDetailsAdapter(listOf()) { deviceDetails: DeviceDetails -> deviceDetails }
rv_devices.adapter = adapterDetails
loadDeviceDetails()
}
private fun loadDeviceDetails() {
GlobalScope.launch(Dispatchers.Main) {
try {
val webResponseDetails = deviceDetailsApi.getDevicesDetailsAsync(access_token = "xxxxxx").await()
if (webResponseDetails.isSuccessful) {
val deviceDetails: DeviceDetails? = webResponseDetails.body()
Log.d(tag, deviceDetails?.toString())
//adapterDetails.deviceDetails = deviceDetails ?: listOf()
adapterDetails.notifyDataSetChanged()
} else {
Log.e(tag, "Error ${webResponseDetails.code()}")
Toast.makeText(this@MainActivity2, "Error ${webResponseDetails.code()}", Toast.LENGTH_LONG).show()
}
} catch (e: IOException) {
Log.e(tag, "Exception " + e.printStackTrace())
Toast.makeText(this@MainActivity2, "Exception ${e.message}", Toast.LENGTH_LONG).show()
}
}
}
}
Это переменная, в которой я храню идентификатор в
var deviceID: String = intent.getStringExtra("deviceID")
Теперь, как мне передать это интерфейсу?