Sie sind auf Seite 1von 20



A project report submitted to University of Kerala in

Partial fulfillment of award of the degree of Bachelor of Computer Science

Submitted by

Name of student Candidate Code


2. SHERINA J 32014952039

3. BINURAJ B 32014952016

Examination Code:

Subject Code:

Under the guidance of Mr. BOSS PIOUS




Recent researchers have identified mobile handheld devices as a possible tool for
effective crime detection and reporting .Technological advancements have led to the
invention of extremely powerful mobile handheld devices and have brought about large and
high speed data transfer capabilities through mobile communication networks. Functions of
mobile devices have evolved from merely making calls to performing complex computations
over the past three decades. Different incidents happen every day. This includes less serious
cases such as theft, quarrels and shoplifting to more abusive acts such as rape and homicide.
Whatever the case is, it is very necessary to inform the authorities to make an immediate
action to resolve the issue and, at least, formulate some prevention methods to lessen its
occurrences. The main goal of this project is to design and develop an android mobile
application Crime Reporting And Helpline that is primarily used to report incidents
directly to the authorities.The Crime Stoppers App makes anonymously reporting crime
information as easy as pressing a few buttons on your mobile device. Users can submit video,
photo, and email tips. App can upload their area's "Most Wanted" criminals to the app and
users can directly submit tips to aid in the capture of these criminals. It is a crime solving and
prevention service involving Police Service, the media and the public.

1.1 Problem Statement

The existing process used by police department where the study was conducted is
traditional. The incident report comes either it is reported walk-in or thru texting or
calling.Currently, authorities are still using the typical blotter reporting system. Persons
involved, time and date the incident happened, and motive of the offender or suspect and the
narrative on how it happened are viable information collected from the reporter to be used
for further investigation. Somost people opted not to report an incident due to privacy
concerns. People value much of their identity to avoid further engagement with the
investigation. Moreover, many of them do not want to spend time going to police stations
which may affect their productivity and resources. Another challenge identified in the
existing system during the conduct of this study is that police officers will still respond to a
reported incident, even it is not yet clearly identified if it’s a false alert or real. They will
have to verify the reality upon arriving at the reported location where the incident happened,
thus spending their resources on an unsure rescue

1.2Overview of the project

The Crime Reporting And Helpline Mobile App makes anonymously reporting
crime information as easy as pressing a few buttons on your mobile device. It is a crime
solving and prevention service involving Police Service, the media and the public. Crime
Stoppers relies on cooperation between the police, the media, and the general community to
provide a flow of information about crime and criminals. The Mobile App allows tipsters to
upload photos or video and is able to send the location of the video by a GPS locator.It is
important to remember that the information provided may lead to the accused person being
taken into custody or their homes searched by the police. These are serious matters and
obviously police need to make sure they can validate as much of the information as possible.
Whilst the arrest of offenders is a pleasing result, the supply of intelligence data for
dissemination is also of equal value. The main goals for developing this app are:

 A greater awareness in the community that there is a crime problem.

 A willingness by the community to fight back against crime if it is given the
opportunity and motivation.
 Improved relationships between police, media, and the community.

1.3 Application Overview

The mobile application framework shows how the reporter will send a witnessed incident.
Upon witnessing an incident, the reporter shall open the application, which will then pop up a
warning message on the proper usage of the application with its terms and conditions to avoid
false reports. If the user declines on these statements, then the application will automatically
close, otherwise, the application will take theuser to capture the incident. After capturing the
incident, the app will redirect the user to click on the Send button, which then sends the
viable information to the server including the sender’s current location and phone number,
which was automatically retrieved from the user’s phone. The incident report will then be
markedas pending. If the report has been confirmed by police officers to be true upon further
validation, then the user will receive a notification informing that the incident report was
Figure shows the system overview of the application. This demonstrates the interaction of the
reporter with the server side application. All the information sent by the reporter will be
stored in the database temporarily and will be marked by its status as pending. This
information will be retrieved by the application server in the police department. When the
police department confirmed that the reported incident is valid, the information from the
temporary storage table will be stored in a permanent table and its status will be marked as
‘confirmed’. Reporters with confirmed reports will then receive a notification of


Introduction to Java

