小编Ens*_*lic的帖子

无法为 retrofit2.Call 调用无参数构造函数

我有以下改造单身人士:

interface MyAPI
{
    @GET("/data.json")
    suspend fun fetchData() : Call<MyResponse>

    companion object
    {
        private val BASE_URL = "http://10.0.2.2:8080/"

        fun create(): MyAPI
        {
            val gson = GsonBuilder()
                .setDateFormat("yyyy-MM-dd'T'HH:mm:ssZ")
                .create()

            val retrofit = Retrofit.Builder()
                .addConverterFactory( GsonConverterFactory.create( gson ) )
                .baseUrl( BASE_URL )
                .build()

            return retrofit.create( MyAPI::class.java )
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

MyResponse.kt

data class MyResponse(
    val listOfData: List<DataEntity>
)
Run Code Online (Sandbox Code Playgroud)

数据实体.kt

data class DataEntity(
    @SerializedName("name")
    val fullName: String
}
Run Code Online (Sandbox Code Playgroud)

我通过以下方式从 ModelView 调用代码:

viewModelScope.launch {
    try {
        val webResponse = MyAPI.create().fetchData().await()
        Log.d( tag, webResponse.toString() ) …
Run Code Online (Sandbox Code Playgroud)

kotlin retrofit

7
推荐指数
3
解决办法
3854
查看次数

如何在 KDoc 中引用辅助构造函数?

我有一个带有辅助构造函数的 Kotlin 类,应该在特定场景中使用。现在这应该从第一个构造函数中正确记录下来,以便您可以立即看到它。

/**
* This is my class.
* 
* @constructor This is the primary constructor meant for Scenario A.
* If you are in Scenario B, please use [reference to secondary constructor] <- what do I put in here?
*/
class MyClass(val a: String) {

    constructor(b: Int) : this("$b abc")

}
Run Code Online (Sandbox Code Playgroud)

我不知道在用于引用成员/函数的方括号中放什么,但我觉得这应该是可能的。如果有人对此了解更多,那就太好了

kotlin kdoc

6
推荐指数
1
解决办法
169
查看次数

标签 统计

kotlin ×2

kdoc ×1

retrofit ×1