im正在创建一个用于检查手机用户名(Kotlin)的应用程序,但是我无法检索我与邮递员检查的简单json(json结果应类似于以下“ {“” nama_hp“:” daftrogus“}”),而已)。但是我不明白是什么问题。
我尝试观看youtube教程,阅读文档,安装任何可能有助于解决问题的库,但这些方法均无效(尝试解决问题需要4天)。
这是我的界面(称为myAPI)
package com.example.kpprojectlearn_secondtry.Remote
import com.example.kpprojectlearn_secondtry.Model.phoneUser
import retrofit2.Call
import retrofit2.http.*
interface myAPI{
@GET("search_phone.php")
fun showPhoneUser(@Query("no_hp")phonenumber_check: String) : Call<phoneUser>
}
这是我的model.phoneUser类
class phoneUser{
var nama_hp:String=""
get() = field
set(value){
field = value
}
}
这是我放置BASE_URL的通用文件
package com.example.kpprojectlearn_secondtry.Common
import com.example.kpprojectlearn_secondtry.Remote.RetrofitClient
import com.example.kpprojectlearn_secondtry.Remote.myAPI
object Common {
val BASE_URL="http://192.168.0.106/webservicePHP/"
val api: myAPI
get() = RetrofitClient.getClient(BASE_URL).create(myAPI::class.java)
}
这是我在输入“ phonenumber_check”之后将“ answer_data”设置为json结果的功能
internal lateinit var mService: myAPI
mService = Common.api
private fun showPhoneData(phonenumber_check: String){
mService.showPhoneUser(phonenumber_check)
.enqueue(object : Callback<com.example.kpprojectlearn_secondtry.Model.phoneUser>{
override fun onFailure(call: Call<com.example.kpprojectlearn_secondtry.Model.phoneUser>, t: Throwable) {
Toast.makeText(this@Mobile_Check, t!!.message, Toast.LENGTH_SHORT).show()
}
override fun onResponse(
call: Call<com.example.kpprojectlearn_secondtry.Model.phoneUser>,
response: Response<com.example.kpprojectlearn_secondtry.Model.phoneUser>
) {
if(answer_data != null) {
phonecheck_answer_box.setVisibility(View.VISIBLE)
val gson = GsonBuilder().setLenient().create()
val specificURL = gson.fromJson("nama_hp", myAPI::class.java)
val converted = specificURL.toString()
Log.e("X", converted)
answer_data.setText(converted)
} else {
phonecheck_answer_no.setVisibility(View.VISIBLE)
}
}
})
}
我希望将“ answer_data”的textView更改为json结果,例如“ daftrogus”。
谢谢