Fab - Care Report
Fab - Care Report
Our FabCare Application is basically Laundry Application with the current rapid
development of technology, many services need redesigning in order to keep up with
customer demands. Therefore, organizations nowadays are looking into redesigning services
and business processes in order to maintain their competitiveness and success. With the
recent advancement evolved in smartphone proficiency, and their growing insight rate among
individuals, organizations intend to take advantage of these devices by designing mobile
applications to help evolve their business. The start-up of the laundry business is one of the
province which has great opportunity for further development. Turning the regular routine of
laundry into a service accessible through a mobile application will contribute to reducing the
burden of laundry tasks on individuals will reduce the manual effort and one can invest their
laundry time to do their essential work.
iii
TABLE OF CONTENTS
Acknowledgement i
Declaration ii
Abstract iii
Table of Contents iv
List of Figures v
List of Tables v
Chapter 1 INTRODUCTION
1.1 Problem Statement/ Aim 1
1.2 Scope 2
1.3 Project Description 2
Chapter 2 HARDWARE AND SOFTWARE REQUIREMENTS
2.1 Hardware Requirements 5
2.2 Software Requirements 5
Chapter 3 DESIGN
3.1 System Design 6
3.2 User Interface 7
3.3 Process Flow 9
Chapter 4 IMPLEMENATION
4.1 Code Snippets 11
Chapter 5 RESULT AND DISCUSSION
5.1 Screen Shots 37
Chapter 6 CONCLUSION AND FUTURE ENHANCEMENTS 41
BIBLIOGRAPHY 42
iv
List of Figures
List of Tables
Table
Title Page no.
no.
2.1 Software Requirements 5
2.2 Hardware Requirements 5
v
2021-22 FAB CARE
CHAPTER 1
INTRODUCTION
Android is open source code mobile phone operating system that comes out by
Google in November 2007. Its appearance has broken the traditional closed mobile phone
operating system. Anyone can modify the mobile phone operating system as well as
function according to personal preference, which is also the most attractive merit of
Android.
Fab care system with mobile application is basically a Laundromat. According to today’s
rapid demand, we are all surrounded by numerous on demand applications the Fab Care is
one of them. This application is necessary part of the busy schedule of life .There are many
laundry applications available in the market like dry wash, dry clean but these applications
provides the laundry services only for limited places. Currently, laundry stores use a
manual system for the management and maintenance of records partially aided by the file-
based approach. The existing system requires a lot of paper work at different levels within
the business. Records are often misplaced, hard to retrieve, update and generally maintain.
Information may be redundant as each department may have to have a copy of the same
recordsfiled separately.
Fab Care application will not only work on any specific place it will work for all the places
and it is very easy to maintain records. People don’t want to invest their valuable time in
day-to-day household chores such as washing the clothes because they have other important
business moreover, so the demand on laundry app(Fab Care)has been introduced for saving
time. Multi-Store Fab Care with mobile Application consists of various options of washing
sections like wash , dry wash , clean wash , stain removal and so on. we provide a great
opportunity for the customers as it is android application so all the work is computerized.
some of the challenging problem like due issues, customers cannot view their time status
of clothes, our application introduces the new way to assist the user keep time tracking of
their clothes, staff of company can manage the data relate to customer order.
1.2 Scope
The scope of the Fab care application is that today many residents have small and cheap
washing machines that bother them washing clothes at home.
Washing machines are not installed in bachelor’s hostel and similar places, that these
specific categories be found as target groups for dry cleaning and laundryin India.
Arrive at customers chosen location for pick-up, count the number of clothes, weighing the
clothes, sort clothes, tag them and sending information to the customer so that there will no
confusion. According to the fabric selected by customer and the kind of service selected by
them are provided. Door delivery is provided
As our Fab Care is online mobile application the efforts required are very less as we have
door delivery and collection option and the services provided are huge we have scope of
attracting the bachelor’s and working men and women. And it is very useful in tourist
places such that we don’t carry many clothes while travelling.
The Multi-Store Fab Care with Mobile application is related to computer technology and
has adversely made an immense change in this system. The main purpose of this project
“Fab Care Laundry System with Mobile Application” is to provide door-step delivery
to the customers and to make contactless payments available with today’s emerging
technology. As the customer can easily place their order and select their laundry options
according to their choice need, this project makes sure that we provide all the laundry
facilities to the customer’s without actually visiting the laundry store. This Laundry
Application of ours is just one a step ahead to all the laundries out there as we provide all
the options digitally to our customers and make their work effortless. Our fab care has user
login page after login is successful you can choose what kind of service you want and select
your cloth fabric and there is also payment option.
Admin: The role of an admin is to login account of the application to control the data of
user and maintain the application.
User: The user can request service and they also see the status laundry of their clothes time
by time.
Staff: The staff can see the request services from user and they also can update the status
laundry process time by time.
After login user enters to home page in which it consist of few options like washingand fold,
iron, adding location, and dry clean. Later it shows washing section page in which we can
select the kind of cloth that needs to be washed, next is the order page in which we select
the quantity of the clothes and we also have payment, location, status tracking options.
CHAPTER 2
REQUIREMENT ANALYSIS
The application will be published on (Play Store) to be available for general public use. The
system contains a control panel for each washing centre that saves all centre data and all
reservation and laundry requests by means of electronic archiving. Each user must create
an account on the application and add all his data to allow the site to make reservations in
any laundry centre he wants The laundry centre has the right to cancel any reservation
process in the event of any emergency in the department. The washing centre has the right
to postpone anyreservation request in cases of high demand or in the inability of the centre
to meet the needs of all users. The app must be responsive with all phone’s screens. The
application should be easy to use, and easy to handle application scenario. The application
must contain an interface to communicate with technical support directly. The application
must contain comfortable and attractive colors. Commission rates charged to laundromat
owners must be reasonable and affordableto ensure they remain in the app family.
Functional requirements:
Our system contains 2 Actors in addition to the system administrator, and each
acting has a set of functions in our system: Customer: The customer creates a new account
for him in our Android application where he enters: first name - second name - last name -
password - photo of personal identity - mobile number - electronic financial payment
method. Then the user searches for the nearest laundry in his area and submits a request to
wash clothes where he must enter the number of pieces he wants to wash - the place of
residence - the date when he wants to deliver his clothes - pay the price of the order,
confirm the order. The owner of the laundry: he logs in with a username and password, he
browses all the laundry requests that have reached him, tracks the requests for which the
financial payment has been confirmed, sends workers from his side to receive the clothes,
performs the washing process and records in the stages in which he is the request appears
to the user. System Administrator: He logs in with a username and password, he controls
the accounts with all the permissions to delete, add and modify, and he tracks system
operations to ensure the integrity of the system.
Performance requirements:
The application must be strong to withstand the large numbers on the system so that
it does not crash or stop, and the system response must be fast and download user data
quickly.
Power requirements:
The application must be available within 24 hours for all users, and it must be able to
accommodate large numbers of users at the same time, it must be easy to maintain and
develop and be able to expand.
Safety requirements:
The application must be safe from any cyber-attacks, especially because it supports
electronic payment transactions and because it contains a large number ofuser data.
CHAPTER 3
DESIGN
3.1 System Design
A “Fab Care Laundry System with Mobile Application” offers you more exciting offers
and online laundry option with various payment and delivery options. This laundry
application provides you a complete package of laundry services for all types of fabrics.
The application has all kinds of the services available at much affordable prices and one can
easily handle it. This “Fab Care Laundry System with Mobile Application” makes sure
that all your orders are placed on time without including any shipping charges. It also
makes sure that all your fabrics are handled with gentle care and without any damage to the
order. We have also provided the confirmation E-mails so that we have better
communication with the customer which will gain trust between our customers.
Java
Android applications are developed using the Java language. As of now, that’s
really only option for native applications. Java is a very popular programming
language developed by Sun Microsystems (now owned by Oracle). Developed
long after C and C++, Java incorporates many of the powerful features of those
powerful languages while addressing some of their drawbacks. Still,
programming languages are only as powerful as their libraries. These libraries
exist to help developers build applications. Some of the Java’s important core
features are:
• It’s object-oriented
Android relies heavily on these Java fundamentals. The Android SDK includes
many standard Java libraries (data structure libraries, math libraries, graphics
libraries, networking libraries and everything else you could want) as well as
special Android libraries that will help you develop awesome Android
applications.
For the development of this project we are using android studio version 4.2.1 .
API: 30
The current system operates manual laundry app, from services, and managing customer’s
record etc. recorded in a book. This is faced with errors, incompleteness, and insufficient
data for analysis. Information regarding services of the laundry are still in black and white
which is not properly organized and managed. From the staffs to customer bills, receipts of
services are recorded in a book but further operations are not being properly handled. As a
result it is difficult in processing, updating and managing.
CHAPTER 4
IMPLEMENTATION
4.1 Code Snippets
In implementation we implement code for Fab Care Android Application. Here we are
using 8 activities to build our apk. Each activity contains one xml and one java file. Here
are some files
activity_main.xml
Here we created a new project using an empty activity as our starting point, once that’s
ready head over to codes. Here we have used linear layout as a layout. In this activity we
creating a signup activities for collecting user credentials from user to get logged in.
<androidx.constraintlayout.widget.ConstraintLayout
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"
android:background="#FFFFFF"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView8"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginTop="240dp"
android:gravity="center_horizontal|center_vertical"
android:text="Fab Care"
android:textColor="#111111"
android:textSize="36sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/etEmail"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginStart="20dp"
android:layout_marginLeft="20dp"
android:layout_marginTop="30dp"
android:layout_marginEnd="20dp"
android:layout_marginRight="20dp"
android:background="@drawable/edit_text"
android:ems="10"
android:hint="Email"
android:inputType="textEmailAddress"
android:paddingLeft="10dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView8" />
<EditText
android:id="@+id/etPassword"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginStart="20dp"
android:layout_marginLeft="20dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="20dp"
android:layout_marginRight="20dp"
android:background="@drawable/edit_text"
android:ems="10"
android:hint="Password"
android:inputType="textPassword"
android:paddingLeft="10dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/etEmail" />
<Button
android:id="@+id/btnLogIn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginLeft="20dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="20dp"
android:layout_marginRight="20dp"
android:background="@drawable/button"
android:text="Log In"
android:textAllCaps="false"
android:textColor="#FFFFFE"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/etPassword" />
<LinearLayout
android:layout_width="413dp"
android:layout_height="wrap_content"
android:layout_marginStart="1dp"
android:layout_marginLeft="1dp"
android:layout_marginTop="60dp"
android:layout_marginEnd="1dp"
android:layout_marginRight="1dp"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/btnLogIn">
<TextView
android:id="@+id/textView9"
android:layout_width="149dp"
android:layout_height="50dp"
android:layout_weight="1"
android:gravity="center_vertical"
android:textSize="14sp" />
<TextView
android:id="@+id/tvSign"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_weight="1"
android:gravity="center_vertical"
android:text="Sign Up."
android:textColor="#3F51B5" />
</LinearLayout>
<ImageView
android:id="@+id/imageView3"
android:layout_width="match_parent"
android:layout_height="100dp"
android:foregroundGravity="center"
app:layout_constraintBottom_toTopOf="@+id/textView8"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:srcCompat="@drawable/logo" />
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity.java
package com.example.foodex;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
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;
Button btnLogIn;
EditText etEmail,etPassword;
TextView tvSign;
FirebaseAuth mFirebaseAuth;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvSign=findViewById(R.id.tvSign);
btnLogIn=findViewById(R.id.btnLogIn);
etEmail=findViewById(R.id.etEmail);
etPassword=findViewById(R.id.etPassword);
mFirebaseAuth=FirebaseAuth.getInstance();
mAuthStateListener=new FirebaseAuth.AuthStateListener() {
@Override
FirebaseUser mFirebasebaseUser=mFirebaseAuth.getCurrentUser();
if (mFirebasebaseUser!=null)
startActivity(intent);
else
Toast.makeText(MainActivity.this,"Please Log
In",Toast.LENGTH_SHORT).show();
};
tvSign.setOnClickListener(new View.OnClickListener() {
@Override
startActivity(intent);
});
btnLogIn.setOnClickListener(new View.OnClickListener() {
@Override
if (email.isEmpty()) {
etEmail.requestFocus();
} else if (password.isEmpty()) {
etPassword.requestFocus();
mFirebaseAuth.signInWithEmailAndPassword(email,
password).addOnCompleteListener(MainActivity.this, new
OnCompleteListener<AuthResult>() {
@Override
if (!task.isSuccessful()) {
} else {
startActivity(intent);
});
} else {
});
@Override
super.onStart();
mFirebaseAuth.addAuthStateListener(mAuthStateListener);
activity_menu.xml
<androidx.constraintlayout.widget.ConstraintLayout
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"
android:background="#FCFDFE"
android:orientation="vertical"
tools:context=".Menu">
<fragment
android:id="@+id/listFrag"
android:name="com.example.foodex.MenuListFrag"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@+id/OrderDetailFrag"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:layout="@layout/fragment_menu_list" />
<fragment
android:id="@+id/OrderDetailFrag"
android:name="com.example.foodex.OrderDetailsFrag"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@+id/buttonFrag"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/listFrag"
tools:layout="@layout/fragment_order_details" />
<fragment
android:id="@+id/buttonFrag"
android:name="com.example.foodex.MenuButtonFrag"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/OrderDetailFrag"
app:layout_constraintVertical_bias="1.0"
tools:layout="@layout/fragment_menu_button" />
</androidx.constraintlayout.widget.ConstraintLayout>
Menu.java
package com.example.foodex;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
Button btnHome,btnOrder,btnConfirm,btnBack;
TextView tvItem,tvPrice;
TextView tvPlus,tvMinus,tvQuantity;
ImageView ivMake;
FragmentManager fragmentManager;
Fragment buttonFrag,listFrag,OrderDetailFrag;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
btnHome=findViewById(R.id.btnHome);
btnOrder=findViewById(R.id.btnOrder);
tvItem=findViewById(R.id.tvItem);
tvPrice=findViewById(R.id.tvPrice);
ivMake=findViewById(R.id.ivMake);
tvPlus=findViewById(R.id.tvPlus);
tvMinus=findViewById(R.id.tvMinus);
tvQuantity=findViewById(R.id.tvQuantity);
btnBack=findViewById(R.id.btnBack);
tvPlus.setOnClickListener(new View.OnClickListener() {
@Override
String number=tvQuantity.getText().toString().trim();
String price=tvPrice.getText().toString().trim();
int quntity=Integer.parseInt(number);
int Amount=Integer.parseInt(price);
int perAmount=Amount/quntity;
quntity=quntity+1;
Amount=perAmount*quntity;
tvQuantity.setText(String.valueOf(quntity));
tvPrice.setText(String.valueOf(Amount));}
});
tvMinus.setOnClickListener(new View.OnClickListener() {
@Override
String number=tvQuantity.getText().toString().trim();
String price=tvPrice.getText().toString().trim();
int quntity=Integer.parseInt(number);
int Amount=Integer.parseInt(price);
int perAmount=Amount/quntity;
if(quntity<2)
Toast.makeText(Menu.this,"Wrong
Attempt",Toast.LENGTH_SHORT).show();}
else
quntity=quntity-1;
Amount=Amount-perAmount;
tvPrice.setText(String.valueOf(Amount));
tvQuantity.setText(String.valueOf(quntity));
});
ActionBar actionBar=getSupportActionBar();
actionBar.setDisplayUseLogoEnabled(true);
actionBar.setDisplayShowHomeEnabled(true);
btnConfirm=findViewById(R.id.btnConfirm);
btnConfirm.setOnClickListener(new View.OnClickListener() {
@Override
startActivity(intent);
});
fragmentManager=getSupportFragmentManager();
listFrag=fragmentManager.findFragmentById(R.id.listFrag);
buttonFrag=fragmentManager.findFragmentById(R.id.buttonFrag);
OrderDetailFrag=fragmentManager.findFragmentById(R.id.OrderDetailFrag);
fragmentManager.beginTransaction()
.show(listFrag)
.hide(OrderDetailFrag)
.show(buttonFrag)
.commit();
btnHome.setOnClickListener(new View.OnClickListener() {
@Override
startActivity(intent);
});
btnOrder.setOnClickListener(new View.OnClickListener() {
@Override
fragmentManager.beginTransaction()
.hide(listFrag)
.show(OrderDetailFrag)
.hide(buttonFrag)
.commit();
});
btnBack.setOnClickListener(new View.OnClickListener() {
@Override
fragmentManager.beginTransaction()
.show(listFrag)
.hide(OrderDetailFrag)
.show(buttonFrag)
.commit();
});
onItemClicked(0);
@Override
tvPrice.setText(ApplicationClass.item.get(index).getItemPrice());
tvItem.setText(ApplicationClass.item.get(index).getItemName());
if(ApplicationClass.item.get(index).getMake().equals("dress"))
ivMake.setImageResource(R.drawable.dress);
else if(ApplicationClass.item.get(index).getMake().equals("hoodie"))
ivMake.setImageResource(R.drawable.hoodie);
else if(ApplicationClass.item.get(index).getMake().equals("skirt"))
ivMake.setImageResource(R.drawable.skirt);
else if(ApplicationClass.item.get(index).getMake().equals("traditional"))
ivMake.setImageResource(R.drawable.traditional);
else if(ApplicationClass.item.get(index).getMake().equals("westernwear"))
ivMake.setImageResource(R.drawable.westernwear);
else if(ApplicationClass.item.get(index).getMake().equals("sportwear"))
ivMake.setImageResource(R.drawable.sportwear);
else if(ApplicationClass.item.get(index).getMake().equals("jumpsuit"))
ivMake.setImageResource(R.drawable.jumpsuit);
else if(ApplicationClass.item.get(index).getMake().equals("jeans"))
ivMake.setImageResource(R.drawable.jeans);
else if(ApplicationClass.item.get(index).getMake().equals("formal"))
ivMake.setImageResource(R.drawable.formal);
else
ivMake.setImageResource(R.drawable.tshirt);
activity_find_store.xml
<LinearLayout 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"
android:background="#FFFFFF"
android:orientation="vertical"
tools:context=".FindStore">
<TextView
android:id="@+id/textView3"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_marginRight="10dp"
android:gravity="center_horizontal|center_vertical"
android:text="Add Location"
android:textColor="#03A9F4"
android:textSize="24sp" />
<ImageView
android:id="@+id/imageView8"
android:layout_width="match_parent"
android:layout_height="350dp"
android:layout_gravity="center_horizontal"
app:srcCompat="@drawable/findstore" />
<EditText
android:id="@+id/etStoreName"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="5dp"
android:background="@drawable/edit_text"
android:ems="10"
android:hint="Enter Location"
android:inputType="textPersonName"
android:paddingLeft="10dp" />
<Button
android:id="@+id/btnStore"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="5dp"
android:background="@drawable/button"
android:textAllCaps="false"
android:textColor="#FFFFFF"
android:textSize="18sp" />
</LinearLayout>
FindStore.java
package com.example.foodex;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
Button btnStore;
EditText etStoreName;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_find_store);
btnStore=findViewById(R.id.btnStore);
etStoreName=findViewById(R.id.etStoreName);
btnStore.setOnClickListener(new View.OnClickListener() {
@Override
String location=etStoreName.getText().toString().trim();
startActivity(intent);
});
ActionBar actionBar=getSupportActionBar();
actionBar.setTitle("Fab Care");
CHAPTER 5
5.1 Screenshots
Chapter 6
BIBILIOGRAPHY
https://www.gitbook.com/book/googledeveloper-training/androiddeveloperfundamentals-
course-concepts/details .
www.github.com
www.google.com
www.freecodester.com
www.stackoverflow.com