syntax error
我无法通过Volley Request传递参数。
我目前使用GET方法。但是当我通过参数时,它会显示" null错误"
This the error message picture
我尝试过什么
和贝娄是我的活动代码。
我试图通过" dayorder"参数和结果我试图得到特定的" dayorder的句号"作为结果数组并在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);
}
}
答案 0 :(得分:0)
在getRequest中,你通过Url提供参数吗?&#34; paramKey =&#34; 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();
}
}) };
答案 1 :(得分:0)
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();
}
}
}
HI终于找到了我需要的东西,上面是正确的查询。 谢谢你们。