Also ich habe eine PHP Funktion was mir die Freunde ausliest und die Namen ausgibt.
Das Ergebnis sieht so aus:
{"success":1,"message":"OK","friends":{"id_1":"demo","id_2":"demo2"}}
Der Code:
Nun möchte ich mit Java die Freunde auslesen und ausgeben:
Aber leider wird nichts ausgegeben. Woran kann es liegen?
Das Ergebnis sieht so aus:
{"success":1,"message":"OK","friends":{"id_1":"demo","id_2":"demo2"}}
Der Code:
PHP:
$row = $qry->fetch(PDO::FETCH_ASSOC);
$response["success"] = 1;
$response["message"] = "OK";
$qry2 = $db->prepare("SELECT * FROM friendships WHERE user_one = :userid OR user_two = :userid");
$qry2->execute(array(":userid" => $row["id"]));
$i = 0;
while($rowx = $qry2->fetch(PDO::FETCH_ASSOC)) {
$i++;
$ix = "id_".$i;
if($rowx["user_one"] == $row["id"]) {
$response["friends"][$ix] = getName($rowx["user_two"]);
} else {
$response["friends"][$ix] = getName($rowx["user_one"]);
}
}
Java:
@Override
protected String doInBackground(String... params) {
try {
int success;
List<NameValuePair> paramsx = new ArrayList<NameValuePair>();
paramsx.add(new BasicNameValuePair("username", UserFactory.username));
paramsx.add(new BasicNameValuePair("password", UserFactory.password));
JSONObject json = jsonParser.makeHttpRequest(UserFactory.GET_URL, "POST", paramsx);
success = json.getInt(UserFactory.TAG_SUCCESS);
if(success == 1) {
sList = new ArrayList<Data>();
JSONArray array = json.getJSONArray("friends");
for(int i = 0; i < array.length (); i++) {
sList.add(new Data(json.getString("id_" + i), "Deutschland", R.drawable.friend2));
array.getInt(i);
}
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}