【问题标题】:Android Studio Database connection using Response and JSON使用响应和 JSON 的 Android Studio 数据库连接
【发布时间】:2017-11-18 03:05:11
【问题描述】:

我正在尝试使用 PHP 文件和 JSONObject 与我的远程数据库建立连接,但代码正在跳过 Response.Listener,我不知道为什么... 这里我的 Main 包含 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);

这里是我的 RegisterRequest 类:

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;
}
}

【问题讨论】:

  • 您是否尝试过在您的 api URL 前添加 http 或 https
  • 检查您的请求参数
  • 成功了,只需在 URL 前加上“http://”...非常感谢!

标签: php android json database android-studio


【解决方案1】:

我测试了您的网址,但出现错误:kameo.com.br/control/ayzac_control_signin_mobile.php

您还需要从服务器响应中读取错误,尝试创建一个错误侦听器:

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

并传入您的 RegisterRequest 构造函数

【讨论】:

  • 将 TAG 替换为任意字符串 bro
猜你喜欢
  • 2020-04-11
  • 1970-01-01
  • 2018-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-15
  • 1970-01-01
相关资源
最近更新 更多