Project Report Android Development
Project Report Android Development
on
“ANDROID DEVELOPMENT”
Submitted in the fulfilment of the requirement for the award of the degree of
Bachelor of Technology
in
INFORMATION TECHNOLOGY
on
“ANDROID DEVELOPMENT”
Submitted in the fulfilment of the requirement for the award of the degree of
Bachelor of Technology
in
INFORMATION TECHNOLOGY
by
Certificate
The final project report of ”Android Development” submitted by Aditya Santosh Karwade
(20150728) Nikhil Deshmukh (20140707) is approved for the partial fulfilment of the requirement
for the award of the degree of Bachelor of Technology in Information Technology. This work is
done under our guidance.
External Examiners :
This work is just not an individual contribution till its completion. I take this
opportunity to express a deep gratitude towards my teacher for providing excellent
guidance encouragement and inspiration throughout the Training work. Without his
invaluable guidance, this work would never have been a successful one.
At last we must express our sincere heartfelt gratitude to all the staff members
of Information Technology Department who helped me directly or indirectly during
this course of work.
Aditya S. Karwade
Nikhil Deshmukh
ABSTRACT
1 Introduction 2
1.1 Android Development . . . . . . . . . . . . . . . . . . . . . . . . . 2
4 Project Planning 9
4.1 Flow of Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.1.1 Main activity . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.1.2 Project Structure . . . . . . . . . . . . . . . . . . . . . . . 10
5 Implementation 15
5.1 Proposed System . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6 Screenshots of Project 16
6.1 Doctor Appointment . . . . . . . . . . . . . . . . . . . . . . . . . 16
References 25
List of Figures
6.1 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.2 Dashboard(A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.3 Dashboard(B) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.4 Doctor’s List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.5 Doctor Profile(A) . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6.6 Doctor Profile(B) . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.7 Pharmacy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.8 Add Doctor’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.9 Call History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
ANDROID DEVELOPMENT
Chapter 1
Introduction
form. These apps are licensed by manufacturers of Android devices certified under
standards imposed by Google, but AOSP has been used as the basis of competing
Android ecosystems, such as Amazon.com’s Fire OS, which use their own equiva-
lents to GMS.
Android has been the best-selling OS worldwide on smartphones since 2011 and on
tablets since 2013. As of May 2017, it has over two billion monthly active users, the
largest installed base of any operating system, and as of December 2018, the Google
Play store features over 2.6 million apps.
Chapter 2
2.1 Introduction
ment from a mobile phone within 2-3 min. Our solution is to build a system that will
help the needful people or every person who wants to save their precious time. Any
needed information can be supplied at the time of installation. This removes the need
for a technician to install software and enormously quickens the implementation of
a patient monitoring system.
The existing system consists of booking a doctor’s appointment through the ap-
plication. The application is called ”Doctor Appointment”. The application is very
useful as it provides various features. The appointment confirmation is given by a
sms. The main drawback of this system is that, it is a application one requires a
decent internet connection as loading of application may take a long time.
Chapter 3
3.1 Software
Android apps can be written using Kotlin, Java, and C++ languages. The Android
SDK tools compile your code along with any data and resource files into an APK, an
Android package, which is an archive file with an .apk suffix. One APK file contains
all the contents of an Android app and is the file that Android-powered devices use
to install the app.
The Android system implements the principle of least privilege. That is, each app,
by default, has access only to the components that it requires to do its work and no
more. This creates a very secure environment in which an app cannot access parts
of the system for which it is not given permission. However, there are ways for an
app to share data with other apps and for an app to access system services:
• It’s possible to arrange for two apps to share the same Linux user ID, in which
case they are able to access each other’s files. To conserve system resources,
apps with the same user ID can also arrange to run in the same Linux process
and share the same VM. The apps must also be signed with the same certificate.
• An app can request permission to access device data such as the user’s con-
tacts, SMS messages, the mountable storage (SD card), camera, and Bluetooth.
The user has to explicitly grant these permissions. For more information, see
Working with System Permissions.
• Activity
App components are the essential building blocks of an Android app. Each
component is an entry point through which the system or a user can enter your
app. Some components depend on others. An activity is the entry point for
interacting with the user.
the activities work together to form a cohesive user experience in the email app,
each one is independent of the others. As such, a different app can start any one
of these activities if the email app allows it. For example, a camera app can start
the activity in the email app that composes new mail to allow the user to share
a picture.
• Layouts
ConstraintLayout allows you to create large and complex layouts with a flat
view hierarchy (no nested view groups). It’s similar to RelativeLayout in that
all views are laid out according to relationships between sibling views and the
parent layout, but it’s more flexible than RelativeLayout and easier to use with
Android Studio’s Layout Editor.
All the power of ConstraintLayout is available directly from the Layout Editor’s
visual tools, because the layout API and the Layout Editor were specially built
for each other. So you can build your layout with ConstraintLayout entirely by
drag-and-dropping instead of editing the XML.
• Image Assets
• Firebase
a Firebase Firestore:
Firebase Firestore is noSQL database used in form of collection and docu-
ments. A collection can contain number of documents and a document can
contain key-value paired fields and also subcollections.
b Firebase Storage:
Firebase Storage is used to store images, videos, documents, etc.
Chapter 4
Project Planning
When we click on any category we pass a string message which is a part of address
of collection containing doctors of that type and we fetch them in activity doctor
list. We used RecyclerView to show doctors fetched from that collection. Clicking
on any doctor card we fetch document containing information about that doctor and
we have created three buttons call, message, and gallery. When we click on gallery
button we get images of that hospital or medical.
This are Model Classes, Adapter Classes and Activities used in our project.
The views in the list are represented by view holder objects. These objects are
instances of a class you define by extending RecyclerView.ViewHolder. Each view
holder is in charge of displaying a single item with a view. For example, if your list
shows doctor’s speciallization , each view holder might represent a specialist doctors
list. The RecyclerView creates only as many view holders as are needed to display
the on-screen portion of the dynamic content, plus a few extra. As the user scrolls
through the list, the RecyclerView takes the off-screen views and rebinds them to the
data which is scrolling onto the screen.
The view holder objects are managed by an adapter, which you create by extend-
ing RecyclerView.Adapter. The adapter creates view holders as needed. The adapter
also binds the view holders to their data. It does this by assigning the view holder
to a position, and calling the adapter’s onBindViewHolder() method. That method
uses the view holder’s position to determine what the contents should be, based on
its list position.
In the Layout Editor, you can quickly build layouts by dragging UI elements
into a visual design editor instead of writing the layout XML by hand. The design
editor can preview your layout on different Android devices and versions, and you
can dynamically resize the layout to be sure it works well on different screen sizes.
Chapter 5
Implementation
The proposed system consists of two panels: Doctor and Patient. The users will
first have to download the application and install it in their mobile devices. Once in-
stalled, this application will remain into the device permanently until the user deletes
it or uninstalls it. The patient will have to register into the application for the first
time. On registering, the patient will receive a username and password. The patient
can use this username and password for logging into the app each time he uses it. Af-
ter logging in, the patient will have to select a filtration type. The filtration is done on
the basis of Doctors Specialty. After selecting the filtration type, the doctors list will
be displayed. The patient can select any particular doctor and view his profile. Also
the patient can view the doctor’s schedule and look for an appointment according to
his convenience. The patient will then send a request for appointment. The doctor
can either accept the appointment or reject it. The database will get updated accord-
ingly and the patient will get a confirmation message. The add-on to this system
is that the patient will receive a notification 2 hours before the actual appointment.
This will be very useful in case the patient tends to forget the appointment.
Chapter 6
Screenshots of Project
The Dashboard after we enter in app by registering with your name and mobile
number.
In this activity we can see the Doctors profile, the hospital name and also we
can contact the doctor by call or message.
In this activity we can add new doctors profile or new medical information
dynamically.
Chapter 7
The proposed online appointment system has been implemented in android stu-
dio for application development. The tasks involved in this work are divided into
modules. The proposed system is efficient and has friendly user interface. Addition
of the admin and doctor modules in the android application are included in future
work. That would help the doctor to register on the application and perform all the
tasks on the app. The admin would be able to use the app for managing the details of
the patients and the doctors. A payment or some amount may be charged to the user-
s/patients while making an appointment to avoid the unethical users. As many users
only register themselves just for fun and has no concern by making an appointment.
Some more future directions are the improvements in the patient’s module which
includes setting reminders for the appointments and saving the appointment date to
the calendar
References
[1] https://developer.android.com/docs
[2] https://firebase.google.com/docs
[3] https://stackoverflow.com/