Professional Documents
Culture Documents
Doctor On Gadget: An User Interactive Android Application For Medical and Fitness Consultancy
Doctor On Gadget: An User Interactive Android Application For Medical and Fitness Consultancy
An
User Interactive
ANDROID APPLICATION
For
Medical And Fitness Consultancy
SUBMITTED BY::
1
A
B.E. PROJECT
REPORT
Submitted by
ANURAG TOMAR(224/CO/10)
MAYANK PANWAR(263/CO/10)
MOHIT NAND(266/CO/10)
2
CERTIFICATE
This is to certify that the project entitled " DOCTOR ON GADGET - ANDROID
APPLICATION FOR MEDICAL AND FITNESS CONSULTANCY" is a bonafide work
of Anurag Tomar, Mayank Panwar and Mohit Nand, students of VIIIth
semester, B.E in the Department of Computer Engineering, Netaji Subhas
Institute of Technology, Delhi. They have done the project under my
supervision and guidance to best of my knowledge. This project work has been
prepared as a partial fulfilment of the requirements for the award of the
degree of Bachelor of Engineering in Computer Engineering, University of
Delhi, in the academic year 2013-2014. This work has not been presented
earlier for any other academic activity.
Professor
NSIT, Delhi
3
SELF DECLARATION
We, Anurag Tomar, Mayank Panwar and Mohit Nand, students of
Computer Engineering, NSIT hereby declare that the project work
entitled Doctor On Gadget - Android Application For Medical And
Fitness Consultancy is an authentic work of ours. This project has
been prepared as a partial fulfilment of the requirements for the
award of Degree of Bachelor of Engineering in Computer
Engineering, University of Delhi, in the academic year 2013-2014.
This work has not been presented earlier for any other academic
activity.
4
ACKNOWLEDGEMENT
This project holds great importance in our life. The learning experience we had
while working for it is of the finest in our four years of engineering. This project
has improved our technical knowledge and skills greatly. However, it would not
have been possible to complete it without the kind support and help of many
individuals. we would like to extend our sincere thanks to all of them.
First of all we would like to express our appreciation to our mentor Prof. Satbir
jain, Professor, Department of Computer Engineering, Netaji Subhas Institute
of Technology, New Delhi under whose supervision we completed our work.
His constant support and guidance has been of significant help. we would like
to thank him for continuously taking out time in reviewing and improving our
work and directing us to achieve our goal.
we would also like to extend our earnest thanks to our friends for their
feedback and help from time to time. Last but not the least we would like to
thank our parents whose care and blessings strengthened us throughout.
5
ABSTRACT
Mobile devices such as smart phones, the iPhone, tablets and
the iPad have become more popular in recent years. With
Rapid advancement of technology in modern time memory
constraint of even low end devices has increased. This can be
utilized to keep database of common diseases, nutritional value
of food, etc, which comes handy when user display certain
symptoms or want to enquire about nutritional value of various
food item or calorific information of various exercise regimes.
This is a cost efficient, quick, robust, systematic and easily
available alternative to the laborious, time consuming and
expensive practices of consulting a human expert in the domain
of medicines, fitness and diseases. This application offers
prescription and clinical advice on common diseases incurred
by people in day to day life. The users just have to select their
visible symptoms and according to the specified disease,
prescription are made. Nutritional value of different food
items, contact number of hospitals in various states and
workout regime techniques are incorporated in our database.
In addition, the application is designed to answer search
queries that are related to the medical field. Search query in
the medical field requires more selective results and that the
results come from trusted sources before it can be used.
6
CONTENTS
i) Certificate 3
ii) Self Declaration 4
iii) Acknowledgement 5
iv) Abstract 6
v) List of Abbreviations 8
1. INTRODUCTION 9
1.1. Overview 9
1.2. Objective 10
1.3. Motivation 10
1.4. Scope 11
2. LITERATURE SURVEY 12
2.1. Brief Introduction to Technology used 12
2.2. Available Application and Research done 14
3. ANDROID APPLICATION DEVELOPMENT 17
3.1. Android Operating System 17
3.2. Application Lifecycle 20
3.3. Application Fundamentals 22
3.4. Application Components 23
3.5. Development Tools 26
3.5.1. Android Software Development Kit (SDK)
3.5.2. Eclipse
3.5.3. Android Development Tools
4. DESIGN AND DEVELOPMENT 28
4.1. Architecture 28
4.2. Implementation 29
5. CONCLUSION AND FUTURE WORK 34
6. References 35
7
LIST OF ABBREVIATIONS
ADB ANDROID DEBUG BRIDGE
OS OPERATING SYSTEM
8
Chapter 1: INTRODUCTION
1.1 OVERVIEW :
The present Approach is given to the Information technology. I.T. is a
new and fresh integrated approach and a key to unlock all the intricate
problems of our modern era. This technology tends to cater all our
needs. It is not only an Integrated Approach, but also job-oriented
& concrete device to aware us of the up-to-date skill and knowledge.
I.T has boosted progress beyond description. It has given us the safest
& the most concrete means of instruction i.e. computer, Internet, E-
mail, E-commerce, Website and a lifeline for most of our problems.
Mobile devices such as smart phones, the iPhone, tablets and the iPad
have become more popular in recent years. With Rapid advancement
of technology in modern time memory constraint of even low end
devices has increased. This can be utilized to keep database of
common diseases, nutritional value of food, etc, which comes handy
when user display certain symptoms or want to enquire about
nutritional value of various food item or calorific information of
various exercise regimes. This is a cost efficient, quick, robust,
systematic and easily available alternative to the laborious, time
consuming and expensive practices of consulting a human expert in
the domain of medicines, fitness and diseases. This application offers
9
prescription and clinical advice on common diseases incurred by
people in day to day life. The users just have to select their visible
symptoms and according to the specified disease, prescription are
made. Nutritional value of different food items, contact number of
hospitals in various states and workout regime techniques are
incorporated in our database.
1.2 Objective :
There are no such application of this sort is available on the play
store as of now. This includes multifunctional approach to a single
app which provides information about diseases and nutrition and
hospital contact number in case of an emergency. This application
could be used by anyone, who wants to get information about
diseases and there symptoms, hospitals across India , exercises and
nutritional value about foods. This project aims to build an application
which uses offline source of information, which is of particular use in
areas and regions where data connection is not available or the client
is on roaming, to prevent massive monetary charges. It is of most
interest to the tourists who often find themselves in medical
emergencies in foreign lands.
1.3 Motivation :
Android being the most popular mobile OS is used daily by
millions of people around the world. Applications developed
in this platform make day to day task easier for people.
Android is an open source platform that has attracted many
10
developers to build for the community without any charge.
This application serves as my contribution to this ever
growing community.
1.4 Scope :
The scope of this project is:-
11
Chapter 2 : LITERATURE SURVEY
This chapter gives extensive background behind the concepts employed in this
project. None of the work in this chapter is original; the ideas from each section
have been cross referenced to indicate the source of the information presented,
whenever needed. This study was very necessary from the point of view of
getting the background information to help me in developing the application.
2. Database : mysql.
2.2.1 Medscape :
Medscape from WebMD (medscape.com) is a medical resource app
mostly used by physicians, medical students, nurses and other
healthcare professionals for clinical information.
- Medical News
14
2.2.2 HK Plus :
Health Kart Plus is a Comprehensive Generic Drug Search Engine. It
is the resource most used by the common consumers and also
healthcare professionals for clinical information & as medical
dictionary. Health Kart Plus can be used to discover cost effective
generic drugs that can substitute prescription medicine. Further, it can
be used to explore how prescription medicine works & understand
the required precaution and contraindication.
FEATURES:
- Search & order medicines
- Place an order by uploading your prescription
- Re-order from previous prescriptions
- Check the availability of medicine near your location
- Real time price comparison
- Find alternative medicines in India
Feature:
-Quick dynamic search of words while you type
-Filters to help you locate the word you are searching for.
-Keyword-used to locate the instances of a key word within other
compound words
15
App features:-
* Hair care tips to reduce hair fall in men, women, boys & girls.
* A home remedies guide for hair care.
* Complete hair fall solution and long hair maintenance tips are provided.
* Grow long & thick hair with our specially formulated hair growing tips.
* Most of our tips for hair growth are suggested by top hair care & salon
experts.
* Safe hair makeup tips to make your hair healthy and shiny.
16
Chapter 3 :
ANDROID APPLICATION
DEVELOPMENT
This chapter gives a brief introduction on Android development. All aspects of
development are not provided here. This chapter only covers some basic
terminologies and development procedures followed for creating an application.
Terms mentioned here will be directly used in later chapters for describing the
application created. Most of the information is directly taken from the android
developer website with slight changes. For more details [18] can be referred.
17
Fig-3.1 above shows the Android architecture. The base layer of the
architecture is on Linux containing all the drivers and basic OS functionality.
The upper layer contains libraries for managing different functions which are
mobile specific. The layer above is used by applications as their base. This layer
acts as a communication medium between the application and the OS. The top
level contains all the applications developed and run at this layer.
Android is the most widely used mobile OS. It is used in more than 190
countries and powers millions of devices. After its first launch in 2009 it has
been growing rapidly and profitably. Being an open source platform developers
across the world create millions of applications for this OS.
Till now 10 android versions have been released split into 17 API levels.
They are as follows:
18
Android 2.0 clair (API Level 5)
Android 2.0.1 clair (API Level 6)
Android 2.1 clair (API Level 7)
Android 2.2 2.2.3 Froyo (API Level 8)
Android 2.3 2.3.2 Gingerbread (API Level 9)
Android 2.3.3 2.3.7 Gingerbread (API Level 10)
Android 3.0 Honeycomb (API Level 11)
Android 3.1 Honeycomb(API Level 12)
Android 3.2 Honeycomb (API Level 13)
Android 4.0 4.0.2 Ice Cream Sandwich (API Level 14)
Android 4.0.3 4.0.4 Ice Cream Sandwich (API Level 15)
Android 4.1 Jelly Bean (API Level 16)
Android 4.2 Jelly Bean (API Level 17)
20
The methods written in the rectangular boxes are called lifecycle methods.
Writing procedures for each method is not mandatory. The onCreate() method is
mandatory for the activities initialisation process. Most of the code part is
written in this section and is the first method which is called when the activity is
started. The onPause() method is not mandatory but is recommended that code
be written in this section to save activity data. When the running activity is
21
interrupted due to any reason then the on Pause method is called, this section
can be used to save application data before the activity closes [17].
Once installed on a device, each Android application lives in its own security
sandbox:
By default, the system assigns each application a unique Linux user ID (the
ID is used only by the system and is unknown to the application). The system
sets permissions for all the files in an application so that only the user ID
assigned to that application can access them.
Each process has its own virtual machine (VM), so an application's code runs
in isolation from other applications.
By default, every application runs in its own Linux process. Android starts
the process when any of the application's components need to be executed, then
shuts down the process when it's no longer needed or when the system must
recover memory for other applications.
In this way, the Android system implements the principle of least privilege.
That is, each application, 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 application cannot access parts of the system for which it is not given
permission. Fig-3.4 below shows the flow of the file conversion in android. The
java codes written by the programmer are compiled and converted to .calls files,
these .class files are then converted to .dex format which in the end when
combined with the resources is converted to the .apk file which is installed in
the device.
22
However, there are ways for an application to share data with other applications
and for an application to access system services:
It's possible to arrange for two applications to share the same Linux user ID,
in which case they are able to access each other's files. To conserve system
resources, applications with the same user ID can also arrange to run in the
same Linux process and share the same VM (the applications must also be
signed with the same certificate).
An application can request permission to access device data such as the user's
contacts, SMS messages, the mountable storage (SD card), camera, Bluetooth,
and more. All application permissions must be granted by the user at install
time.
Services :
A service is a component that runs in the background to perform long-running
operations or to perform work for remote processes. A service does not provide
a user interface. For example, a service might play music in the background
while the user is in a different application, or it might fetch data over the
network without blocking user interaction with an activity. Another component,
such as an activity, can start the service and let it run or bind to it in order to
interact with it.
Content providers :
A content provider manages a shared set of application data. You can store the
data in the file system, a SQLite database, on the web, or any other persistent
storage location your application can access. Through the content provider,
other applications can query or even modify the data (if the content provider
allows it). Content providers are also useful for reading and writing data that is
private to your application and not shared. For example, the Note Pad sample
application uses a content provider to save notes.
Activating Components :
Three of the four component typesactivities, services, and broadcast
receiversare activated by an asynchronous message called an intent. Intents
bind individual components to each other at runtime, whether the component
belongs to your application or another.
An intent is created with an Intent object, which defines a message to activate
either a specific component or a specific type of componentan intent can be
either explicit or implicit, respectively.
For activities and services, an intent defines the action to perform and may
specify the URI of the data to act on. For example, an intent might convey a
24
request for an activity to show an image or to open a web page. In some cases,
you can start an activity to receive a result, in which case, the activity also
returns the result in an Intent (for example, you can issue an intent to let the user
pick a personal contact and have it returned to youthe return intent includes a
URI pointing to the chosen contact)
Identify any user permissions the application requires, such as Internet access
or read-access to the user's contacts.
Declare the minimum API Level required by the application, based on which
APIs the application uses.
API libraries the application needs to be linked against (other than the
Android framework APIs), such as the Google Maps library.
The above mentioned points do not include all the work done by the manifest
file. There are numerous other things the file is required for.
25
3.5 Development Tools :
The SDK also contains the ADB tool which allows connection to a virtual or
real device.
3.5.2 Eclipse :
Eclipse is a multi-language Integrated Development Environment (IDE)
comprising a java base and plug-in system for modifying the settings and
extending the working capacity of the system. It is actually a java application
made for doing java development. It also supports other programming
languages like Ada, C, C++, COBOL, Fortran, Haskell, JavaScript, Perl, PHP,
Python, R, Ruby, Scala, Clojure, Groovy, Scheme, Erlang and many more by
means of various plug-ins [20]. The initial codebase originated from IBM
VisualAge. The Eclipse software development kit (SDK), which includes the
Java development tools, is meant for Java developers. Users can extend its
abilities by installing plug-ins written for the Eclipse Platform, such as
development toolkits for other programming languages, and can write and
contribute their own plug-in modules.
26
3.5.3 Android Development Tools :
Google provides the Android Development Tools (ADT) to develop Android
applications with Eclipse. ADT is a set of plug-ins which extends the Eclipse
IDE with Android development capabilities. ADT contains all required
functionalities to create, compile, debug and deploy Android applications from
the Eclipse IDE. ADT also allows the creation and execution of AVDs.. The
ADT provides specialized editors for resources files, e.g. layout files. These
editors allow the developer to switch between the XML representation of the
file and a richer user interface via tabs on the bottom of the editor.
27
Chapter 4 :
DESIGN AND DEVELOPMENT
This chapter will provide a complete in dept description of the application. The
architecture, flow of the application, algorithm implementation, and other
various APIs used.
4.1 Architecture :
This application could be used by anyone, who wants to get information about
diseases and there symptoms, hospitals across india , exercises and nutritional
value about foods. Any such application of this sort is not available on the play
store as of now. This includes multifunctional approach to a single app which
provides information about diseases and nutrition and hospital contact number
in case of an emergency. The complete system architecture can be subdivided
into following parts:
1. The user
2. Dynamic Offline Database
3. XML and Java Class File
4. The Advisor
XML files are used to define the layout of the android applications.
There are various views like Linear layout, Relative layout, Table layout, Text
View, Buttons etc.
Linear layout : It is the most basic layout where different view items are
arranged in parallel order from the left most column of the screen.
Relative layout : This is the most widely accepted and used form of the layout.
It gives rights to arrange our view anywhere on the whole screen.
28
4.2 IMPLEMENTATION :
In this section all the details on the working of the application is provided with
the help of a sample scenario. Screenshots of the application are provided
wherever needed. For more details on implementation and sample outputs and
results the appendix section can be referred.
Fig. 4.1 shows the screenshot of the Google Play Store form where the
application can be downloaded directly from the mobile device. Alternatively
the application can also be downloaded from the following link:
www.walkingtraveller.com from where the user will be redirected to the Google
Play Store.
To use the application the android device should be of API level 2.2 or above
i.e. Froyo and above. Fig 4.2 shows the app logo.
Fig 4.2
29
Fig. 4.3 shows the logo of the application which is displayed for a few seconds
when the application is launched by pressing on the icon.
Fig 4.3
30
Figure 4.4, 4.5, 4.6 shows the clicks from different parts of the application when
users enter into it.
Fig 4.4
31
Fig 4.5
32
Fig 4.6
33
Chapter 5 :
CONCLUSION AND FUTURE WORK
This application when available on google play store could be downloaded by
anyone, who wants to get systematized information about diseases and there
symptoms, hospitals across india , exercises and nutritional value about foods.
Any such application of this sort is not available on the play store as of now.
This includes multifunctional approach to a single app which provides
information about diseases and nutrition and hospital contact number in case of
an emergency.
The offline source of information is of particular use in areas and regions where
data connection is not available or the client is on roaming, to prevent massive
monetary charges. It is of most interest to the tourists who often find themselves
in medical emergencies in foreign lands as also to the person who is suffering
from the commonest of allergy to the one suffering from acute viral or any other
infection. This application is one of its kinds at the moment as no other
application includes multi functionalities in a single application.
Presently the application has basic functionalities and a limited database. Hence
one of the future works would be to expand this database to cover more diseases
information, hospital databases and exercise regime info. The next thing to be
done is to make this application connected with internet for regular updates or
we can make this application a server resourced app which can be used to
interact with the paid users online and can provide them optimized solution
online. To make the application more lively and popular it will be integrated
with social networking sites. This will allow the users to share their experiences
within their network.
Other minor improvements to be done are to optimise the code further. Also the
user interface can be made more friendly and feature enhanced.
34
References :
[1] http://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol1/hmw/article1.html
[2] http://www.civil.iitb.ac.in/tvm/2701_dga/2701-ga-notes/gadoc/
[3] http://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/tcw2/report.html
[4] http://www.vogella.com/articles/Android/article.html
[5] http://en.wikipedia.org/wiki/Walking
[6] http://www.usroads.com/journals/p/rej/9710/re971001.htm1.
[7] http://www.walkinginfo.org/facts/statistics.cfm
[8] https://developers.google.com/maps/documentation/distancematrix
[9] Yingying Yu; Yan Chen; Taoying Li, "A New Design of Genetic Algorithm
for Solving TSP," Computational Sciences and Optimization (CSO), 2011
Fourth International Joint Conference on , vol., no., pp.309,313, 15-19 April
2011
[10] Liang Yan; Yang Kongyu, "Immunity Genetic Algorithm Based on Elitist
Strategy and its Application to the TSP Problem," Intelligent Information
Technology Application Workshops, 2008. IITAW '08. International Symposium
on , vol., no., pp.3,6, 21-22 Dec. 2008
[11] Li-ying Wang; Jie Zhang; Hua Li, "An Improved Genetic Algorithm for
TSP," Machine Learning and Cybernetics, 2007 International Conference on ,
vol.2, no., pp.925,928, 19-22 Aug. 2007
[12] Fanchen Su; Fuxi Zhu; Zhiyi Yin; Haitao Yao; Qingping Wang; Wenyong
Dong, "New Crossover Operator of Genetic Algorithms for the TSP,"
Computational Sciences and Optimization, 2009. CSO 2009. International Joint
Conference on , vol.1, no., pp.666,669, 24-26 April 2009
[13] http://www.ceng.metu.edu.tr/~ucoluk/research/publications/tsp.pdf
[14] http://www.dmi.unict.it/mpavone/nc-cs/materiale/moscato89.pdf
[15] https://en.wikipedia.org/wiki/Android_(operating_system)
[16] http://developer.android.com/about/index.html
[17] http://grail.cba.csuohio.edu/~matos/notes/cis-493/lecture-notes/Android-
Chapter03-Life-Cycle.pdf
[18] http://developer.android.com/guide/components/fundamentals.html
[19] http://en.wikipedia.org/wiki/Google_Play
[20] http://en.wikipedia.org/wiki/Eclipse_(software)
[21] Sebastia, L.; Garcia, I.; Onaindia, E.; Guzman, C.; , "e-Tourism: A Tourist
Recommendation and Planning Application," Tools with Artificial Intelligence,
2008. ICTAI '08. 20th IEEE International Conference on , vol.2, no., pp.89-96,
3-5 Nov. 2008
[22] Gavalas, D.; Kenteris, M.; Konstantopoulos, C.; Pantziou, G.; ,
"Personalized routes for mobile tourism," Wireless and Mobile Computing,
Networking and Communications (WiMob), 2011 IEEE 7th International
Conference on , vol., no., pp.295-300, 10-12 Oct. 2011
35
[23] Stark, A.; Riebeck, M.; Kawalek, J.; , "How to Design an Advanced
Pedestrian Navigation System: Field Trial Results," Intelligent Data Acquisition
and Advanced Computing Systems: Technology and Applications, 2007.
IDAACS 2007. 4th IEEE Workshop on , vol., no., pp.690-694, 6-8 Sept. 2007
[24] Biuk-Aghai, R.P.; Fong, S.; Yain-Whar Si; , "Design of a recommender
system for mobile tourism multimedia selection," Internet Multimedia Services
Architecture and Applications, 2008. IMSAA 2008. 2nd International
Conference on , vol., no., pp.1-6, 10-12 Dec. 2008
[25] Rey-Lopez, M.; Barragans-Martinez, A.B.; Peleteiro, A.; Mikic-Fonte,
F.A.; Burguillo, J.C.; , "moreTourism: Mobile recommendations for tourism,"
Consumer Electronics (ICCE), 2011 IEEE International Conference on , vol.,
no., pp.347-348, 9-12 Jan. 2011
[26] San-Yih Hwang; Wan-Shiou Yang; , "On-tour attraction recommendation
in a mobile environment," Pervasive Computing and Communications
Workshops (PERCOM Workshops), 2012 IEEE International Conference on ,
vol., no., pp.661-666, 19-23 March 2012
[27] http://www.json.org/
36
37