【发布时间】:2017-03-07 16:14:21
【问题描述】:
我正在使用带有 android 的 Volley 库并从我的服务器作为 String 对象获得响应,但无法正确比较它。我正在尝试以下方法:
RequestQueue queue = Volley.newRequestQueue(this);
String url = "http://www...";
StringRequest postRequest = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("from onResponse()", response);
if(response.equals("no_such_table")){
//do something
}else{
//do something else
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
onTaskFailed(error);
}
})
android 监视器正在打印出预期的字符串(“no_such_table”),但正在触发 else 情况。使用 volley 库从服务器返回的响应的编码是否存在问题?
我也试过
response.toString().equals("no_such_table")
String.valueOf(response).equals("no_such_table")
"no_such_table".equals(response)
"no_such_table".equals(response.toString())
但我无法让它按预期工作
响应由服务器上的 php 脚本给出
$val = mysql_query('select 1 from `" . $device_group_id . "` LIMIT 1');
if($val == FALSE){
//table does not exist so return message
echo "no_such_table";
}
【问题讨论】:
-
response一般都是json格式,最好先解析再比较
-
"looks" equal but they are not 或任何其他类似问题...
-
是的,我曾考虑过不需要的空格,但使用 replaceAll(" ", "") 作为响应不应该有任何空格并且仍然无法正常工作
标签: java android string android-volley