私はプログラミングに慣れていないし、現在のアプリケーションは自分のサーバーから単一のデータだけのデータを取得し、それをtextviewに入力します。しかし、今私は正常に複数の値でJSONArrayをエンコードするPHPスクリプトを作成したが、私はループを介してアンドロイドコードに値を取得する方法を知っていないと私はまた、私のリストビューを作成する方法を知っていない。JSONArray to Android ListView
サンプルJSON
[{"lnumber":"2","violation":"2"},{"lnumber":"2","violation":"No Helmet"}]
PHPスクリプト
$result = array();
$sql = "SELECT lnumber,violation FROM violators WHERE
lnumber='".$lnumber."'";
$stmt = $con->prepare($sql);
$stmt->execute();
$stmt->bind_result($lnumber, $violation);
while($stmt->fetch())
{
$temp = [
'lnumber'=>$lnumber,
'violation'=>$violation
];
array_push($result, $temp);
}
echo json_encode($result);
どのように私は現在、サーバーからデータを取得し、唯一のTextViewを使用してそれを表示しています。
Androidのコード
StringRequest stringRequest = new StringRequest(url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
loading.dismiss();
showJSON(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getViolation.this,error.getMessage().toString(),Toast.LENGTH_LONG).show();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
private void showJSON(String response)
{
try
{
String lnumber;
String violation;
JSONObject jsonObject = new JSONObject(response);
JSONArray result = jsonObject.getJSONArray(getConfig.JSON_ARRAY);
JSONObject violationData = result.getJSONObject(0);
lnumber = violationData.getString(getConfig.KEY_LNUMBER);
violation = violationData.getString(getConfig.KEY_VIOLATION);
textViewResult.setText("License Number:\t"+lnumber+"\nViolation:\t"+violation);
}
PS: 私のリストビューIDがリストビューです。誰かがどのようにサーバーからリストビューに複数のデータを表示するのを助けることができる場合は非常に大きな助けになる!
私はPHPクエリの変数を掲示しているので、Asynctaskを使用することはできません。その応答は上記でエンコードされたクエリです。 –
あなたはjsonデータを返すPHPスクリプトを持っていますか? – aditya1508
はい。 {2}、{2}、{2}、{2}、{2}、{2}、{違反ヘルメット}} ' –