Android 注释参数必须是编译时常量
这就是我想做的Android 注释参数必须是编译时常量,android,kotlin,retrofit,Android,Kotlin,Retrofit,这就是我想做的 @FormUrlEncoded @POST("retrofit/POST/signup.php") abstract fun signUp( @Field(Constant().KEY_NAME) name: String?, @Field(Constant().KEY_CELL) cell: String?, @Field(Constant().KEY_PASSWORD) password: String?, ): Call<C
@FormUrlEncoded
@POST("retrofit/POST/signup.php")
abstract fun signUp(
@Field(Constant().KEY_NAME) name: String?,
@Field(Constant().KEY_CELL) cell: String?,
@Field(Constant().KEY_PASSWORD) password: String?,
): Call<Contacts?>?
@FormUrlEncoded
@POST("retrofit/POST/signup.php")
abstract fun signUp(
@Field(Constant.KEY_NAME) name: String?,
@Field(Constant.KEY_CELL) cell: String?,
@Field(Constant.KEY_PASSWORD) password: String?,
): Call<Contacts?>?
您需要做的是将
常量
类转换为对象
,如下所示
object Constants {
const val BASE_URL = "http://istiak.ga/app/"
const val KEY_NAME = "name"
const val KEY_PASSWORD = "password"
const val KEY_CELL = "cell"
}
然后,您可以直接引用每个值,而不是为您需要的每个变量创建常量
类的实例,如下所示
@FormUrlEncoded
@POST(“改装/POST/signup.php”)
抽象趣味报名(
@字段(常量。键名称)名称:字符串?,
@字段(常量键单元)单元:字符串?,
@字段(常量。密钥\密码)密码:字符串?,
):打电话?
@FormUrlEncoded
@POST("retrofit/POST/signup.php")
abstract fun signUp(
@Field(Constant.KEY_NAME) name: String?,
@Field(Constant.KEY_CELL) cell: String?,
@Field(Constant.KEY_PASSWORD) password: String?,
): Call<Contacts?>?