Search code examples
androidjsonbasic-authentication

Getting blank entry in database


Here is my code

public class MainActivity extends AppCompatActivity {

    EditText etFirstname, etLastname, etEmailPhone, etPassword, etTelephone, etConfirm;
    Button btnRegister;
    RequestQueue requestQueue;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        etFirstname = findViewById(R.id.editTextFirstName);
        etLastname = findViewById(R.id.editTextLastName);
        etEmailPhone = findViewById(R.id.editTextEmail);
        etPassword = findViewById(R.id.editTextPassword);
        etTelephone = findViewById(R.id.editTexttelephone);
        etConfirm = findViewById(R.id.editTextConfirmPassword);
        btnRegister = findViewById(R.id.buttonSignUp);

        btnRegister.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                doNormalPostOperation();

            }
        });

    }

    public void doNormalPostOperation() {

        final RequestQueue queue = Volley.newRequestQueue(getApplicationContext());
        JsonObjectRequest getRequest = new JsonObjectRequest(Request.Method.GET,
                "https://www.glamorousshe.com/index.php?route=customapi/customer/register", null,
                new Response.Listener<JSONObject>()
                {
                    @Override
                    public void onResponse(JSONObject response) {
                        // display response
                      //  hideProgressDialog();
                        Log.e("login output", queue.toString());
                        Register registerListModel = new GsonBuilder().create().fromJson(queue.toString(), Register.class);


                        Toast.makeText(MainActivity.this, registerListModel.getStatus() + "", Toast.LENGTH_SHORT).show();

                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        //hideProgressDialog();

                        Toast.makeText(getApplicationContext(), "Something went Wrong.. Please Try again..", Toast.LENGTH_SHORT).show();

                    }
                }) {


            @Override
            public Map<String, String> getHeaders() throws AuthFailureError {
                HashMap<String, String> params = new HashMap<String, String>();
                params.put("Content-Type", "application/json");
                String creds = String.format("%s:%s", "glamorousshe07032018", "9426473664");
                String auth = "Basic " + Base64.encodeToString(creds.getBytes(), Base64.DEFAULT);
                params.put("Authorization", auth);

                params.put("firstname", etFirstname.getText().toString() + "");
                params.put("lastname", etLastname.getText().toString() + "");
                params.put("email", etEmailPhone.getText().toString() + "");
                params.put("password", etPassword.getText().toString() + "");
                params.put("confirm", etConfirm.getText().toString() + "");
                params.put("telephone", etTelephone.getText().toString() + "");
                Log.e("para", params + "");
                return params;

            }
        };




        queue.add(getRequest);

        }
    }

Register Model Class

public class Register {

    @SerializedName("data")
    @Expose
    private Data data;
    @SerializedName("status")
    @Expose
    private Integer status;

    public Data getData() {
        return data;
    }

    public void setData(Data data) {
        this.data = data;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

}

Getting blank fields in database while clicking signup button in android its throws error exception and store blank fields in Database.


Solution

  • If we use POST instead of GET or GET instead of POST mans this error will occur

    So, Change POST to GET in this line

    StringRequest stringRequest = new StringRequest(Request.Method.GET, "https://www.****.com/api/register",
    new Response.Listener<String>()
    

    Hope this may help you