我将尝试使用NAVER Papago翻译API来改装POST。在MainActivity.kt文件的第30行中,出现错误Expecting member description,Name expected。我用错误名称进行了搜索,但无法解决,所以我提出了这个问题。
出现错误的部分如下。
callPostTransferPapago.enqueue(object:
这是MainActivity.kt.
package com.example.papagoapi
import android.content.ContentValues.TAG
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
val CLIENT_ID = "clientId"
val CLIENT_SECRET = "clientSecret"
val BASE_URL_NAVER_API = "https://openapi.naver.com/"
val retrofit = Retrofit.Builder()
.baseUrl(BASE_URL_NAVER_API)
.addConverterFactory(GsonConverterFactory.create())
.build()
val api = retrofit.create(NaverAPI::class.java)
val callPostTransferPapago = api.transferPapago(CLIENT_ID, CLIENT_SECRET, "ko", "en", "안녕하세요. 이것은 테스트입니다.")
callPostTransferPapago.enqueue(object: Callback<ResultTransferPapago>{
override fun onResponse(
call: Call<ResultTransferPapago>,
response: Response<ResultTransferPapago>
) {
Log.d(TAG, "성공: ${response.raw()}")
}
override fun onFailure(call: Call<ResultTransferPapago>, t: Throwable) {
Log.d(TAG, "실패: $t")
}
})
}
添加了已解析的代码。
package com.example.papagoapi
import android.content.ContentValues.TAG
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val CLIENT_ID = "id"
val CLIENT_SECRET = "secret"
val BASE_URL_NAVER_API = "https://openapi.naver.com/"
val retrofit = Retrofit.Builder()
.baseUrl(BASE_URL_NAVER_API)
.addConverterFactory(GsonConverterFactory.create())
.build()
val api = retrofit.create(NaverAPI::class.java)
val callPostTransferPapago = api.transferPapago(CLIENT_ID, CLIENT_SECRET, "ko", "en", "안녕하세요. 이것은 테스트입니다.")
callPostTransferPapago.enqueue(object: Callback<ResultTransferPapago>{
override fun onResponse(
call: Call<ResultTransferPapago>,
response: Response<ResultTransferPapago>
) {
Log.d(TAG, "성공: ${response.raw()}")
}
override fun onFailure(call: Call<ResultTransferPapago>, t: Throwable) {
Log.d(TAG, "실패: $t")
}
})
}
}
您需要将callPostTransferPapago.enqueue(...)
调用放入某个活动生命周期方法,例如onCreate()
。