当我尝试通过我的应用程序注册时,我没有得到任何回复



我正在尝试将数据保存到服务器。有人可以帮我吗?

当我尝试通过浏览器保存数据时,它的工作正常,但是当我尝试使用此代码时,没有任何响应?

public class Register extends AppCompatActivity implements View.OnClickListener {
private static final String TAG = "dRegister";
EditText etName, etEmail, etMobile, etPassword, /*etRePassword*/
        etCity;
Button register;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_register);
    etName = (EditText) findViewById(R.id.name);
    etEmail = (EditText) findViewById(R.id.email);
    etMobile = (EditText) findViewById(R.id.mobile);
    etCity = (EditText) findViewById(R.id.etCity);
    etPassword = (EditText) findViewById(R.id.password);
    //etRePassword = (EditText) findViewById(R.id.rePassword);
    register = (Button) findViewById(R.id.bRegister);
    register.setOnClickListener(this);
}
@Override
public void onClick(View v) {
    final String name = etName.getText().toString();
    final String email = etEmail.getText().toString();
    final String password = etPassword.getText().toString();
    final String city = etCity.getText().toString();
    final String phoneno = etMobile.getText().toString();
    StringRequest registerRequest = new StringRequest(Request.Method.POST,RegisterRequest.REGISTER_REQUEST_URL, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            Log.d(TAG, response + " Response");
            if(response.equals("SUCCESS")){
                startActivity(new Intent(Register.this,MainActivity.class));
            }
            else{
                Toast.makeText(Register.this, "You have not Registered!", Toast.LENGTH_SHORT).show();
            }
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.d(TAG, "Error " + error.toString());
            if(error.networkResponse == null){
                if(error.getClass().equals(TimeoutError.class));
                Toast.makeText(Register.this, "oops Time out error!", Toast.LENGTH_SHORT).show();
            }
        }
    }){
        @Override
        public Map<String, String> getHeaders()throws AuthFailureError{
            Map<String, String> headers = new HashMap<>();
            headers.put("name",name);
            headers.put("email",email);
            headers.put("password",password);
            headers.put("city",city);
            headers.put("phoneno",phoneno);
            return headers;
        }
    };
    registerRequest.setRetryPolicy(new DefaultRetryPolicy(1000 * 15,
            DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
            DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
    /*Response.Listener<String> responseListener = new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            Log.d(TAG, response + "");
            try {
                JSONObject jsonResponse = new JSONObject(response);
                boolean success = jsonResponse.getBoolean("success");
                if (success) {
                    Intent intent = new Intent(Register.this, MainActivity.class);
                    startActivity(intent);
                } else {
                    AlertDialog.Builder builder = new AlertDialog.Builder(Register.this);
                    builder.setMessage("Registration failed").setNegativeButton("Retry", null)
                            .create().show();
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    };
    RegisterRequest registerRequest = new RegisterRequest(name, email, city, phoneno, password, responseListener){
        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            //super.getHeaders();
            Map<String,String> headers = new HashMap<>();
            String credential = "raju@gmail.com:123";
            String auth = "Basic "+ Base64.encodeToString(credential.getBytes(),Base64.NO_WRAP);
            //headers.put("Content-Type");
            headers.put("Authorization",auth);
            //
            return headers;
        }
    };*/
            RequestQueue queue = Volley.newRequestQueue(Register.this);
            registerRequest.setShouldCache(false);
            queue.add(registerRequest);
}
}

这是我的服务器代码....

@RequestMapping(value = "/savemobileUser", method = RequestMethod.POST)
public @ResponseBody String saveUser(@RequestBody MobileUserModel mobileUser) {
    MobileUserModel user = new MobileUserModel();
    user.setActivationKey(mobileUser.getActivationKey());
    user.setCity(mobileUser.getCity());
    user.setEmail(mobileUser.getEmail());
    user.setImeino(mobileUser.getImeino());
    user.setName(mobileUser.getName());
    user.setPassword(mobileUser.getPassword());
    user.setPhoneno(mobileUser.getPhoneno());
    userrepository.save(user);
    System.out.println("Saved");
    // return "User has been saved Successfully";
    return "SUCCESS";
}

在您的onclick方法中放置以下内容:

switch (v.getId()) {
        case R.id.bRegister:

            // add your registration process code here

            break;
}   

请确保您在清单中获得了互联网权限。

<uses-permission android:name="android.permission.INTERNET" />

请提供您的JSON响应格式以及您发送的参数类型。它可能是由于不同的原因而发生的,例如,有一个JSON数组中的响应中,您只是用简单对象或您映射到其中的属性(变量(映射它,名称与已提交的JSON响应或可能有不同的原因。

最新更新