と呼ばれていません、私はPHPの一部が単独で試験し、それは100%の作業だとアンドロイド:バレーボール文字列要求onresponseが
を想定して、それはJSON文字列を返しているPOSTメソッドを使用してPHPのためにアンドロイドからのデータを送信しようとしています
アンドロイド一部が、それは誤り 、あるいは必要な応答ここ
を印刷しません が動作していないことは、コードであり、それはトーストを使用して文字列「テスト」を印刷し、テストされていますが、それは中に変更されません。ボレーコード:(
これはPHPコードである:私は方法
setUserData(username);
Toast.makeText(LoginActivity.this, test, Toast.LENGTH_SHORT).show();
呼び出す場合、これは出力
String test = "none";
を表示するテスト文字列を初期化
:
<?php
require_once(__DIR__.'/../dbConnect.php');
$userName=$_POST['username'];
$query = "SELECT * FROM users WHERE username='$userName'";
$result = pg_query($con, $query);
$rows = pg_num_rows($result);
while ($row = pg_fetch_row($result))
{
$field = pg_num_fields($result);
for ($i = 0; $i < $field; $i++) {
$name = pg_field_name($result, $i);
$user_arr[$name] = $row[$i];
}
}
echo json_encode($user_arr);
pg_close($con);
?>
、これはAndroidのコードであります
これは方法です:
private void setUserData(final String username)
{
StringRequest strReq = new StringRequest(Request.Method.POST,
Server.GET_USERDATA_URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
test= "test = "+response;
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
Toast.makeText(LoginActivity.this, volleyError.getMessage().toString(), Toast.LENGTH_LONG).show();
}
})
{
@Override
protected Map<String, String> getParams() {
// Posting parameters to getData url
Map<String, String> params = new HashMap<String, String>();
params.put(Server.KEY_USERNAME, username);
return params;
}
};
//Creating a Request Queue
RequestQueue requestQueue = Volley.newRequestQueue(this);
//Adding request to the queue
requestQueue.add(strReq);
}
あなたはブレークポイントを追加したり、それが – Shubhank
そう呼ばれているかどうかをチェックするために 'onResponse'にログインしなかった............ –
Webrequestが終了するまで5-6秒待って、テスト値が生成されているかどうかを確認しましたか? – Shubhank