如何解决Android Kotlin Volley字符串请求停止工作
我正在尝试从Android应用中的服务器获取简单的GET请求。起初它起作用了,但是在我尝试解析它并添加了一些更改之后,它停止了工作,这是为什么。这是我之前和之后的代码,我什至回滚了所有重构更改,但仍然无法正常工作。我只是没有得到任何回应,甚至没有错误。我什至在Debug上检查并尝试打印它,但没有帮助。第一次使用ip + port时,我什至不需要使用端口转发,这一次我在手机浏览器上进行了检查,它仍然可以工作,我可以在浏览器中找到答案,但Kotlin代码不起作用由于某种原因工作。这是第一个版本(正在运行):
package com.example.tvseriesprojectapp
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.support.constraint.ConstraintLayout
import android.view.ViewGroup
import android.widget.LinearLayout
import android.widget.TextView
import com.android.volley.Request
import com.android.volley.Response
import com.android.volley.toolBox.StringRequest
import com.android.volley.toolBox.Volley
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val layout = findViewById<ConstraintLayout>(R.id.root)
val textView = TextView(this)
textView.layoutParams = ConstraintLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT)
val queue = Volley.newRequestQueue(this)
val url = "http://192.168.0.109:8080/tvshows"
val stringRequest = StringRequest(
Request.Method.GET,url,Response.Listener<String> { response ->
textView.text = "Response is: ${response}"
},Response.ErrorListener { response -> textView.text = "${response.message}" })
queue.add(stringRequest)
layout?.addView(textView)
}
}
这是第二个:
package com.example.tvseriesprojectapp
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.support.constraint.ConstraintLayout
import android.util.Log
import android.view.ViewGroup
import android.widget.LinearLayout
import com.google.gson.Gson;
import android.widget.TextView
import com.android.volley.Request
import com.android.volley.Response
import com.android.volley.toolBox.StringRequest
import com.android.volley.toolBox.Volley
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val layout = findViewById<LinearLayout>(R.id.root)
var listofShows: MutableList<TvShow> = mutablelistof();
val url = "http://192.168.0.109:8080/tvshows"
val queue = Volley.newRequestQueue(this)
val textView = TextView(this)
textView.layoutParams = LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT)
val gson = Gson();
var err: String = "";
var resp: String = "";
val stringRequest = StringRequest(
Request.Method.GET,Response.Listener<String> { response ->
textView.text = response },Response.ErrorListener { response -> textView.text = "${response.message}" }
)
queue.add(stringRequest)
// mock
val str: String = "[{\"id\":1,\"name\":\"Everybody hates Chris\",\"category\":\"comedy\",\"year\":2005},{\"id\":2,\"name\":\"Friends\",\"year\":1994}]";
listofShows = gson.fromJson(str,Array<TvShow>::class.java).toMutableList()
for (one in listofShows) {
val textView = TextView(this)
textView.layoutParams = LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT
)
textView.text = "Name: ${one.name} \n Category: ${one.category} \n Year: ${one.year}"
layout?.addView(textView)
}
}
}
我只是尝试打印响应,将其记录下来,尝试使其变为var resp,然后显示出来,在调试时进行了检查,没有任何效果,我得到的只是“”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。