Android 如何从该api查询随机日期?
我正在使用NASA api获取火星的图像。我正在使用改装来获取数据。火星API声明一个查询可以由“太阳神”完成……或者换句话说,火星上的日旋转。当我通过特定的sol调用它时,我能够获得数据,但我希望用户每次进入应用程序时都能看到一个随机日期。正确的方法是什么 MarsPhotoApi.ktAndroid 如何从该api查询随机日期?,android,kotlin,Android,Kotlin,我正在使用NASA api获取火星的图像。我正在使用改装来获取数据。火星API声明一个查询可以由“太阳神”完成……或者换句话说,火星上的日旋转。当我通过特定的sol调用它时,我能够获得数据,但我希望用户每次进入应用程序时都能看到一个随机日期。正确的方法是什么 MarsPhotoApi.kt interface MarsPhotoApi { @GET("/mars-photos/api/v1/rovers/curiosity/photos") suspe
interface MarsPhotoApi {
@GET("/mars-photos/api/v1/rovers/curiosity/photos")
suspend fun getCuriosityData(
@Query("sol")
solQuery: Int,
@Query("rover_id")
roverQuery: Int,
@Query("camera")
camera: String,
@Query("api_Key")
apiKey: String = API_KEY
): Response<MarsPhotos>
}
接口MarsPhotoApi{
@获取(“/mars-photos/api/v1/rovers/quisitive/photos”)
暂停有趣的getCuriosityData(
@查询(“sol”)
solQuery:Int,
@查询(“漫游者id”)
roverQuery:Int,
@查询(“照相机”)
摄像机:弦,
@查询(“api_键”)
apiKey:String=API\u KEY
):回应
}
MarsPhotoViewModel.kt
class MarsPhotoViewModel(
val marsPhotoRepository: MarsPhotoRepository
): ViewModel() {
val marsPhotos: MutableLiveData<Resource<MarsPhotos>> = MutableLiveData()
init {
getCuriosityPhotos(1, 5, "NAVCAM")
}
fun getCuriosityPhotos(solQuery: Int, roverQuery: Int, camera: String) = viewModelScope.launch {
marsPhotos.postValue(Resource.Loading())
val response = marsPhotoRepository.getCuriosityPhotos(solQuery, roverQuery, camera)
marsPhotos.postValue(handlePhotosResponse(response))
}
private fun handlePhotosResponse(response: Response<MarsPhotos> ) : Resource<MarsPhotos> {
if(response.isSuccessful) {
response.body()?.let { resultResponse ->
return Resource.Success(resultResponse)
}
}
return Resource.Error(response.message())
}
}
类MarsPhotoViewModel(
瓦尔Marsphotory:Marsphotory
):ViewModel(){
val marsPhotos:MutableLiveData=MutableLiveData()
初始化{
getCuriosityPhotos(1,5,“导航摄影机”)
}
fun getCuriosityPhotos(solQuery:Int,roverQuery:Int,camera:String)=viewModelScope.launch{
marsPhotos.postValue(Resource.Loading())
val response=marsPhotoRepository.getCuriosityPhotos(solQuery、roverQuery、camera)
marsPhotos.postValue(handlePhotosResponse(response))
}
private fun handlePhotosResponse(响应:响应):资源{
if(response.issucessful){
response.body()?.let{resultResponse->
返回资源。成功(resultResponse)
}
}
返回Resource.Error(response.message())
}
}
我想您可以使用一个随机整数作为sol值
Random.nextInt(1,2000)
您将在何处添加此内容?我想它会在Marsphotoapia的查询中调用,只要对您的设置有意义。