Guest User

writeDAtabase

a guest
Jun 16th, 2017
21
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.35 KB | None | 0 0
  1. package com.example.rahul.mychatapp;
  2.  
  3. import android.app.ProgressDialog;
  4. import android.content.Intent;
  5. import android.support.annotation.NonNull;
  6. import android.support.design.widget.TextInputLayout;
  7. import android.support.v7.app.AppCompatActivity;
  8. import android.os.Bundle;
  9. import android.support.v7.widget.Toolbar;
  10. import android.text.TextUtils;
  11. import android.view.View;
  12. import android.widget.Button;
  13. import android.widget.ProgressBar;
  14. import android.widget.Toast;
  15.  
  16. import com.google.android.gms.tasks.OnCompleteListener;
  17. import com.google.android.gms.tasks.Task;
  18. import com.google.firebase.auth.AuthResult;
  19. import com.google.firebase.auth.FirebaseAuth;
  20. import com.google.firebase.auth.FirebaseUser;
  21. import com.google.firebase.database.DatabaseReference;
  22. import com.google.firebase.database.FirebaseDatabase;
  23.  
  24. import org.w3c.dom.Text;
  25.  
  26. import java.util.HashMap;
  27.  
  28. public class RegisterActivity extends AppCompatActivity {
  29.  
  30.     //for getting all the fields from xml
  31.     private TextInputLayout mDisplayName;
  32.     private TextInputLayout mEmail;
  33.     private TextInputLayout mPassword;
  34.     Button createAccountButton;
  35.     private Toolbar toolbar;
  36.     private ProgressDialog dialog;
  37.  
  38.     //for firebase authentication
  39.     private FirebaseAuth mAuth;
  40.  
  41.     //for firebase database reference
  42.     DatabaseReference database;
  43.  
  44.     @Override
  45.     protected void onCreate(Bundle savedInstanceState) {
  46.         super.onCreate(savedInstanceState);
  47.         setContentView(R.layout.activity_register);
  48.  
  49.         //dialog message
  50.         dialog = new ProgressDialog(RegisterActivity.this);
  51.  
  52.         //firebase authentication
  53.         mAuth = FirebaseAuth.getInstance();
  54.  
  55.         //TOOLBAR support
  56.         toolbar = (Toolbar) findViewById(R.id.register_toolbar);
  57.         setSupportActionBar(toolbar);
  58.         getSupportActionBar().setDisplayHomeAsUpEnabled(true);
  59.         getSupportActionBar().setTitle("CREATE ACCOUNT");
  60.  
  61.  
  62.         //getting elements from xml
  63.         mDisplayName = (TextInputLayout) findViewById(R.id.displayNameEditText);
  64.         mEmail = (TextInputLayout) findViewById(R.id.emailEditText);
  65.         mPassword = (TextInputLayout) findViewById(R.id.passwordEditText);
  66.         createAccountButton = (Button) findViewById(R.id.createAccountButton);
  67.  
  68.         createAccountButton.setOnClickListener(new View.OnClickListener() {
  69.             @Override
  70.             public void onClick(View v) {
  71.  
  72.                 String displayName = mDisplayName.getEditText().getText().toString();
  73.                 String email = mEmail.getEditText().getText().toString();
  74.                 String password = mPassword.getEditText().getText().toString();
  75.  
  76.                 //checking if the fields are non empty
  77.                 if (!TextUtils.isEmpty(displayName) || !TextUtils.isEmpty(email) || !TextUtils.isEmpty(password)){
  78.                     dialog.setTitle("Registering User");
  79.                     dialog.setMessage("Please Wait");
  80.                     dialog.setCanceledOnTouchOutside(false);
  81.                     dialog.show();
  82.                     registerUser(displayName, email, password);
  83.                 }
  84.  
  85.  
  86.             }
  87.         });
  88.     }
  89.  
  90.     private void registerUser(final String displayName, String email, String password) {
  91.  
  92.         mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
  93.             @Override
  94.             public void onComplete(@NonNull Task<AuthResult> task) {
  95.                 if (task.isSuccessful()) {
  96.  
  97.                     /*Storing data in database*/
  98.                     //getting user
  99.                     FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
  100.                     String uid = user.getUid();
  101.  
  102.                     //database reference setup  //child method creates a child of a database field
  103.                     database = FirebaseDatabase.getInstance().getReference().child("Users").child(uid);
  104.  
  105.                     //creating a hashmap data structure to store it in database
  106.                     HashMap<String, String> userMap = new HashMap<>();
  107.                     userMap.put("name", displayName);
  108.                     userMap.put("status", "hey there , this is the status");
  109.                     userMap.put("image", "default");
  110.                     userMap.put("thumbnail", "default");
  111.  
  112.                     //putting data into database if inserted successfully then start the new intend
  113.                     database.setValue(userMap).addOnCompleteListener(new OnCompleteListener<Void>() {
  114.                         @Override
  115.                         public void onComplete(@NonNull Task<Void> task) {
  116.                             if (task.isSuccessful()) {
  117.                                 //finally start a new intent
  118.                                 dialog.dismiss();
  119.                                 Intent intent = new Intent(RegisterActivity.this, MainActivity.class);
  120.                                 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
  121.                                 startActivity(intent);
  122.                             }
  123.                         }
  124.                     });
  125.  
  126.                 }else{
  127.                     dialog.hide();
  128.                     Toast.makeText(RegisterActivity.this,task.getException().getMessage(), Toast.LENGTH_LONG).show();
  129.                 }
  130.             }
  131.         });
  132.     }
  133. }
Add Comment
Please, Sign In to add comment