Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何根据用户输入编辑查询_Android_Kotlin_Dynamic_Network Programming_Retrofit2 - Fatal编程技术网

Android 如何根据用户输入编辑查询

Android 如何根据用户输入编辑查询,android,kotlin,dynamic,network-programming,retrofit2,Android,Kotlin,Dynamic,Network Programming,Retrofit2,有没有一种方法可以根据用户在EditText中输入的内容编辑API查询?我试图让某人输入他们的用户名,然后将用户名字符串添加到我的API调用中以获得Json响应,但我找不到一种方法来做到这一点,而不会得到更改查询字符串的错误 my API服务的代码(带有硬编码查询字符串): 如果有任何代码,我应该提供,这将有助于回答我的问题,只是让我知道。谢谢 private const val QUERY_STRING = "players/%232LU0RYYG" private co

有没有一种方法可以根据用户在EditText中输入的内容编辑API查询?我试图让某人输入他们的用户名,然后将用户名字符串添加到我的API调用中以获得Json响应,但我找不到一种方法来做到这一点,而不会得到更改查询字符串的错误

my API服务的代码(带有硬编码查询字符串):

如果有任何代码,我应该提供,这将有助于回答我的问题,只是让我知道。谢谢

private const val QUERY_STRING = "players/%232LU0RYYG"

private const val BASE_URL = "https://api.clashroyale.com/v1/"

private const val API_KEY = ""

private val client = OkHttpClient.Builder().addInterceptor{chain ->
    val newRequest: Request = chain.request().newBuilder()
        .addHeader("Authorization", "Bearer " + API_KEY)
        .build()
    chain.proceed(newRequest)
}.build()

private val moshi = Moshi.Builder().add(KotlinJsonAdapterFactory()).build()

private val retrofit = Retrofit.Builder().client(client).addConverterFactory(MoshiConverterFactory.create(moshi)).baseUrl(BASE_URL).build()

interface ClashAPIService {
    @GET(QUERY_STRING)
    fun getStats(): Call<ClashResponse>
}

object StatAPI{
    val statApi: ClashAPIService by lazy {
        retrofit.create(ClashAPIService::class.java)
    }
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        _binding = FragmentSubmitPlayerInfoBinding.inflate(inflater, container, false)
        val playerID : EditText = binding.enterPlayerID
        playerID.setText("%23")
        val playerUsername = ""
        binding.submitButton.setOnClickListener{
            playerUsername = playerID.text.toString()
        }
        return binding.root
    }