使用restapi将数据从android应用程序上传到mysql数据库?

quhf5bfb  于 2021-06-23  发布在  Mysql
关注(0)|答案(0)|浏览(177)

在使用restapi将数据发布到mysql数据库时遇到了问题,restapi是在magento2中通过android应用程序完成的。

RegisterActivity extends AppCompatActivity {

private static final String TAG = "RegisterActivity";
private static final String URL_FOR_REGISTRATION = "https://xyz/restapi/registration";
ProgressDialog progressDialog;

private EditText signupInputName, signupInputEmail, signupInputPassword, signupInputCnfPassword, signupInputAge;
private Button btnSignUp;
private Button btnLinkLogin;
private RadioGroup genderRadioGroup;

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

    // Progress dialog
    progressDialog = new ProgressDialog(this);
    progressDialog.setCancelable(false);

    signupInputName = (EditText) findViewById(R.id.signup_input_name);
    signupInputEmail = (EditText) findViewById(R.id.signup_input_email);
    signupInputPassword = (EditText) findViewById(R.id.signup_input_password);
    signupInputCnfPassword = (EditText) findViewById(R.id.signup_input_passwords);
    signupInputAge = (EditText) findViewById(R.id.signup_input_age);

    btnSignUp = (Button) findViewById(R.id.btn_signup);
    btnLinkLogin = (Button) findViewById(R.id.btn_link_login);

    btnSignUp.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            submitForm();
        }
    });
    btnLinkLogin.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            Intent i = new Intent(getApplicationContext(),LoginActivity.class);
            startActivity(i);
        }
    });
}

private void submitForm() {

    registerUser(signupInputName.getText().toString(),
                 signupInputEmail.getText().toString(),
                 signupInputPassword.getText().toString(),
            signupInputCnfPassword.getText().toString(),
                 signupInputAge.getText().toString());
}

private void registerUser(final String name,  final String email, final String password, final String cnfpassword, final String dob) {
    // Tag used to cancel the request
    String cancel_req_tag = "register";

    progressDialog.setMessage("Adding you ...");
    showDialog();

    StringRequest strReq = new StringRequest(Request.Method.POST,
            URL_FOR_REGISTRATION, new Response.Listener<String>() {

        @Override
        public void onResponse(String response) {
            Log.d(TAG, "Register Response: " + response.toString());
            hideDialog();

            try {
                JSONObject jObj = new JSONObject(response);
                boolean error = jObj.getBoolean("error");

                if (!error) {
                    String user = jObj.getJSONObject("user").getString("name");
                    Toast.makeText(getApplicationContext(), "Hi " + user +", You are successfully Added!", Toast.LENGTH_SHORT).show();

                    // Launch login activity
                    Intent intent = new Intent(
                            RegisterActivity.this,
                            LoginActivity.class);
                    startActivity(intent);
                    finish();
                } else {

                    String errorMsg = jObj.getString("error_msg");
                    Toast.makeText(getApplicationContext(),
                            errorMsg, Toast.LENGTH_LONG).show();
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }

        }
    }, new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError error) {
            Log.e(TAG, "Registration Error: " + error.getMessage());
            Toast.makeText(getApplicationContext(),
                    error.getMessage(), Toast.LENGTH_LONG).show();
            hideDialog();
        }
    }) {
        @Override
        protected Map<String, String> getParams() {
            // Posting params to register url
            Map<String, String> params = new HashMap<String, String>();
            params.put("cust_username", name);
            params.put("cust_firstname", email);
            params.put("cust_pass", password);
            params.put("cust_confirmpass", cnfpassword);
            params.put("cust_phoneno", dob);
            return params;
        }
    };
    // Adding request to request queue
    AppSingleton.getInstance(getApplicationContext()).addToRequestQueue(strReq, cancel_req_tag);
}

private void showDialog() {
    if (!progressDialog.isShowing())
        progressDialog.show();
}

private void hideDialog() {
    if (progressDialog.isShowing())
        progressDialog.dismiss();
}

}

我正在使用
Volley library 请求。我得到这个错误
basicnetwork.performrequest:的意外响应代码503https://xyz/restapi/registration.
我的问题是,我是否遗漏了任何东西,或者是否有一些约束应该在mysql中检查以发布数据。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题