public void searchLoginInfo(View view) {
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, showUrl,null,new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
JSONArray users = response.getJSONArray("users");
for (int i = 0; i < users.length(); i++){
JSONObject user = users.getJSONObject(i);
String username = user.getString("username").toLowerCase();
String password = user.getString("password".toLowerCase());
String retypedpassword = user.getString("retypedpassword");
String email = user.getString("email");
if (username.equals(myLoginList.get(0)) && password.equals(myLoginList.get(1))) {
Toast.makeText(LoginActivity.this, "Login Succesfull", Toast.LENGTH_LONG).show();
Intent send = new Intent(LoginActivity.this, WelcomeActivity.class);
startActivity(send);
break;
}else{
Toast.makeText(LoginActivity.this, "Login Failed!", Toast.LENGTH_LONG).show();
Intent send = new Intent(LoginActivity.this, LoginActivity.class);
startActivity(send);
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("Volley Error", error.toString());
NetworkResponse networkResponse = error.networkResponse;
if (networkResponse != null) {
Log.e("Status code", String.valueOf(networkResponse.statusCode));
}
}
});
requestQueue.add(jsonObjectRequest);
}
Я использую объектный запрос JSON для получения информации из базы данных, которую я создал. Я могу с помощью своего приложения для Android вставить данные в базу данных, но теперь я хочу проверить, например, создал ли пользователь учетную запись пользователя. И файлы url, и файлы php работают нормально. Я использовал журнал в методе onErrorResponse, чтобы увидеть, что является реальной ошибкой, и я получил это: Ошибка E / Volley: com.android.volley.ParseError: org.json.JSONException: Value Соединение типа java.lang.String не может быть преобразовано в JSONObject.. Я не знаю, что, кажется, проблема с этим. Я также проверил с помощью postamn, возвращает ли мой веб-сервис данные json.Печатный экран с данными JSON
Кто-нибудь может мне помочь? заранее спасибо
Вместо JSONRequest
пытаться StringRequest
и проверьте, является ли ваш ответ действительным JSON или нет. JSONRequest
пытается разобрать строку в JSONObject
а затем возвращает, и это может произойти сбой, если ответ не, если тип JSON
,
Вам нужно проверить, если ваш веб-сервис возвращает значения.
Вы можете проверить это с помощью вашего навигатора или почтальона, например.