E Contact Project
E Contact Project
E Contact Project
1. INTRODUCTION
There is a lot of chance that we may face adversity some times in our lives. But we
have no idea when we are going to face it. So to help reach a emergency contact
just with a tap can be life saving. Emergency contact is an app to let an emergency
contact know that we have faced some adversity so that they can do whatever they
can to help.
Many a times when we face accident, we are in a remote place. So to avoid
taking any chances on our life this app helps a lot to inform our loved ones that we
have faced some accident unfortunately.
The system works as follows:
I. Whenever you install the application for the first time, it is mandatory to
enter your details and register yourself by providing your name, contact
number, blood group, emergency contact name and emergency contact
number.
II. An option to update your and your emergency contact details is provided
in the application under the “Settings” option. In case you want to give
your phone to someone, they can update their corresponding details instead
of uninstalling and installing the app again.
III. Feature to contact the emergency contact number is provided under “Help”
option.
IV. Feature to contact rescue hotlines is provided under “SOS” session.
V. Option to send a request for blood group by sending an SMS to all the
contacts, which includes the current location of the user, blood group
required is possible with the “Blood Bank” feature.
VI. Nearest hospitals, Ambulance Service, Fire Station, Police Stations available
can be searched using the corresponding options provided in our application.
1. Objective
I. being in a situation where you are in trouble or you saw someone in
your vicinity in a trouble like an accident – fire,vehicle etc.
II. And you are looking to contact the nearest rescue service to help you to get
out of this tough situation without any hassle?
III. In this case, it is quite possible that you are very tensed and are in a
shock and you cannot communicate effectively to explain your position.
EC-CSE Dept
e-contact
2. LITERATURE SURVEY
Second point is that all the required tools to develop Android applications are open source and
can be downloaded from the Web. Following is the list of software's you will need before you
start your Android application programming.
Android Studio is the official IDE for android application development. It works based
on IntelliJ IDEA, You can download the latest version of android studio from Android Studio
2.2 Download, If you are new to installing Android Studio on windows, you will find a file,
which is named as android-studio-bundle-143.3101438-windows.exe.So just download and run
on windows machine according to android studio wizard guideline.
If you are installing Android Studio on Mac or Linux, You can download the latest version
from Android Studio Mac Download or Android Studio Linux Download, check the
instructions provided along with the downloaded file for Mac OS and Linux. This tutorial will
consider that you are going to setup your environment on Windows machine having Windows
8.1 operating system.
To test your Android applications, you will need a virtual Android device. So before we
start writing our code, let us create an Android virtual device. Launch Android AVD Manager
EC-CSE Dept
e-contact
Clicking AVD_Manager icon After Click on a virtual device icon, it going to be shown by
default virtual devices which are present on your SDK, or else need to create a virtual device by
clicking Create new Virtual device button.
If your AVD is created successfully it means your environment is ready for Android
application development. If you like, you can close this window using top-right cross button.
Better you re-start your machine and once you are done with this last step, you are ready to
proceed for your first Android example but before that we will see few more important
concepts related to Android Application Development.
2.2. JAVA
FEATURES
The primary objective of Java programming language creation was to make it portable, simple
and secure programming language. Apart from this, there are also some excellent features
which play an important role in the popularity of this language. The features of Java are also
known as java buzzwords.
i. Simple
ii. Object-Oriented
iii. Portable
iv. Platform independent
v. Secured
vi. Robust
vii. Architecture neutral
viii. Interpreted
EC-CSE Dept
e-contact
2.3. XML
XML stands for Extensible Markup Language and is a text-based markup language
derived from Standard Generalized Markup Language (SGML). This tutorial will teach you
the basics of XML. The tutorial is divided into sections such as XML Basics, Advanced XML,
and XML tools. Each of these sections contain related topics with simple and useful examples.
This reference has been prepared for beginners to help them understand the basic to advanced
concepts related to XML. This tutorial will give you enough understanding on XML from
where you can take yourself to a higher level of expertise.
Before proceeding with this tutorial, you should have basic knowledge of HTML and
JavaScript.
XML tags identify the data and are used to store and organize the data, rather than specifying
how to display it like HTML tags, which are used to display the data. XML is not going to
replace HTML in the near future, but it introduces new possibilities by adopting many
successful features of HTML.
There are three important characteristics of XML that make it useful in a variety of systems and
solutions −
XML is extensible − XML allows you to create your own self-descriptive tags, or
language, that suits your application.
XML carries the data, does not present it − XML allows you to store the data irrespective
of how it will be presented.
XML is a public standard − XML was developed by an organization called the World
Wide Web Consortium (W3C) and is available as an open standard.
XML Usage
A short list of XML usage says it all −
EC-CSE Dept
e-contact
XML can work behind the scene to simplify the creation of HTML documents for large
web sites.
XML can be used to exchange the information between organizations and systems.
XML can be used to store and arrange the data, which can customize your data handling
needs.
XML can easily be merged with style sheets to create almost any desired output.
What is Markup?
XML is a markup language that defines set of rules for encoding documents in a format that is
both human-readable and machine-readable. So what exactly is a markup language?Markup is
information added to a document that enhances its meaning in certain ways, in that it identifies
the parts and how they relate to each other. More specifically, a markup language is a set of
symbols that can be placed in the text of a document to demarcate and label the parts of that
document.
A programming language consists of grammar rules and its own vocabulary which is used to
create computer programs. These programs instruct the computer to perform specific tasks.
XML does not qualify to be a programming language as it does not perform any computation or
algorithms. It is usually stored in a simple text file and is processed by special software that is
capable of interpreting XML.
XML Database is used to store huge amount of information in the XML format. As the use
of XML is increasing in every field, it is required to have a secured place to store the XML
documents. The data stored in the database can be queried using XQuery, serialized, and
exported into a desired format.
XML- enabled
Native XML (NXD)
EC-CSE Dept
e-contact
Native XML database has an advantage over the XML-enabled database. It is highly capable to
store, query and maintain the XML document than XML-enabled database.
2.4. SQLite
This chapter helps you understand what is SQLite, how it differs from SQL, why it is needed
and the way in which it handles the applications Database.
What is SQLite?
SQLite is an in-process library that implements a self-contained, serverless, zero-configuration,
transactional SQL database engine. It is a database, which is zero-configured, which means like
other databases you do not need to configure it in your system.
SQLite engine is not a standalone process like other databases, you can link it statically or
dynamically as per your requirement with your application. SQLite accesses its storage
files directly.
EC-CSE Dept
e-contact
Why SQLite?
SQLite does not require a separate server process or system to operate (serverless).
SQLite is very small and light weight, less than 400KiB fully configured or less than
250KiB with optional features omitted.
SQLite transactions are fully ACID-compliant, allowing safe access from multiple
processes or threads.
SQLite supports most of the query language features found in SQL92 (SQL2) standard.
SQLite is available on UNIX (Linux, Mac OS-X, Android, iOS) and Windows (Win32,
WinCE, WinRT).
2011 - Hipp announced to add UNQl interface to SQLite DB and to develop UNQLite
(Document oriented database).
he standard SQLite commands to interact with relational databases are similar to SQL. They are
CREATE, SELECT, INSERT, UPDATE, DELETE and DROP. These commands can be
classified into groups based on their operational nature.
EC-CSE Dept
e-contact
3. SYSTEM ANALYSIS
I. being in a situation where you are in trouble or you saw someone in your vicinity in a
trouble like an accident – fire, vehicle etc. and you are looking to contact the nearest
rescue service to help you to get out of this tough situation without any hassle?
II. In this case, it is quite possible that you are very tensed and are in a shock and you
cannot communicate effectively to explain your position.
I. To avoid such a situation, we planned to come out with an application, which helps
any individual to immediately contact the nearest police station/hospital/ambulance
service/fire station by acting appropriately and getting the contact details of them.
II. The bottom line is that the main idea behind this project was to create an
android application that could be of great use in times of emergency.
III. Our goal is to help set an official guideline to assist Emergency Response Teams in
their efforts to save time and lives in the event of an emergency and help people in
times of emergency.
The feasibility of the project is analyzed in this phase and business proposal is put forth
with a very general plan for the project and some cost estimates. During system analysis the
feasibility study of the proposed system is to be carried out. This is to ensure that the proposed
system is not a burden to the company. For feasibility analysis, some understanding of the major
requirements for the system is essential.
i. Economical Feasibility
ii. Technical Feasibility
iii. Social Feasibility
This study is carried out to check the economic impact that the system will have on the
organization. The amount of fund that the company can pour into the research and development
EC-CSE Dept
e-contact
of the system is limited. The expenditures must be justified. Thus the developed system as well
within the budget and this was achieved because most of the technologies used are freely
available. Only the customized products had to be purchased.
This study is carried out to check the technical feasibility, that is, the technical
requirements of the system. Any system developed must not have a high demand on the available
technical resources. This will lead to high demands on the available technical resources. This
will lead to high demands being placed on the client. The developed system must have a modest
requirement, as only minimal or null changes are required for implementing this system.
The aspect of study is to check the level of acceptance of the system by the user. This
includes the process of training the user to use the system efficiently. The user must not feel
threatened by the system, instead must accept it as a necessity. The level of acceptance by the
users solely depends on the methods that are employed to educate the user about the system and
to make him familiar with it. His level of confidence must be raised so that he is also able to
make some constructive criticism, which is welcomed, as he is the final user of the system.
EC-CSE Dept
e-contact
3.4.1.1. Feedback
Now-a-days taking feedback became a big task and generating aggregate from that has
been a challenging task for both the user and also for the e-contact.
They specify criteria that judge the operation of a system, rather than specific behaviours.
The non - functional requirements provide specific measurements that the software must meet.
The maximum number of seconds it must take to perform a task, the maximum size of a database
on disk, the number of hours per day a system must be available, and the number of concurrent
users supported are examples of requirements that the software must implement but do not
change its behaviour.
3.4.2.1. Availability
Our project achieves availability as the amount of time the system is operational and
available for use depends on the availability of network. The speed of the network plays a key
role in the availability of the system. This is specified because some systems are designed with
expected down - time for activities like database upgrades and backups.
3.4.2.2. Usability
Our goal is to help set an official guideline to assist Emergency Response Teams in their efforts
to save time and lives in the event of an emergency and help people in times of emergency.
3.4.2.3. Reliability
EC-CSE Dept
e-contact
3.4.2.4. Supportability
We have developed the application incrementally to make sure we have a working app at
all times. Even when we were unable to provide the maps for the demo, we had a running app
without app.
3.4.2.5. Implementation
The project involved the use of SQLLite as the database for storing information. It
implements a server less, transactional SQL database engine. Android simulator was used to
check the working of the application and the app was checked for compatibility with API 10
as the target API. Google maps API is used to locate the nearest service points.
3.4.2.6. Interface
the main idea behind this project was to create an android application that could be of
great use in times of emergency. The interface design is aimed at flexible front-end
communication to provide the user with clear information in navigating a user-friendly interface.
Technology : Android
Frontend : XML
RAM : 4 GB
Hard Disk : 20 GB
e-contact
4. SYSTEM DESIGN
EMERGENCY
CONTACT
USER
DATABASE
The development of the proposed model is not only depending on how the system works.
It also depends on the working flow process that being identified and need to be implemented
and followed. The proposed “E-contact” is a application which is intended to produce an
automated solution for society.
EC-CSE Dept
e-contact
5. IMPLEMENTATION
5.1. MODULES
1. USER
5.1.1. User
The registration module is used to collect user details as well as the emergency contacts
information and stores them. The maps module dynamically retrieves location coordinate
information from the google maps API. The modules dynamically retrieve location from the
google maps server and use them to provide related information to the user with respect to the
service the user has requested. There are other features like the broadcast blood donation
request that broadcast bulk SMSs to all the emergency contacts in the user’s database.
Step :
Start
I. To obtain API Key for Google Maps Android API v2 service, you have to create API
Project and obtain your API Key in Google APIs Console.
II. To obtain your Android API Key, we need to use SHA1 Certificate fingerprint
value from the key store used to build the apk.
III. The Android key obtained from Google API Console needs to be updated in the
manifest.xml to maps.
V. We need to add all the relevant permissions to access internet and to fetch the locations.
EC-CSE Dept
e-contact
<?xml version="1.0"?>
<RelativeLayout tools:context=".MainActivity" android:layout_height="match_parent"
android:layout_width="match_parent" xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"><ImageButton
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:src="@drawable/m" android:onClick="onClick" android:layout_marginTop="28dp"
android:layout_below="@+id/sos_button" android:layout_alignLeft="@+id/hospital_button"
android:id="@+id/police_button"/><TextView android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_below="@+id/hospital_button"
android:layout_alignLeft="@+id/hospital_button" android:id="@+id/textView1"
android:textAppearance="?android:attr/textAppearanceSmall" android:text="Hospital"
android:layout_marginLeft="16dp"/><TextView android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_below="@+id/sos_button"
android:id="@+id/TextView01" android:textAppearance="?android:attr/textAppearanceSmall"
android:text="SOS" android:layout_centerHorizontal="true"/><TextView
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:id="@+id/TextView02" android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Fire Station" android:layout_alignRight="@+id/firestation_button"
android:layout_alignBottom="@+id/TextView01"
android:layout_alignBaseline="@+id/TextView01"/><TextView android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_below="@+id/police_button"
android:layout_alignLeft="@+id/textView1" android:id="@+id/TextView03"
android:textAppearance="?android:attr/textAppearanceSmall" android:text="Police"/><TextView
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:layout_below="@+id/ambulance_button" android:layout_alignLeft="@+id/TextView03"
android:id="@+id/TextView06" android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Ambulance"/><TextView android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_below="@+id/police_button"
android:id="@+id/TextView05" android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Emergency Contact" android:layout_alignParentRight="true"/><TextView
EC-CSE Dept
e-contact
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:layout_alignLeft="@+id/bloodbank_button" android:id="@+id/TextView04"
android:textAppearance="?android:attr/textAppearanceSmall" android:text="Blood Bank"
android:layout_above="@+id/home_button"/><ImageButton android:layout_height="wrap_content"
android:layout_width="wrap_content" android:src="@drawable/k" android:onClick="onClick"
android:id="@+id/hospital_button" android:layout_above="@+id/police_button"
android:layout_toLeftOf="@+id/bloodbank_button"
android:layout_marginRight="15dp"/><ImageButton android:layout_height="wrap_content"
android:layout_width="wrap_content" android:src="@drawable/red" android:onClick="onClick"
android:layout_marginTop="18dp" android:id="@+id/sos_button"
android:layout_alignRight="@+id/bloodbank_button"
android:layout_alignParentTop="true"/><ImageButton android:layout_height="wrap_content"
android:layout_width="wrap_content" android:src="@drawable/amn" android:onClick="onClick"
android:id="@+id/bloodbank_button" android:layout_centerHorizontal="true"
android:layout_alignBottom="@+id/police_button"/><ImageButton
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:src="@drawable/ambulance" android:onClick="onClick"
android:layout_alignLeft="@+id/police_button" android:id="@+id/ambulance_button"
android:layout_alignBottom="@+id/settings_button"/><TextView
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:layout_below="@+id/settings_button" android:id="@+id/TextView07"
android:textAppearance="?android:attr/textAppearanceSmall" android:text="Settings"
android:layout_centerHorizontal="true"/><ImageButton android:layout_height="wrap_content"
android:layout_width="wrap_content" android:src="@drawable/icon_settings1"
android:onClick="onClick" android:layout_alignLeft="@+id/TextView04"
android:id="@+id/settings_button" android:layout_alignTop="@+id/home_button"/><TextView
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:layout_below="@+id/home_button" android:id="@+id/TextView08"
android:textAppearance="?android:attr/textAppearanceSmall" android:text="Home"
android:layout_marginLeft="37dp" android:layout_toRightOf="@+id/settings_button"/><ImageButton
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:src="@drawable/help_th" android:onClick="onClick"
EC-CSE Dept
e-contact
android:id="@+id/emergencycontact_button" android:layout_marginLeft="14dp"
android:layout_above="@+id/TextView05"
android:layout_toRightOf="@+id/bloodbank_button"/><ImageButton
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:src="@drawable/fp__lg_fire" android:onClick="onClick"
android:layout_alignLeft="@+id/emergencycontact_button" android:id="@+id/firestation_button"
android:layout_alignTop="@+id/sos_button"/><ImageButton android:layout_height="wrap_content"
android:layout_width="wrap_content" android:src="@drawable/imag" android:onClick="onClick"
android:layout_marginTop="28dp" android:layout_below="@+id/TextView05"
android:layout_alignLeft="@+id/emergencycontact_button" android:id="@+id/home_button"
android:layout_alignRight="@+id/emergencycontact_button"/></RelativeLayout>
EC-CSE Dept
e-contact
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Intent; import
android.util.Log;
import android.view.Menu;
import android.view.View;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
EC-CSE Dept
e-contact
police.putExtra("key", POLICE);
startActivity(police);
} else if (id == R.id.bloodbank_button)
{ Log.v("XYZ", "BloodBank"); startActivity(new
Intent(this,BloodBank.class));
} else if (id == R.id.emergencycontact_button) {
try{
StringBuilder number = new StringBuilder(); number.append("tel:");
number.append(Preferences.readString(this, Preferences.EM_NUMBER));
Intent callIntent = new Intent (Intent.ACTION_CALL);
callIntent.setData(Uri.parse(number.toString()));
startActivity(callIntent);
callIntent.setData(Uri.parse(number.toString()));
startActivity(callIntent);
}catch (ActivityNotFoundException activityException) {
Log.e("First Response", "Call failed");
}
} else if (id == R.id.settings_button)
{ startActivity(new Intent(this,Settings.class));
}
}
}
}
EC-CSE Dept
e-contact
6. SYSTEM TESTING
6.1. Testing
The purpose of testing is to discover errors. Testing is the process of trying to discover
every conceivable fault or weakness in a work product. It is the process of exercising software
with the intent of ensuring that the Software system meets its requirements and user expectations
and does not fail in an unacceptable manner. There are various types of test. Each test type
addresses a specific testing requirement.
In this system black box testing is performed by giving random inputs to the
functionalities and verified whether expected results are obtained. For example random inputs
are given to a login page and verified whether it’s accepting even the wrong credentials. When
these kinds of bugs are detected then these are fortified. In this testing we verified whether our
application is according to the requirement specification. Any missing functionalities can be
detected in this phase.
White box testing is performed by verifying the internal code of the application. Syntactic
errors, Decisions, Control Flow and statements of the code are verified line by line for all the
modules involved in our system such as User. We could detect control flow errors such as wrong
redirection using white box testing.
EC-CSE Dept
e-contact
This system has 3 Modules i.e. User Module. The module is independently tested by
isolating other module. Each functionality of the Modules is verified. All the individual like
Update information, Map etc. are verified whether the input data is forwarded to action page.
Our system has different modules involved i.e. User. Though component testing is
performed on each module sometimes error generate due to incompatibility between the
interfaces. This kind of errors can be detected in Integration Testing and resolved.
Test Results: All the test cases mentioned above passed successfully. No defects encountered.
EC-CSE Dept
e-contact
I. Whenever you install the application for the first time, it is mandatory to enter
your details and register yourself by providing your name, contact number, blood
group, emergency contact name and emergency contact number.
II. An option to update your and your emergency contact details is provided in the
application under the “Settings” option. Incase you want to give your phone to
someone, they can update their corresponding details instead of uninstalling and
installing the app again.
III. Feature to contact the emergency contact number is provided under “Help” option.
IV.Feature to contact rescue hotlines is provided under “SOS” session.
V. Option to send a request for blood group by sending an SMS to all the contacts,
which includes the current location of the user, blood group required is possible
with the “Blood Bank” feature.
VI. Nearest hospitals, Ambulance Service, Fire Station, Police Stations available can be
searched using the corresponding options provided in our application.
Steps to run Fill the login details in the page and click SUBMIT button
EC-CSE Dept
e-contact
EC-CSE Dept
e-contact
Steps to run Fill the invalid details in the page and click SUBMIT button
EC-CSE Dept
e-contact
Invalid Login
EC-CSE Dept
e-contact
EC-CSE Dept
e-contact
Setting:
EC-CSE Dept
e-contact
Police station:
EC-CSE Dept
e-contact
Fire station:
EC-CSE Dept
e-contact
Hospital:
EC-CSE Dept
e-contact
CONCLUSION
This system is aimed at providing a cheaper and secured way of maintain the details of
the User as well as the emergency. It helps the users to find the police station and the
corresponding services as per their requirement in less time and without any problem and also
the needed help. I will be improving the application by getting the hotline numbers dynamically
based on the location in which the user is present. With this feature incorporated, it would easy
for customer outside USA to use our application. As part of further development, we are also
planning to incorporate a feature to send a text message to 911.
EC-CSE Dept
e-contact
I. I will be improving the application by getting the hotline numbers dynamically based
on the location in which the user is present.
II. With this feature incorporated, it would easy for customer outside USA to use
our application. As part of further development, we are also planning to
incorporate a feature to send a
III. text message to 911.
EC-CSE Dept
e-contact
11. REFERENCES
http://www.w3schools.com/sql/
http://www.w3schools.com/php/
https://support.rackspace.com/white-paper/understanding-the-cloud-computing-stack-saas-paas-
iaas/
http://www.iisjaipur.org/iiim-current-
08/mca_iv_sem_pro_eva/15.project%20attendence%20managemnt%20system.pdf
http://en.wikipedia.org/wiki/Symbian Symbian
http://christoph33r.com/groupproject/techni cal.html
http://www.iisjaipur.org/iiim-current-08/MCA_IV_Sem_Pro_Eva/15.Project%20
Attendence%20managemnt%20system.pdf
https://edupediapublications.org/journals/index.php/IJR/article/view/7357/7137
https://www.projectworld.com
https://www.tutorialspoint.com
EC-CSE Dept