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>
----------------------------------------------------------------------------------------------------------------------------------
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-
- Go to Tools option;
- Click on Firebase icon;
- Now connect to RealTime Database;
- 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
Post a Comment