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

    评论

报告相同问题?

悬赏问题

  • ¥50 汇编语言除法溢出问题
  • ¥65 C++实现删除N个数据列表共有的元素
  • ¥15 Visual Studio问题
  • ¥15 state显示变量是字符串形式,但是仍然红色,无法引用,并显示类型不匹配
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