Firebase RealTime Database(SetData)

This article will help you to make an android app with Firebase RealTime Database to put data. The screenshot of the main layout is given below..

Above the photo there are some data field where we will set value and that value will store in firebase realtime database. Let's see the processes..

build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "rmproduct.actionbar.com"
        minSdkVersion 15
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.google.firebase:firebase-database:11.8.0'
    implementation 'junit:junit:4.12'
    implementation 'com.google.firebase:firebase-storage:11.8.0'
    implementation 'com.google.firebase:firebase-auth:11.8.0'
    implementation 'com.google.firebase:firebase-messaging:11.8.0'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

apply plugin: 'com.google.gms.google-services'
----------------------------------------------------------------------------------------------------------

MainActivity.java

package rmproduct.actionbar.com;


import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;

import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.iid.FirebaseInstanceId;
import com.google.firebase.iid.FirebaseInstanceIdService;
import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;

class SignUp {

    String Roll, Name, UserName, Email, Contact, Religion, Session, BloodGroup, Gender;

    //SignUp constructor;
    public SignUp(String Roll, String Name, String UserName, String Email, String Contact, String Religion, String Session, String BloodGroup, String Gender) {
        this.Roll=Roll;
        this.Name=Name;
        this.UserName=UserName;
        this.Email=Email;
        this.Contact=Contact;
        this.Religion=Religion;
        this.Session=Session;
        this.BloodGroup=BloodGroup;
        this.Gender=Gender;
    }

    public String getRoll() {
        return Roll;
    }

    public String getName() {
        return Name;
    }

    public String getUserName() {
        return UserName;
    }

    public String getEmail() {
        return Email;
    }

    public String getContact() {
        return Contact;
    }

    public String getReligion() {
        return Religion;
    }

    public String getSession() {
        return Session;
    }

    public String getBloodGroup() {
        return BloodGroup;
    }

    public String getGender() {
        return Gender;
    }
}

public class MainActivity extends AppCompatActivity {

    EditText roll, name, userName, password4, password2, email, contact, religion;
    Spinner session, bloodGroup, gender;
    Button signUp, logIn;
    DatabaseReference dataReference;

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

        //relation between .xml and Context;
        roll=findViewById(R.id.roll2);
        name=findViewById(R.id.name2);
        userName=findViewById(R.id.userName2);
        password2=findViewById(R.id.password2);
        password4=findViewById(R.id.password4);
        email=findViewById(R.id.email2);
        contact=findViewById(R.id.contact2);
        religion=findViewById(R.id.religion2);

        session=findViewById(R.id.sessionSpin);
        bloodGroup=findViewById(R.id.bloodSpin);
        gender=findViewById(R.id.genderSpin);

        signUp=findViewById(R.id.signUp);
        logIn=findViewById(R.id.logIn);

        //sign up button activities;
        signUp.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Signup();
            }
        });

        //database settings
        dataReference= FirebaseDatabase.getInstance().getReference("Students");

        logIn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(getApplicationContext(), ThirdActivity.class));
            }
        });
    }


    //function to set all data as string;
    private void Signup() {
        String Roll=roll.getText().toString().trim();
        String Name=name.getText().toString().trim();
        String UserName=userName.getText().toString().trim();
        String Password1=password2.getText().toString().trim();
        String Password2=password4.getText().toString().trim();
        String Email=email.getText().toString().trim();
        String Contact=contact.getText().toString().trim();

        String Religion=religion.getText().toString().trim();
        String Session=session.getSelectedItem().toString();
        String BloodGroup=bloodGroup.getSelectedItem().toString();
        String Gender=gender.getSelectedItem().toString();

        if (!TextUtils.isEmpty(Roll) && !TextUtils.isEmpty(Name) && !TextUtils.isEmpty(UserName) && !TextUtils.isEmpty(Password1) && !TextUtils.isEmpty(Password2) && !TextUtils.isEmpty(Email) && !TextUtils.isEmpty(Session)) {
            if (Password1.equals(Password2)) {
                String id= dataReference.push().getKey();
                SignUp signUp=new SignUp(Roll, Name, UserName, Email, Contact, Religion, Session, BloodGroup, Gender);
                dataReference.child(id).setValue(signUp);
                startActivity(new Intent(getApplicationContext(), ThirdActivity.class));
                                    Toast.makeText(getApplicationContext(), "SignUp Successful!!", Toast.LENGTH_SHORT).show();
            }
            else {
                Toast.makeText(getApplicationContext(), "Password doesn't match!!", Toast.LENGTH_SHORT).show();
            }
        }
        else {
            Toast.makeText(getApplicationContext(), "Something went wrong!!", Toast.LENGTH_SHORT).show();
        }
    }
}
-------------------------------------------------------------------------------------------------------------------------


activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <RelativeLayout
        android:id="@+id/relative"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:padding="5dp">

        <ImageView
            android:id="@+id/image_logo"
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="10dp"
            android:layout_marginTop="10dp"
            android:src="@drawable/rm_logo" />

        <LinearLayout
            android:id="@+id/linear1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/image_logo"
            android:layout_marginBottom="10dp"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/roll"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:text="Roll *:"
                android:textSize="15sp" />

            <EditText
                android:id="@+id/roll2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Enter Roll"
                android:inputType="number"
                android:textSize="15sp" />

        </LinearLayout>

        <LinearLayout
            android:id="@+id/linear2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/linear1"
            android:layout_marginBottom="10dp"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/name"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:text="Name* :"
                android:textSize="15sp" />

            <EditText
                android:id="@+id/name2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Enter Full Name"
                android:textSize="15sp" />

        </LinearLayout>

        <LinearLayout
            android:id="@+id/linear3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/linear2"
            android:layout_marginBottom="10dp"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/userName"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:text="User Name* :"
                android:textSize="15sp" />

            <EditText
                android:id="@+id/userName2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Enter User Name"
                android:textSize="15sp" />

        </LinearLayout>

        <LinearLayout
            android:id="@+id/linear4"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/linear3"
            android:layout_marginBottom="10dp"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/password"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:text="Password* :"
                android:textSize="15sp" />

            <EditText
                android:id="@+id/password2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Enter Password"
                android:inputType="textPassword"
                android:textSize="15sp" />

        </LinearLayout>

        <LinearLayout
            android:id="@+id/linear5"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/linear4"
            android:layout_marginBottom="10dp"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/password3"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:text="Re-Password* :"
                android:textSize="15sp" />

            <EditText
                android:id="@+id/password4"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Reapet Password"
                android:inputType="textPassword"
                android:textSize="15sp" />

        </LinearLayout>

        <LinearLayout
            android:id="@+id/linear6"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/linear11"
            android:layout_marginBottom="10dp"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/session"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:text="Session* :"
                android:textSize="15sp" />

            <Spinner
                android:id="@+id/sessionSpin"
                android:layout_width="150dp"
                android:layout_height="30dp"
                android:layout_marginLeft="5dp"
                android:entries="@array/session" />

        </LinearLayout>

        <LinearLayout
            android:id="@+id/linear7"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/linear5"
            android:layout_marginBottom="10dp"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/email"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:text="E-mail* :"
                android:textSize="15sp" />

            <EditText
                android:id="@+id/email2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Enter E-mail"
                android:inputType="textEmailAddress"
                android:textSize="15sp" />

        </LinearLayout>

        <LinearLayout
            android:id="@+id/linear8"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/linear7"
            android:layout_marginBottom="10dp"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/contact"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:text="Contact No :"
                android:textSize="15sp" />

            <EditText
                android:id="@+id/contact2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Enter Contact No"
                android:inputType="phone"
                android:textSize="15sp" />

        </LinearLayout>

        <LinearLayout
            android:id="@+id/linear11"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/linear8"
            android:layout_marginBottom="10dp"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/religion"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:text="Religion :"
                android:textSize="15sp" />

            <EditText
                android:id="@+id/religion2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Enter Religion"
                android:inputType="text"
                android:textSize="15sp" />

        </LinearLayout>

        <LinearLayout
            android:id="@+id/linear10"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/linear6"
            android:layout_marginBottom="10dp"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/blood"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:text="Blood Group :"
                android:textSize="15sp" />

            <Spinner
                android:id="@+id/bloodSpin"
                android:layout_width="150dp"
                android:layout_height="30dp"
                android:hint="Enter Contact No"
                android:inputType="phone"
                android:textSize="15sp"
                android:entries="@array/bloodGroup"/>

        </LinearLayout>

        <LinearLayout
            android:id="@+id/linear13"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/linear10"
            android:layout_marginBottom="10dp"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/gender"
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:text="Gender :"
                android:textSize="15sp" />

            <Spinner
                android:id="@+id/genderSpin"
                android:layout_width="150dp"
                android:layout_height="30dp"
                android:inputType="phone"
                android:textSize="15sp"
                android:entries="@array/gender"/>

        </LinearLayout>

        <LinearLayout
            android:id="@+id/linear9"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/linear13"
            android:layout_marginBottom="10dp"
            android:gravity="center"
            android:orientation="horizontal"
            android:padding="10dp">

            <Button
                android:id="@+id/signUp"
                android:layout_width="100dp"
                android:layout_height="50dp"
                android:background="#049b16"
                android:text="Sign Up"
                android:textColor="#ffffff"
                android:textSize="20sp"
                android:textStyle="bold" />

            <Button
                android:id="@+id/logIn"
                android:layout_width="100dp"
                android:layout_height="50dp"
                android:layout_marginLeft="10dp"
                android:background="#049b16"
                android:text="LogIn"
                android:textColor="#ffffff"
                android:textSize="20sp"
                android:textStyle="bold" />

        </LinearLayout>

    </RelativeLayout>

</ScrollView>
----------------------------------------------------------------------------------------------------------------------------------

string.xml

<resources>
    <string name="app_name">Action Bar</string>

    <array name="session">

        <item>Select Session</item>
        <item>2014-15</item>
        <item>2015-16</item>
        <item>2016-17</item>
        <item>2017-18</item>
        <item>2018-19</item>

    </array>

    <array name="gender">

        <item>Select Gender</item>
        <item>Male</item>
        <item>Female</item>
        <item>Others</item>

    </array>

    <array name="bloodGroup">

        <item>Blood Group</item>
        <item>A+ve</item>
        <item>B+ve</item>
        <item>AB+ve</item>
        <item>O+ve</item>
        <item>A-ve</item>
        <item>B-ve</item>
        <item>AB-ve</item>
        <item>O-ve</item>

    </array>


</resources>
-------------------------------------------------------------------------------------------------------------------------


You should to create another activity named SecondActivity.java with activity_second.xml otherwise this code will show some error. On the other hand you should to connect with Firebase using the following command-

  1. Go to Tools option;
  2. Click on Firebase icon;
  3. Now connect to RealTime Database;
  4. Then add the code according to your own app..

That's enough if you perform this technique correctly then it will show a output as well as you saw in the above image..

[N.B.: In this app code I have used some resources drawable like image  and color name. You have ensure the same drawable and color otherwise your compiler will show error to you.. So be accurate and run this code.. Have a good practice.. Thank you..]

To get the original source code of others android apps please visit my github profile -

Comments

Popular posts from this blog

All Calendar Android App