Я использую 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
Данные Android Volley JSON не собираются ⇐ Android
Форум для тех, кто программирует под Android
1738707723
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);
Подробнее здесь: [url]https://stackoverflow.com/questions/33876564/android-volley-json-data-not-collecting[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия