我正在为流媒体音乐开发MediaPlayer,但最近我被卡住了。
当我请求一个JSONObject时,我会收到它,但它是空的(Log告诉我)。我尝试使用JSONArray,结果相同(我的所有代码都在下面)。
我的PHP看起来不错,因为我尝试使用http测试器来处理POST请求,它总是返回好结果。 SharedPreferences既不是原因。
我真的无法理解问题在哪里,所以感谢所有的帮助:D
MY REQUEST METHOD:
private void SelectAlbum() {
//Getting values from edit texts
SharedPreferences sharedPreferences = getSharedPreferences(Config.ALBUM_SELECTED, Context.MODE_PRIVATE);
chxAlbum = sharedPreferences.getString(Config.ALBUM_SELECTED, "Preview");
//Creating a string request
JsonObjectRequest stringRequest = new JsonObjectRequest(Request.Method.POST, REGISTER_URL
, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d("test", response.toString());
Toast.makeText(getApplicationContext(), "yeees!", Toast.LENGTH_SHORT).show();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
//You can handle error here if you want
Toast.makeText(getApplicationContext(), "Invalid username", Toast.LENGTH_LONG).show();
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
//Adding parameters to request
params.put(Config.KEY_ALBUM, chxAlbum);
//returning parameter
return params;
}
};
//Adding the string request to the queue
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
我的PHP代码:
<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
$album= $_POST['album'];
$sql = "SELECT * FROM dbMusique WHERE album LIKE '$album' ";
require_once('dbConnect.php');
$check = mysqli_fetch_array(mysqli_query($con,$sql));
$res = mysqli_query($con,$sql);
$result = array();
while($row = mysqli_fetch_array($res)){
array_push($result,
array(
'0'=>$row[0],
'1'=>$row[1],
'2'=>$row[2],
'3'=>$row[3],
'4'=>$row[4],
'5'=>$row[5],
'6'=>$row[6],
'7'=>$row[7],
'8'=>$row[8],
'9'=>$row[9],
));
}
$final = json_encode(array("result"=>$result));
echo stripslashes($final);
}
我的日志:
6-07 16:16:36.600 11985-11985/com.example.pierr.puremusictest2 D/test: {"result":[]}
最后来自HTTP TESTER的结果:
{"result":[["2","5","Satellite","Capital Kings","II",null,"2015","http://www.jesusfreakhideout.com/cdreviews/covers/capitalkingsii.jpg","http://lolilol.890m.com/Musique/CapitalKings/II/Capital_Kings_-_Satellites_Official_Audio_Video-r8.aac",null]]}