Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ========================================
- Users.java
- =================================================
- public class Users {
- public String userEmail;
- public String userName;
- public String userPass;
- public String uuid;
- public String userAge;
- public String userNumber;
- public String userGender;
- public Users() {
- }
- public Users(String userEmail, String userName, String userPass,String uuid, String userAge, String userNumber, String userGender) {
- this.userEmail = userEmail;
- this.userName = userName;
- this.userPass = userPass;
- this.uuid = uuid;
- this.userAge = userAge;
- this.userNumber = userNumber;
- this.userGender = userGender;
- }
- public void saveUser() {
- Users user = new Users(userEmail, userName, userPass,uuid, userAge, userNumber, userGender);
- FirebaseDatabase database = FirebaseDatabase.getInstance();
- DatabaseReference myRef = database.getReference("Users");
- myRef.child(uuid).setValue(user);
- }
- }
- =======================================================================
- mainActivity.java
- ===========================================================================
- public class MainActivity extends AppCompatActivity {
- FirebaseAuth auth;
- ProgressBar progressBar;
- Button btnLogin;
- Button btnRegister;
- Context context;
- EditText txtUserEmail;
- EditText txtUserPassword;
- EditText txtEmail, txtName, txtPassword, txtPassword2, txtAge, txtNumber;
- RadioButton radio0, radio1;
- final List<Users> myData = new ArrayList<>();
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- setPointer();
- context = this;
- //for checking, avoiding user login (test purpose only)
- // startActivity(new Intent(this,Welcome.class));
- }
- private void setPointer() {
- this.context = this;
- txtUserEmail = (EditText) findViewById(R.id.txtUserEmail);
- txtUserPassword = (EditText) findViewById(R.id.txtUserPassword);
- btnLogin = (Button) findViewById(R.id.btnLogin);
- btnRegister = (Button) findViewById(R.id.btnRegister);
- auth = FirebaseAuth.getInstance();
- progressBar = (ProgressBar) findViewById(R.id.progressBar);
- btnLogin.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- login();
- }
- });
- btnRegister.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- register();
- }
- });
- }
- private String getUUID() {
- //create a unique UUID
- UUID idOne = UUID.randomUUID();
- //returning the UUID
- return idOne.toString();
- }
- public void createUser(View view) {
- setUserData();
- }
- private void setUserData() {
- //getting the info from the activity
- final String userEmail = txtEmail.getText().toString();
- final String userName = txtName.getText().toString();
- final String userPass = txtPassword.getText().toString();
- final String userAge = txtAge.getText().toString();
- final String userNumber = txtNumber.getText().toString();
- final String userGender = radio0.isChecked() ? "Male" : "Female";
- //creating new instance of the project
- Users user = new Users(userEmail, userName, userPass,getUUID(), userAge, userNumber, userGender);
- //calling inside method from the class to save the data
- user.saveUser();
- auth.createUserWithEmailAndPassword(userEmail, userPass)
- .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(@NonNull Task<AuthResult> task) {
- //waitForDebugger();
- Log.d("Register", "Authentication successful");
- if (!task.isSuccessful()) {
- Toast.makeText(context, "Authentication failed.", Toast.LENGTH_SHORT).show();
- }
- }
- });
- }
- private void register() {
- android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(context);
- builder.setTitle(R.string.register);
- final View viewInflated = LayoutInflater.from(context).inflate(R.layout.rgs_new_rgs, null, true);
- txtEmail = (EditText) viewInflated.findViewById(R.id.txtEmail);
- txtName = (EditText) viewInflated.findViewById(R.id.txtName);
- txtPassword = (EditText) viewInflated.findViewById(R.id.txtPassword);
- txtPassword2 = (EditText) viewInflated.findViewById(R.id.txtPassword2);
- txtAge = (EditText) viewInflated.findViewById(R.id.txtAge);
- txtNumber = (EditText) viewInflated.findViewById(R.id.txtNumber);
- radio0 = (RadioButton) viewInflated.findViewById(R.id.radio0);
- radio1 = (RadioButton) viewInflated.findViewById(R.id.radio1);
- builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- dialogInterface.dismiss();
- }
- });
- builder.setPositiveButton(R.string.register, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- String Email = txtEmail.getText().toString();
- String Name = txtName.getText().toString();
- String Pass1 = txtPassword.getText().toString();
- String Pass2 = txtPassword2.getText().toString();
- String Age = txtAge.getText().toString();
- String Number = txtNumber.getText().toString();
- if (Email.equals("")) {
- Toast.makeText(context, "please Enter Email", Toast.LENGTH_SHORT).show();
- register();
- return;
- }
- if (Name.equals("")) {
- Toast.makeText(context, "please Enter Name", Toast.LENGTH_SHORT).show();
- register();
- return;
- }
- if (!Pass1.equals(Pass2)) {
- Toast.makeText(context, R.string.errorSamepass, Toast.LENGTH_LONG).show();
- register();
- return;
- }
- if (Pass1.equals("")) {
- Toast.makeText(context, "please Enter password", Toast.LENGTH_SHORT).show();
- register();
- return;
- }
- if (Age.equals("")) {
- Toast.makeText(context, "please Enter Your Age", Toast.LENGTH_SHORT).show();
- register();
- return;
- }
- if (Number.equals("")) {
- Toast.makeText(context, "please Enter Your Number", Toast.LENGTH_SHORT).show();
- register();
- return;
- }
- setUserData();
- }
- });
- builder.setView(viewInflated);
- builder.show();
- }
- private void login() {
- String email = txtUserEmail.getText().toString();
- final String password = txtUserPassword.getText().toString();
- if (TextUtils.isEmpty(email)) {
- Toast.makeText(getApplicationContext(), "Enter email address!", Toast.LENGTH_SHORT).show();
- return;
- }
- if (TextUtils.isEmpty(password)) {
- Toast.makeText(getApplicationContext(), "Enter password!", Toast.LENGTH_SHORT).show();
- return;
- }
- progressBar.setVisibility(View.VISIBLE);
- //authenticate user
- auth.signInWithEmailAndPassword(email, password)
- .addOnCompleteListener(MainActivity.this, new OnCompleteListener<AuthResult>() {
- @Override
- public void onComplete(@NonNull Task<AuthResult> task) {
- progressBar.setVisibility(View.GONE);
- if (!task.isSuccessful()) {
- Toast.makeText(MainActivity.this, getString(R.string.auth_failed), Toast.LENGTH_LONG).show();
- }
- else {
- Intent intent = new Intent(MainActivity.this, Welcome.class);
- startActivity(intent);
- finish();
- }
- }
- });
- }
- @Override
- protected void onResume() {
- super.onResume();
- progressBar.setVisibility(View.GONE);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement