duadpnld426905 2017-11-18 03:05
浏览 162

使用Response和JSON的Android Studio数据库连接

I'm trying to make a conection with my remote Database using a PHP file and JSONObject, but the code is skiping the Response.Listener and I don't know why... Here my Main that contains the Response.Listener:

Response.Listener<String> responseListener = new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    try {

                        Toast.makeText(Register.this, "Test00", Toast.LENGTH_SHORT).show();

                        JSONObject jsonObject = new JSONObject(response);
                        boolean success = jsonObject.getBoolean("success");

                        if(success)
                        {
                            Toast.makeText(Register.this, "Test01", Toast.LENGTH_SHORT).show();
                        }
                        else
                        {
                            Toast.makeText(Register.this, "Error", Toast.LENGTH_SHORT).show();
                        }

                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            };

            RegisterRequest registerRequest = new RegisterRequest(email, username, usernick, password, birthdate, gender, responseListener);
            RequestQueue queue = Volley.newRequestQueue(Register.this);
            queue.add(registerRequest);

and here my RegisterRequest class:

public class RegisterRequest extends StringRequest {

private static final String REGISTER_REQUEST_URL = "kameo.com.br/control/ayzac_control_signin_mobile.php";
private Map<String, String> params;

public RegisterRequest(String email, String name, String nickname, String password, String date, String gender, Response.Listener<String> listener)
{
    super(Method.POST, REGISTER_REQUEST_URL, listener, null);
    params = new HashMap<>();
    params.put("userEmail", email);
    params.put("userName", name);
    params.put("userNickname", nickname);
    params.put("userPassword", password);
    params.put("userBirth", date);
    params.put("userGender", gender);
}

@Override
public Map<String, String> getParams() {
    return params;
}
}
  • 写回答

1条回答

  • duanlangwen9597 2017-11-18 03:18
    关注

    I tested your URL and there is an error there: kameo.com.br/control/ayzac_control_signin_mobile.php

    Also you need to read the error from your server response, try to create an error listener:

    Response.Listener<String> errorListener = new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    Log.e(TAG, "Error : " + error.getMessage());
                }
           };
    

    And pass into your RegisterRequest constructor

    评论

报告相同问题?

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码