Advertisement
rachmadi

SignUpActivity.java

Nov 27th, 2018
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.52 KB | None | 0 0
  1. import android.content.Intent;
  2. import android.support.annotation.NonNull;
  3. import android.support.v7.app.AppCompatActivity;
  4. import android.os.Bundle;
  5. import android.view.View;
  6. import android.widget.Button;
  7. import android.widget.EditText;
  8. import android.widget.ProgressBar;
  9. import android.widget.Toast;
  10.  
  11. import com.google.android.gms.tasks.OnCompleteListener;
  12. import com.google.android.gms.tasks.OnSuccessListener;
  13. import com.google.android.gms.tasks.Task;
  14. import com.google.firebase.auth.AuthResult;
  15. import com.google.firebase.auth.FirebaseAuth;
  16. import com.google.firebase.database.DatabaseReference;
  17. import com.google.firebase.database.FirebaseDatabase;
  18.  
  19. public class SignUpActivity extends AppCompatActivity {
  20.  
  21.     EditText emailInput;
  22.     EditText passwordInput;
  23.     EditText fullnameInput;
  24.  
  25.     ProgressBar progressBar;
  26.  
  27.     FirebaseAuth mAuth;
  28.     DatabaseReference mRootRef, mUserRef;
  29.     FirebaseDatabase mDatabase;
  30.  
  31.     @Override
  32.     protected void onCreate(Bundle savedInstanceState) {
  33.         super.onCreate(savedInstanceState);
  34.         setContentView(R.layout.activity_sign_up);
  35.  
  36.         mDatabase = FirebaseDatabase.getInstance();
  37.         mRootRef = mDatabase.getReference();
  38.  
  39.         mAuth = FirebaseAuth.getInstance();
  40.  
  41.         emailInput = findViewById(R.id.email);
  42.         passwordInput = findViewById(R.id.password);
  43.         fullnameInput = findViewById(R.id.fullname);
  44.         progressBar = findViewById(R.id.progressBar);
  45.  
  46.         Button signUpButton = findViewById(R.id.signUp);
  47.         Button signInButton = findViewById(R.id.signIn);
  48.  
  49.         signInButton.setOnClickListener(new View.OnClickListener() {
  50.             @Override
  51.             public void onClick(View v) {
  52.                 startActivity(new Intent(SignUpActivity.this,
  53.                         SignInActivity.class));
  54.                 finish();
  55.             }
  56.         });
  57.  
  58.         signUpButton.setOnClickListener(new View.OnClickListener() {
  59.             @Override
  60.             public void onClick(View v) {
  61.                 signUp();
  62.             }
  63.         });
  64.     }
  65.  
  66.     private void signUp() {
  67.         String email = emailInput.getText().toString();
  68.         String fullname = fullnameInput.getText().toString();
  69.         String password = passwordInput.getText().toString();
  70.  
  71.         if (email.isEmpty()) {
  72.             emailInput.setError("Email harus diisi!");
  73.             return;
  74.         }
  75.  
  76.         if (fullname.isEmpty()) {
  77.             fullnameInput.setError("Fullname harus diisi!");
  78.             return;
  79.         }
  80.  
  81.         if (password.isEmpty()) {
  82.             passwordInput.setError("Password harus diisi!");
  83.             return;
  84.         }
  85.  
  86.         progressBar.setVisibility(View.VISIBLE);
  87.  
  88.         mAuth.createUserWithEmailAndPassword(email, password)
  89.                 .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
  90.                     @Override
  91.                     public void onComplete(@NonNull Task<AuthResult> task) {
  92.                         if (task.isSuccessful()) {
  93.                             saveUser(fullname, email);
  94.                         } else {
  95.                             progressBar.setVisibility(View.INVISIBLE);
  96.                             Toast.makeText(
  97.                                     SignUpActivity.this,
  98.                                     task.getException().getMessage(),
  99.                                     Toast.LENGTH_LONG
  100.                             ).show();
  101.                         }
  102.                     }
  103.                 });
  104.     }
  105.  
  106.     private void saveUser(String fullname, String email) {
  107.         mUserRef = mRootRef.child("user");
  108.         String userId = mAuth.getUid();
  109.  
  110.         User user = new User(fullname, email);
  111.         mUserRef.child(userId).setValue(user).addOnCompleteListener(new OnCompleteListener<Void>() {
  112.             @Override
  113.             public void onComplete(@NonNull Task<Void> task) {
  114.                 if (task.isSuccessful()) {
  115.                     progressBar.setVisibility(View.INVISIBLE);
  116.                     Intent intent = new Intent(SignUpActivity.this,
  117.                             HomeActivity.class);
  118.                     startActivity(intent);
  119.                     finish();
  120.                 } else {
  121.                     progressBar.setVisibility(View.INVISIBLE);
  122.                     Toast.makeText(
  123.                             SignUpActivity.this,
  124.                             task.getException().getMessage(),
  125.                             Toast.LENGTH_LONG
  126.                     ).show();
  127.                 }
  128.             }
  129.         });
  130.     }
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement