在 android 中无法通过 Volley Request 传递参数
Unable to pass Params through Volley Request in android
syntax error
嗨,我无法通过 Volley Request 传递参数。
我目前使用 GET 方法。但是当我传递参数时它显示 "null error"
This the error message picture
我试过的
下面是我的 Activity 代码。
我试图传递 "dayorder" 参数,结果我试图获取特定的 "dayorder's periods" 作为结果数组并将其打印在 TextView 中。
public class AttendanceActivity extends AppCompatActivity {
private TextView today;
private TextView todayDate;
private TextView textViewResult;
private String dayorder;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_attendance);
today = (TextView) findViewById(R.id.textDay);
todayDate = (TextView) findViewById(R.id.textDate);
textViewResult=(TextView)findViewById(R.id.textViewResult);
chechDate();
}
public void chechDate(){
Calendar rightNow = Calendar.getInstance();
if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY){
today.setText("Monday");
}else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.TUESDAY){
today.setText("Tuesday");
}else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.WEDNESDAY){
today.setText("Wednesday");
}else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.THURSDAY){
today.setText("Thursday");
}else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY){
today.setText("Friday");
}else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY){
today.setText("Saturday");
} else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY){
today.setText("Sunday");
}else{
today.setText("Unable to get day");
}
Calendar c = Calendar.getInstance();
System.out.println("Current time => " + c.getTime());
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String formattedDate = df.format(c.getTime());
dayorder=today.toString();
todayDate.setText(formattedDate);
getData();
}
private void getData() {
dayorder = today.getText().toString().trim();
StringRequest stringRequest = new StringRequest(Request.Method.GET, SUBJECT_URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
if (response.trim().equals("success")) {
Toast.makeText(AttendanceActivity.this, response, Toast.LENGTH_LONG).show();
showJSON(response);
} else {
Toast.makeText(AttendanceActivity.this, response, Toast.LENGTH_LONG).show();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(AttendanceActivity.this, "Unable to connect. Please connect to Internet!", Toast.LENGTH_LONG).show();
}
}) {
@Override
protected Map<String, String> getParams(){
Map<String, String> map = new HashMap<>();
map.put(KEY_DAYORDER, dayorder);
return map;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
private void showJSON(String response){
String period1="";
String period2="";
String period3="";
String period4="";
String period5="";
String period6="";
String period7="";
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray result = jsonObject.getJSONArray(Config.JSON_SUBJECTARRAY);
JSONObject collegeData = result.getJSONObject(0);
period1 = collegeData.getString(Config.KEY_PERIOD1);
period2 = collegeData.getString(Config.KEY_PERIOD2);
period3 = collegeData.getString(Config.KEY_PERIOD3);
period4 = collegeData.getString(Config.KEY_PERIOD4);
period5 = collegeData.getString(Config.KEY_PERIOD5);
period6 = collegeData.getString(Config.KEY_PERIOD6);
period7 = collegeData.getString(Config.KEY_PERIOD7);
} catch (JSONException e) {
e.printStackTrace();
}
textViewResult.setText(period1+period2+period3+period4+period5+period6+period7);
}
}
在 getRequest 中,您通过 Url?"paramKey="value;
提供参数
new StringRequest(Request.Method.GET, SUBJECT_URL?"KEY_DAYORDER="dayorder,
你的情况
StringRequest stringRequest = new StringRequest(Request.Method.GET, SUBJECT_URL?"KEY_DAYORDER="dayorder,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
if (response.trim().equals("success")) {
Toast.makeText(AttendanceActivity.this, response, Toast.LENGTH_LONG).show();
showJSON(response);
} else {
Toast.makeText(AttendanceActivity.this, response, Toast.LENGTH_LONG).show();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(AttendanceActivity.this, "Unable to connect. Please connect to Internet!", Toast.LENGTH_LONG).show();
}
}) };
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
import android.widget.Toast;
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 com.ibm.icu.text.SimpleDateFormat;
import com.ibm.icu.util.Calendar;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.HashMap;
import java.util.Map;
import static com.example.vicky.module1.Config.KEY_DAYORDER;
import static com.example.vicky.module1.Config.KEY_PERIOD1;
import static com.example.vicky.module1.Config.SUBJECT_URL;
public class AttendanceActivity extends AppCompatActivity {
private TextView today;
private TextView todayDate;
private TextView textViewResult;
private String dayorder;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_attendance);
today = (TextView) findViewById(R.id.textDay);
todayDate = (TextView) findViewById(R.id.textDate);
textViewResult=(TextView)findViewById(R.id.textViewResult);
chechDate();
}
public void chechDate(){
Calendar rightNow = Calendar.getInstance();
if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY){
today.setText("Monday");
}else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.TUESDAY){
today.setText("Tuesday");
}else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.WEDNESDAY){
today.setText("Wednesday");
}else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.THURSDAY){
today.setText("Thursday");
}else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY){
today.setText("Friday");
}else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY){
today.setText("Saturday");
} else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY){
today.setText("Sunday");
}else{
today.setText("Unable to get day");
}
Calendar c = Calendar.getInstance();
System.out.println("Current time => " + c.getTime());
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String formattedDate = df.format(c.getTime());
todayDate.setText(formattedDate);
getData();
}
private void getData(){
dayorder = today.getText().toString().trim();
StringRequest stringRequest = new StringRequest(Request.Method.POST, SUBJECT_URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Toast.makeText(AttendanceActivity.this,response,Toast.LENGTH_LONG).show();
showJSON(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(AttendanceActivity.this,error.toString(),Toast.LENGTH_LONG).show();
}
}){
@Override
protected Map<String,String> getParams(){
Map<String,String> params = new HashMap<String, String>();
params.put(KEY_DAYORDER, dayorder);
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
private void showJSON(String response){
String period1="";
String period2="";
String period3="";
String period4="";
String period5="";
String period6="";
String period7="";
try {
Toast.makeText(AttendanceActivity.this, "showjson try method", Toast.LENGTH_SHORT).show();
JSONObject jsonObject = new JSONObject(response);
JSONArray result = jsonObject.getJSONArray(Config.JSON_SUBJECTARRAY);
JSONObject collegeData = result.getJSONObject(0);
period1 = collegeData.getString(KEY_PERIOD1);
textViewResult.setText(period1);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
嗨,我终于找到了我需要的,上面是正确的查询。
谢谢大家。
syntax error
嗨,我无法通过 Volley Request 传递参数。
我目前使用 GET 方法。但是当我传递参数时它显示 "null error"
This the error message picture
我试过的
下面是我的 Activity 代码。
我试图传递 "dayorder" 参数,结果我试图获取特定的 "dayorder's periods" 作为结果数组并将其打印在 TextView 中。
public class AttendanceActivity extends AppCompatActivity {
private TextView today;
private TextView todayDate;
private TextView textViewResult;
private String dayorder;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_attendance);
today = (TextView) findViewById(R.id.textDay);
todayDate = (TextView) findViewById(R.id.textDate);
textViewResult=(TextView)findViewById(R.id.textViewResult);
chechDate();
}
public void chechDate(){
Calendar rightNow = Calendar.getInstance();
if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY){
today.setText("Monday");
}else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.TUESDAY){
today.setText("Tuesday");
}else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.WEDNESDAY){
today.setText("Wednesday");
}else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.THURSDAY){
today.setText("Thursday");
}else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY){
today.setText("Friday");
}else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY){
today.setText("Saturday");
} else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY){
today.setText("Sunday");
}else{
today.setText("Unable to get day");
}
Calendar c = Calendar.getInstance();
System.out.println("Current time => " + c.getTime());
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String formattedDate = df.format(c.getTime());
dayorder=today.toString();
todayDate.setText(formattedDate);
getData();
}
private void getData() {
dayorder = today.getText().toString().trim();
StringRequest stringRequest = new StringRequest(Request.Method.GET, SUBJECT_URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
if (response.trim().equals("success")) {
Toast.makeText(AttendanceActivity.this, response, Toast.LENGTH_LONG).show();
showJSON(response);
} else {
Toast.makeText(AttendanceActivity.this, response, Toast.LENGTH_LONG).show();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(AttendanceActivity.this, "Unable to connect. Please connect to Internet!", Toast.LENGTH_LONG).show();
}
}) {
@Override
protected Map<String, String> getParams(){
Map<String, String> map = new HashMap<>();
map.put(KEY_DAYORDER, dayorder);
return map;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
private void showJSON(String response){
String period1="";
String period2="";
String period3="";
String period4="";
String period5="";
String period6="";
String period7="";
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray result = jsonObject.getJSONArray(Config.JSON_SUBJECTARRAY);
JSONObject collegeData = result.getJSONObject(0);
period1 = collegeData.getString(Config.KEY_PERIOD1);
period2 = collegeData.getString(Config.KEY_PERIOD2);
period3 = collegeData.getString(Config.KEY_PERIOD3);
period4 = collegeData.getString(Config.KEY_PERIOD4);
period5 = collegeData.getString(Config.KEY_PERIOD5);
period6 = collegeData.getString(Config.KEY_PERIOD6);
period7 = collegeData.getString(Config.KEY_PERIOD7);
} catch (JSONException e) {
e.printStackTrace();
}
textViewResult.setText(period1+period2+period3+period4+period5+period6+period7);
}
}
在 getRequest 中,您通过 Url?"paramKey="value;
提供参数new StringRequest(Request.Method.GET, SUBJECT_URL?"KEY_DAYORDER="dayorder,
你的情况
StringRequest stringRequest = new StringRequest(Request.Method.GET, SUBJECT_URL?"KEY_DAYORDER="dayorder,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
if (response.trim().equals("success")) {
Toast.makeText(AttendanceActivity.this, response, Toast.LENGTH_LONG).show();
showJSON(response);
} else {
Toast.makeText(AttendanceActivity.this, response, Toast.LENGTH_LONG).show();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(AttendanceActivity.this, "Unable to connect. Please connect to Internet!", Toast.LENGTH_LONG).show();
}
}) };
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
import android.widget.Toast;
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 com.ibm.icu.text.SimpleDateFormat;
import com.ibm.icu.util.Calendar;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.HashMap;
import java.util.Map;
import static com.example.vicky.module1.Config.KEY_DAYORDER;
import static com.example.vicky.module1.Config.KEY_PERIOD1;
import static com.example.vicky.module1.Config.SUBJECT_URL;
public class AttendanceActivity extends AppCompatActivity {
private TextView today;
private TextView todayDate;
private TextView textViewResult;
private String dayorder;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_attendance);
today = (TextView) findViewById(R.id.textDay);
todayDate = (TextView) findViewById(R.id.textDate);
textViewResult=(TextView)findViewById(R.id.textViewResult);
chechDate();
}
public void chechDate(){
Calendar rightNow = Calendar.getInstance();
if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY){
today.setText("Monday");
}else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.TUESDAY){
today.setText("Tuesday");
}else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.WEDNESDAY){
today.setText("Wednesday");
}else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.THURSDAY){
today.setText("Thursday");
}else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY){
today.setText("Friday");
}else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY){
today.setText("Saturday");
} else if (rightNow.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY){
today.setText("Sunday");
}else{
today.setText("Unable to get day");
}
Calendar c = Calendar.getInstance();
System.out.println("Current time => " + c.getTime());
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String formattedDate = df.format(c.getTime());
todayDate.setText(formattedDate);
getData();
}
private void getData(){
dayorder = today.getText().toString().trim();
StringRequest stringRequest = new StringRequest(Request.Method.POST, SUBJECT_URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Toast.makeText(AttendanceActivity.this,response,Toast.LENGTH_LONG).show();
showJSON(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(AttendanceActivity.this,error.toString(),Toast.LENGTH_LONG).show();
}
}){
@Override
protected Map<String,String> getParams(){
Map<String,String> params = new HashMap<String, String>();
params.put(KEY_DAYORDER, dayorder);
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
private void showJSON(String response){
String period1="";
String period2="";
String period3="";
String period4="";
String period5="";
String period6="";
String period7="";
try {
Toast.makeText(AttendanceActivity.this, "showjson try method", Toast.LENGTH_SHORT).show();
JSONObject jsonObject = new JSONObject(response);
JSONArray result = jsonObject.getJSONArray(Config.JSON_SUBJECTARRAY);
JSONObject collegeData = result.getJSONObject(0);
period1 = collegeData.getString(KEY_PERIOD1);
textViewResult.setText(period1);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
嗨,我终于找到了我需要的,上面是正确的查询。 谢谢大家。