Java is a programming language created by James Gosling from Sun Microsystems (Sun) in
1991. The first publicly available version of Java (Java 1.0) was released in 1995. Sun
Microsystems was acquired by the Oracle Corporation in 2010. Over time new enhanced
versions of Java have been released. The current version of Java is Java 1.7 which is also
known as Java 7. From the Java programming language the Java platform evolved. The Java
platform allows software developers to write program code in other languages than the Java
programming language and still runs on the Java virtual machine. The Java platform is
usually associated with the Java virtual machine and the Java core libraries.

Java Virtual machine

The Java virtual machine (JVM) is a software implementation of a computer that executes
programs like a real machine. The Java virtual machine is written specifically for a specific
operating system, e.g. for Linux a special implementation is required as well as for Windows.

Java Runtime Environment vs. Java Development Kit

A Java distribution comes typically in two flavors, the Java Runtime Environment (JRE) and
the Java Development Kit (JDK).The Java runtime environment (JRE) consists of the JVM
and the Java class libraries and contains the necessary functionality to start Java programs.
The JDK contains in addition the development tools necessary to create Java programs. The
JDK consists therefore of a Java compiler, the Java virtual machine, and the Java class

Characteristics of Java

The target of Java is to write a program once and then run this program on multiple operating

Java has the following properties:

Platform independent: Java programs use the Java virtual machine as abstraction and do
not access the operating system directly. This makes Java programs highly portable. A Java
program (which is standard complaint and follows certain rules) can run unmodified on all
supported platforms, e.g. Windows or Linux.

Object-orientated programming language: Except the primitive data types, all elements
in Java are objects.

Strongly-typed programming language: Java is strongly-typed, e.g. the types of the used
variables must be pre-defined and conversion to other objects is relatively strict, e.g. must
be done in most cases by the programmer.

Interpreted and compiled language: Java source code is transferred into the byte code
format which does not depend on the target platform. These byte code instructions will be
interpreted by the Java Virtual machine (JVM). The JVM contains a so called Hotspot-
Compiler which translates performance critical byte code instructions into native code

Automatic memory management: Java manages the memory allocation and de-allocation
for creating new objects. The program does not have direct access to the memory. The so-
called garbage collector deletes automatically objects to which no active pointer exists.

Android is a software platform and operating system for mobile devices. Android is available
as open source. It allows developers to write managed code in the Java language, controlling
the device via Google-developed Java libraries.

Android SDK was released by Open Handset Alliance in the month of November of the year
2007. Android is actually developed using the kernel of Linux 2.6 and the highlighting
features of Android include the following

• No fees for licensing, distribution and release approval

• Background processes and applications
• Shared data stores
• Complete multimedia hardware control
• API’s for location based services such as GPS.
Architecture of Android OS

The skeleton of Android framework and its constituents are shown in the following figure:

Figure: Architecture of Android OS

Applications Layer
Android ships with a set of core applications including an email client, SMS program,
calendar, maps, browser, contacts and others. All applications are built using the Java. Each
of the application aims at performing a specific task that it is actually intended to do.

Application Framework Layer

The next layer is the application framework. This includes the programs that manage the
phone’s basic functions like resource allocation, telephone applications, switching between
processes or programs and keeping track of the phone's physical location. Application
developers have full access to Android's application framework. This allows them to take
advantage of Android's processing capabilities and support features when building an
Android application. We can think of the application framework as a set of basic tools with
which a developer can build much more complex tools.
Libraries Layer
The next layer contains the native libraries of Android. These shared libraries are all written
in C or C++, compiled for the particular hardware architecture used by the phone and
preinstalled by the phone vendor.
Android Runtime Layer

Android Runtime layer includes Dalvik Virtual Machine (DVM) and a set of core java
Every Android app gets its own instance of DVM. Dalvik has been written so that a device
can run multiple virtual machines efficiently and it executes files with .dex (Dalvik
Executable Format) extension optimized for minimum memory.

Components of Android

The basic components of an Android application include Activity, Broadcast Receiver,

Service, and Content Provider. Each of these which when used forany application has to be
declared in the AndroidManifest.xml. The user interface of the component is determined by
the Views. For the communication among these basic components we use Intents and Intent
filters which play crucial role during app development.


Broadcast Content
Activity Service
Receiver Provider
Figure: Structure of Android Components

