早安,我使用的是Android Volley版本1.1.1。当它是GET请求时,该项目迅速运行,但是一旦我添加了参数并将其转换为POST请求(就像我在Internet上找到的所有示例一样),它就不想运行,并给了我三个错误: / p>
error no. 1" There is no applicable constructor to '(into, java.lang.String, com.vm.okone.MainActivity.(anonymous),com.vm.okone.MainActivity.(anonymous))', error no. 2 " method onResponse does not override method from its superclass, error no. 3 " method onErrorResponse does not override method from its superclass.
这是我的POST代码
//TextView
final TextView mTextView = (TextView)findViewById(R.id.serverResp);
// Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(MainActivity.this);
//url
String url = "http://127.0.0.1:8080/index.jsp";
StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
// Display the response string.
mTextView.setText(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
mTextView.setText("That didn't work!");
}
}) {
//adding parameters to the request
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
params.put("name", "asdf");
params.put("email", "qwerty");
return params;
}
};
// Add the request to the RequestQueue.
queue.add(stringRequest);
答案 0 :(得分:0)
Volley Response类的构造函数是私有的,因此您不能扩展它。我测试了您的代码,没有发生错误,因此可能存在其他问题。
将代码放在OnCreate()或MainActivity中的其他方法中,然后重试。
修改
import android.app.Activity;
import android.os.Bundle;
import com.android.volley.AuthFailureError;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import java.util.HashMap;
import java.util.Map;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView mTextView = findViewById(R.id.textView);
// Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(MainActivity.this);
//url
String url = "http://127.0.0.1:8080/index.jsp";
StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
// Display the response string.
mTextView.setText(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
mTextView.setText("That didn't work!");
}
}) {
//adding parameters to the request
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
params.put("name", "asdf");
params.put("email", "qwerty");
return params;
}
};
// Add the request to the RequestQueue.
queue.add(stringRequest);
}
}