Данные Android Volley JSON не собираютсяAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Данные Android Volley JSON не собираются

Сообщение Anonymous »

Я использую Volley для получения данных JSON, но, кажется, не работает. Код полностью для меня.
Android -код: < /p>

public void search() {

final String search_string = et_Search.getText().toString();

PD.setMessage("Searching: " + search_string);

PD.show();

String search_url = "";

StringRequest postRequest = new StringRequest(Request.Method.POST, search_url,
new Response.Listener() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonResponse = new JSONObject(response);

int success = jsonResponse.getInt("success");
String message = jsonResponse.getString("message");

JSONArray ja = jsonResponse.getJSONArray("restaurants");

if (ja != null) {

for (int i = 0; i < ja.length(); i++) {

JSONObject jsonobject = ja.getJSONObject(i);
HashMap item = new HashMap();
item.put(TITLE, jsonobject.getString(TITLE));
item.put(LOCATION, jsonobject.getString(LOCATION));

List.add(item);
} // for loop ends

String[] from = {TITLE, LOCATION};
int[] to = {R.id.item_name, R.id.item_location};

adapter = new SimpleAdapter(
getActivity().getApplicationContext(), List,
R.layout.list_items, from, to);

listView.setAdapter(adapter);

}else{
Toast.makeText(getActivity().getApplicationContext(), message, Toast.LENGTH_SHORT).show();
}

PD.dismiss();

} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
PD.dismiss();
Toast.makeText(getActivity().getApplicationContext(),
"Failed, Check Your Connection", Toast.LENGTH_SHORT).show();
}
}
) {
@Override
protected Map getParams() {
Map params = new HashMap();
// the POST parameters:
params.put("search_string", search_string);
return params;
}
};

// Adding request to request queue
Volley.newRequestQueue(getActivity()).add(postRequest);
}
< /code>

Так что теперь код на стороне сервера: он получает данные из MySQL, кодирование JSON полностью работает нормально ... < /p>

$search_string = $_POST["search_string"];

// include db connect class
require_once __DIR__ . '/db_connect.php';

// connecting to db
$db = new DB_CONNECT();

// get all restaurants from products table
$result = mysql_query("SELECT T1.name, T2.address FROM tbl_restaurant T1 INNER JOIN tbl_information T2 ON T1.restaurant_id = T2.restaurant_id WHERE T1.name LIKE '%$search_string%'") or die(mysql_error());

// check for empty result
if (mysql_num_rows($result) > 0) {
// looping through all results
// restaurants node
$response["restaurants"] = array();

while ($row = mysql_fetch_array($result)) {
// temp user array
$rest_array = array();

$rest_array["name"] = $row["name"];
$rest_array["address"] = $row["address"];

// push single restaurant into final response array
array_push($response["restaurants"], $rest_array);
}
// success
$response["success"] = 1;

// echoing JSON response
echo json_encode($response);


Подробнее здесь: https://stackoverflow.com/questions/338 ... collecting
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»