An Activity is, fundamentally, an object that has a lifecycle. An Activity is a chunk of code
that does some work; if necessary, that work can include displaying a UI to the user. It
doesn't have to, though-some Activities never display UIs. Typically, we will designate one
of our application's Activities as the entry point to our application.

Broadcast Receiver
Broadcast Receiver is yet another type of componentthat can receive and respond to any
broadcast announcements.
A Service is a body of code that runs in the background. It can run in its own process, or in
the context of another application's process, dependingon its needs. Other components "bind"
to a Service and invoke methods on it via remote procedure calls. An example of a Service is
a media player; even when the user quits the media-selection UI, she probably still intends for
her music to keep playing. A Service keeps the music going even when the UI has completed.

Content Provider
Content Provider is a data storehouse that providesaccess to data on the device; the classic
example is the Content Provider that's used to access the user's list of contacts. Our
application can access data that other applications have exposed via a Content Provider, and
we can also define our own Content Providers to expose data of our own.
Location based Services in Android

Android's Network Location Provider determines user location using cell tower and Wi-Fi
signals, providing location information in a way that works indoor and outdoor, responds
faster, and uses less battery power. The purpose of location-based services is to find the
Physical location of the device. Access to the location-based services is handled by the
Location Manager system Service. To access the Location Manager, request an instance of
the LOCATION_SERVICE using the get System Service () method. Current Location can be
fetched using GPS (Global Positioning System).
The Global Positioning System (GPS) uses a constellation of 24 satellites orbiting the earth.
GPS finds the user position by calculating differences in the times the signals, from different
satellites, take to reach the receiver. GPS signals are decoded, so the smart phone must have
in-built GPS receiver. To get access to GPS hardware of android we request using following
statement LocationManager.GPS_PROVIDER;

Figure: Architecture of A-GPS System



Software Requirement Specification (SRS) is the starting point of the software

development activity. It is a complete description of the behavior of a system which is to be
developed. The SRS document enlists all necessary requirements for project development. To
derive the requirements we need to have clear and thorough understanding of the product
which is to be developed. This is prepared after detailed communication with project team
and the customer.

A SRS is a comprehensive description of the intended purpose and environment

for software under development. The SRS fully describes what the software will do and how
it will be expected to perform.

An SRS minimizes the time and effort required by developers to achieve desired goals and
also minimizes the development cost. A good SRS defines how an application will interact
with system hardware, other programs and human users in a wide variety of real-world

Characteristics of SRS:

 Correct - An SRS is correct if, and only if, every requirement stated therein is one
that the software shall meet. Traceability makes this procedure easier and less prone
to error.
 Unambiguous - An SRS is unambiguous if, and only if, every requirement stated
therein has only one interpretation. As a minimum, this requires that each
characteristic of the final product be described using a single unique term.
 Verifiable – It is verifiable if there exists some finite cost-effective process with
which a person or machine check whether software product meets requirements.
 Consistent - Consistency refers to internal consistency. If an SRS does not agree with
some higher-level document, such as a system requirements specification, then it is
not correct. An SRS is internally consistent if, and only if, no subset of individual
requirements described in it conflict.
 Modifiable – SRS is said to be modifiable if its structure and style are such that any
changes to the requirements can be made easily, completely and consistently while
retaining the structure and style.
 Traceable – SRS is said to be traceable if the origin of each of its requirements is
clear and it facilitates the referencing of each requirement in future enhancement.
 Ranked for importance or stability – SRS is ranked for importance or stability if
each requirement in it has an identifier to indicate either the importance or stability of
that particular requirement.


 Any Android Enabled Handheld

 Android OS Version : Gingerbread & Above


 Server Side : Web Server – Apache 1.2, Apache 2.x

 Server Side : Database Server – MySQL 4.1 or higher
 Server Side : PHP – PHP 4.4.0 or higher (5.2 recommended)
 Client End : Android Studio


System design is the solution to the creation of a new system. This phase is composed of
several systems. This phase focuses on the detailed implementation of the feasible system. It
emphasis on translating design specifications to performance specification is system design.
System design has two phases of development logical and physical design.

