【发布时间】:2023-03-19 15:01:01
【问题描述】:
我正在尝试编写简单的 httpclient,并且正在尝试弄清楚如何从响应中获取数据。我有两个类:
class HttpClient(private val ctx: Context) {
private var queue: RequestQueue = Volley.newRequestQueue(this.ctx)
private lateinit var gpsModel: GpsModel
companion object {
const val BASE_URL: String = "https://uawk2yh00j.execute-api.eu-central-1.amazonaws.com/"
}
fun getGpsData() : GpsModel
{
this.queue.add(
StringRequest(
Request.Method.GET, BASE_URL + "production",
{
Log.d("GET_ALL_DATA", it.toString())
Log.d("GET_ALL_DATA", GpsModel.fromJson(it.toString())?.body?.size.toString())
this.gpsModel = GpsModel.fromJson(it.toString())!!
Log.d("GET_ALL_DATA", this.gpsModel.toString())
},
{
Log.d("GET_ALL_DATA", "Coś poszło nie tak")
}
)
)
return this.gpsModel
}
}
和主要活动:
class MapsActivity : AppCompatActivity(), OnMapReadyCallback {
private lateinit var mMap: GoogleMap
private lateinit var httpClient: HttpClient
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_maps)
this.httpClient = HttpClient(this)
var gpsModel = this.httpClient.getGpsData()
Log.d("GET_ALL_DATA", gpsModel.toString())
val mapFragment = supportFragmentManager
.findFragmentById(R.id.map) as SupportMapFragment
mapFragment.getMapAsync(this)
}
override fun onMapReady(googleMap: GoogleMap) {
}
}
我想知道 Request 什么时候成功,什么时候出错,但是我没有看到任何 onSuccess 或 onFailure 方法。
【问题讨论】:
标签: kotlin request android-volley