Я делаю приложение в Android Studio с PHP, MySQL и JSON
У меня есть 2 дня, чтобы решить эту проблему, но у меня ничего не получается.
У меня проблема в том, что если я вызываю json определенным образом, все работает отлично, но если я изменяю его и пытаюсь сделать тот же метод, но более определенным образом, больше ничего не отображается.
Я использую фрагменты, класс, виды переработчика, адаптеры и залп
Во-первых, это мой OnCreateView
I получает переменную " departa " из другого действия
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_panel, container, false);
listaDatos = new ArrayList<>();
recyclerDatos = (RecyclerView) view.findViewById(R.id.idRecyclerView);
recyclerDatos.setLayoutManager(new LinearLayoutManager(this.getContext()));
recyclerDatos.setHasFixedSize(true);
reportesAdapter adapter = new reportesAdapter(listaDatos);
recyclerDatos.setAdapter(adapter);
request = Volley.newRequestQueue(getContext());
pedirWebService();
departa = getActivity().getIntent().getExtras().getString("key_id");
//Just for debug
Toast.makeText(getContext(), "Variable; "+departa, Toast.LENGTH_LONG).show();
//listar = (ListView) view.findViewById(R.id.listDatos);
return view;
}
Код pedirWebService ();
private void pedirWebService() {
String url = "http://alertin.gearhostpreview.com/DB/listaReportesAplicacion.php?depto="+departa;
jsonObjectRequest = new JsonObjectRequest(Request.Method.GET,url,null,this,this);
request.add(jsonObjectRequest);
}
Ответ от JSON
public void onResponse(JSONObject response) {
//Datos datos = null;
Datos datos = new Datos();
JSONArray jsonArray = response.optJSONArray("usuario");
//JSONArray jsonArray = new JSONArray("usuario");
JSONObject jsonObject = null;
try {
for (int i=0; i<jsonArray.length();i++){
jsonObject = jsonArray.getJSONObject(i);
datos.setId(jsonObject.optString("id"));
datos.setTitulo(jsonObject.optString("titulo"));
datos.setReporte(jsonObject.optString("texto"));
datos.setDepartamento(jsonObject.optString("id_depto"));
datos.setZona(jsonObject.optString("id_zona"));
listaDatos.add(datos);
}
//reportesAdapter adapter = new reportesAdapter(listaDatos);
// recyclerDatos.setAdapter(adapter);
}catch (JSONException e) {
e.printStackTrace();
Toast.makeText(getContext(), "No se pudo consultar" + response.toString(), Toast.LENGTH_SHORT).show();
Log.e("Log_tag", "Error parsing data"+ e.toString());
progress.hide();
}
}
и, наконец, мой PHP-код, чтобы получить JSON
include 'conexion.php';
$depto = $_REQUEST['depto'];
$datos=array();
$sql = "SELECT * FROM reportes where id_depto = '$depto'";
$res = $con->query($sql);
foreach ($res as $row) {
$datos['usuario'][] = $row;
}
echo json_encode($datos);
в IDE я не получаю никаких ошибок только JSONException, чтобы помочь немного больше это должно получить от json.
Ошибка в приложении