During logical design phase the analyst describes inputs (sources), outputs (destinations),
databases (data stores) and procedures (data flows) all in a format that meats the uses
requirements. The analyst also specifies the user needs and at a level that virtually determines
the information flow into and out of the system and the data resources. Here the logical
design is done through data flow diagrams and database design.

The physical design is followed by physical design or coding. Physical design produces the
working system by defining the design specifications, which tell the programmers exactly
what the candidate system must do.

The programmers write the necessary programs that accept input from the user, perform necessary
processing on accepted data through call and produce the required report on a hard copy or display it
on the screen.

Crime Stopper Process is divided as follows:

A. Registration:

User will do registration in an Android application on his/her mobile. User will fill the
details of Full Name, Phone/Mobile number, Aadhar UID number (Aadhar number need to
unique, no reparation allowed), Email-Id, Password. Then the user information will be added
to the Database.
B. Login:

Once the user is registered, user can login into system using username and password. The
username will be user’s email-id provided at the time of registration process. Afterwards user
can change the password and update their profile.

C. Search Crime:

The User will search the desired location for which user wants to see the crime data. User can
even search the crime by its type like robbery, murder, homicide etc. The user will be able to
the see the data through markers on the map.

D. View Emergency Numbers:

The user can view the emergency numbers of nearby Police outposts, Hospitals, Fire-
Brigades and can use it if user sees some crime or got stuck him.

E. Post Live Crime:

User can post the recently happened live crime status by filling details of the crime. These
details will first go to the admin side. Admin then will verify these details with the help of
nearby police outcast of that location. After verifying that the details are correct, admin then
will update the database and user can see that details of crime as well.

F. Logout:

At the end, users can simply logout just by clicking logout button provided on the page.

Context level DFD

Crime Stopper
User Send reply User
Send Request 0

DFD Level 1

User info

User id and password

Invalid user name or

Fill area and complaint

Reference No


Crime info
DFD Level 2

Login Invalid user name or

Send user request

Send user request

Crime close Crime process


Close crime

Crime description


Complaint Table

Police_complaint Table

Police station Table



The architecture of the mobile crime reporting application is client-server. The client side is a
mobile application running on the handheld device of the user (general public).The user ca n
report a crime by pressing the Button and the nearest police station receives the crime
incident notification as a pop up on the screen. .The running on the users handheld device
communicate directly with the server; retrieving in real time the crime incident reports that
the user reported. The basic architecture of the mobile application is shown below.


1. Start the Crime Stopper App.

2. If the user is logging into the application for first time, then Sign Up.

2.1 Provide the required details and sign up.

2. Else
3. Sign In to the application providing email id and password.

4. On signing in, the user can select from his choice one of the four options.

5. If the user selects Register Complaints

6.1 Select the complaint type.

6.2 Select GPS coordinates and Capture Image.

6.3 Provide any additional information if available.

6.4 Register Complaint

7. Else if the user selects Complaint Status

7.1 The user can view the statuses of the complaints registered by him.

8. Else if the user selects Emergency Calling

8.1 The user can call Police, Fire Force, Ambulance or Control Room.

9. Else if the user selects User Guide

9.1 The user can view the instructions for installing and using the app.

10. After the use, user can log out from the application.

The Crime Stoppers App makes anonymously reporting crime information as easy as
pressing a few buttons on your mobile device. Existing process used by the police
departments in receiving blotter reports is still in the traditional process. Currently, all the
respondents have showed a clear manifestation that the use of the traditional blotter reporting
is carried. No indication of technology enhancement of the process is manifested. Moreover,
the challenges with the existing process include human factors such as the
delayedinformation dissemination, and protection of personal identity and privacy. The
further challenge includes the validation of the report, thus spending the rescue time to an
unidentified and unsure incident. In this context, applications developed are indeed helpful in
making incident report faster and convenient to the end users. Lastly, the features
implemented in the application and servers are very helpful and reliable to both public and
the authorities. These features increase the productivity of both parties to solve the case as
soon as possible, hence reducing unreported incidents.

The proposed system can reduce the communication gap between the local police and
the people (Users) and we created the communication bridge between them by keeping all the
data on the remote server which can be accessible at any time by the both user and the
police. This gives flexibility to the user in terms of saving their time to go to police station
and register a complaint. And another advantage is that everyone can help the police by
posting a crime immediately not only to the police but also aware among themselves and the
post is verified by the police.