2017-11-18 214 views
0

我试图用我的远程数据库使用PHP文件和JSONObject进行连接,但代码正在滑动Response.Listener,我不知道为什么... 这里我主要包含Response.Listener:使用响应和JSON的Android Studio数据库连接

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

你有没有试着用你的API网址前加上HTTP或HTTPS – Dilip

+0

检查您的请求params –

+0

它的工作,只需在URL之前“http://”...非常感谢! –

回答

0

我测试您的网址,这里面就有一个错误: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构造

+0

您在Log中使用的标签具有私密访问权限... –

+0

用任何字符串bro替换TAG – diegoveloper