Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class RegisterActivity extends AppCompatActivity {
- private static final String KEY_STATUS = "status";
- private static final String KEY_MESSAGE = "message";
- private static final String KEY_FULL_NAME = "full_name";
- private static final String KEY_USERNAME = "username";
- private static final String KEY_PASSWORD = "password";
- private static final String KEY_CHECKBOX = "checkbox";
- private static final String KEY_EMPTY = "";
- private EditText etUsername;
- private EditText etPassword;
- private EditText etConfirmPassword;
- private EditText etFullName;
- private String username;
- private String password;
- private String confirmPassword;
- private String fullName;
- private String checkBox;
- private ProgressDialog pDialog;
- private String register_url = "";
- private SessionHandler session;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- session = new SessionHandler(getApplicationContext());
- setContentView(R.layout.activity_register);
- etUsername = findViewById(R.id.etUsername);
- etPassword = findViewById(R.id.etPassword);
- etConfirmPassword = findViewById(R.id.etConfirmPassword);
- etFullName = findViewById(R.id.etFullName);
- CheckBox checkBox = findViewById(R.id.cb1);
- Button login = findViewById(R.id.btnRegisterLogin);
- Button register = findViewById(R.id.btnRegister);
- //Launch Login screen when Login Button is clicked
- login.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent i = new Intent(RegisterActivity.this, LoginActivity.class);
- startActivity(i);
- finish();
- }
- });
- register.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- //Retrieve the data entered in the edit texts
- username = etUsername.getText().toString().toLowerCase().trim();
- password = etPassword.getText().toString().trim();
- confirmPassword = etConfirmPassword.getText().toString().trim();
- fullName = etFullName.getText().toString().trim();
- if (validateInputs()) {
- registerUser();
- }
- }
- });
- }
- /**
- * Display Progress bar while registering
- */
- private void displayLoader() {
- pDialog = new ProgressDialog(RegisterActivity.this);
- pDialog.setMessage("Registriere.. Bitte warte...");
- pDialog.setIndeterminate(false);
- pDialog.setCancelable(false);
- pDialog.show();
- }
- /**
- * Launch Dashboard Activity on Successful Sign Up
- */
- private void loadDashboard() {
- Intent i = new Intent(getApplicationContext(), DashboardActivity.class);
- startActivity(i);
- finish();
- }
- private void registerUser() {
- displayLoader();
- JSONObject request = new JSONObject();
- try {
- //Populate the request parameters
- request.put(KEY_USERNAME, username);
- request.put(KEY_PASSWORD, password);
- request.put(KEY_FULL_NAME, fullName);
- } catch (JSONException e) {
- e.printStackTrace();
- }
- JsonObjectRequest jsArrayRequest = new JsonObjectRequest
- (Request.Method.POST, register_url, request, new Response.Listener<JSONObject>() {
- @Override
- public void onResponse(JSONObject response) {
- pDialog.dismiss();
- try {
- //Check if user got registered successfully
- if (response.getInt(KEY_STATUS) == 0) {
- //Set the user session
- session.loginUser(username,fullName);
- loadDashboard();
- }else if(response.getInt(KEY_STATUS) == 1){
- //Display error message if username is already existsing
- etUsername.setError("Username bereits vergeben!");
- etUsername.requestFocus();
- }else{
- Toast.makeText(getApplicationContext(),
- response.getString(KEY_MESSAGE), Toast.LENGTH_SHORT).show();
- }
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
- }, new Response.ErrorListener() {
- @Override
- public void onErrorResponse(VolleyError error) {
- pDialog.dismiss();
- //Display error message whenever an error occurs
- Toast.makeText(getApplicationContext(),
- error.getMessage(), Toast.LENGTH_SHORT).show();
- }
- });
- // Access the RequestQueue through your singleton class.
- MySingleton.getInstance(this).addToRequestQueue(jsArrayRequest);
- }
- /**
- * Validates inputs and shows error if any
- * @return
- */
- private boolean validateInputs() {
- if (KEY_EMPTY.equals(fullName)) {
- etFullName.setError("Name darf nicht leer bleiben");
- etFullName.requestFocus();
- return false;
- }
- if (KEY_EMPTY.equals(username)) {
- etUsername.setError("Username darf nicht leer bleiben");
- etUsername.requestFocus();
- return false;
- }
- if (KEY_EMPTY.equals(password)) {
- etPassword.setError("Passwort darf nicht leer bleiben");
- etPassword.requestFocus();
- return false;
- }
- if (KEY_EMPTY.equals(confirmPassword)) {
- etConfirmPassword.setError("Passwortbestätigung darf nicht leer bleiben");
- etConfirmPassword.requestFocus();
- return false;
- }
- if (!password.equals(confirmPassword)) {
- etConfirmPassword.setError("Passwort ist nicht identisch");
- etConfirmPassword.requestFocus();
- return false;
- }
- if (!checkBox.isChecked()) {
- checkBox.setError("AGB müssen bestätigt werden");
- checkBox.requestFocus();
- return false;
- }
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement