You are on page 1of 36

Child Monitoring Application

Abstract
The world is changing rapidly due to information technology, and all the people
around the world are busy with their jobs, and business, adjusting to this race.
Now, parents are giving more time at their business, office, and jobs, instead of
passing the time at home, but they always get worried and scared about their
children due to abuse of Information Technology and the country's law and order
situation. So, parents are wanted to track and monitor their child's activities and
location from anywhere to resolve their pressure. But is not possible for every
parent to monitor their child physically due to many reasons. This paper presents a
system that will help parents monitor their child activities from anywhere using a
mobile phone to solve the problem. This android app uses global positioning
system (GPS) and mobile services to find the child location and secretly stored all
the call logs, hort message service (SMS) logs, contact lists, and accurate locations
without knowing the children. Children assume that they are using Face book,
browsing the net or watching videos from YouTube. It will not hamper any
activities of the child. Parents can check all the activities of children using this app.

INTRODUCTION

Now daily 80% of individuals on the planet having smart phones use people for
different purposes. The most issue of child tracking system android application.
The android application uses SMS services and googles geo assistance in locating
the missing child’s location by the survey of missing children in 2004. There are of
total 5996 kids are missing. Out of those only 4092 children return or were found
by police. However, 1904 children are missed. And also the kid's ages 14 years and
17 years are missed or ran far from home. The oldsters are worried about their
children. By missing the youngsters the parents are scared to go on a family trip.
There are many chances to miss the child on the trip. The project is developed for
those parents who have worried to miss their child. In Today’s world, most of
Child’s have smart phones. With the assistance of smart phones, geo, and SMS-
based tracking applications parents can watch on their child. Geo is combined with
GSM-based SIM card into mobile to look at on Child's location. The google geo
uses longitude and latitude to trace the placement the SMS(Short Message
Service)is used to communicate child side and parent side applications. SMS
service is used when mobile phones don’t support internet connectivity. System
ready to send the child’s smart phone’s exact location in the parent's smart phone
when parent demand to test the child’s location.

SYSTEM ARCHITECTURE :
EXISTING SYSTEM:

 The application is not worked well when there is no network available. In that
case the application fails the exact location. But the application stores the last
location which can be stored at the database server. When mobile is switched
off then we consider this as a one of the drawback of system.
 Requires active internet connection.
 Child need to login once into the application.
 System will provide inaccurate results if data not entered correctly.

Applications:

 This application can be used by any parent who wants to track or monitor
their child without any physical interference.

PROPOSED SYSTEM:

 Parent could be able to track child using their separate android application
provided for the parent.
 Parent could track the location and also could get all the call logs, messages
and contact list from the child mobile phone.
 Parent can locate and retrieve details anywhere and anytime.
 Application automatically operates location requests without user interaction
because at that time child not have knowledge to update his location at map.
The system requires location and telephony services. Third advantage is it can
be used at indoors where GPS satellites connectivity is not available. At that
time, it can use network provides for location services.
 Network provider service uses cellular ID such as IMEI number for location
tracking. Lastly all the controls are in parent side. The child side has less
control access.

MODULES

1. Parent Modules

2. Admin Modules

3. Child Module

MODULE DESCRIBTION

1. Parent Module
Parent module consists of the next features like Create site details, View Google
geolocation, Manage sites, Block Site, Receive SMS & email. the appliance by
minimum runs the computer program, mostly for map tracking, also as a service
(Listener) that runs within the background of the smart phone application. On the
kid side, that's the client, the applying is usually a service or Listener that runs
within the background of the Smartphone. A user, the parent which acts as a
server, will use the interface to send a location request SMS to the child.
The Listener at the parent side performs one main function which is to pay
attention to the child’s reply to the placement request. However, the Listener on the
child side (client) performs two main functions. one in every one of these functions
is periodically to listen and gets location coordinates updates from GPS satellite or
Network provider whichever more accurate. Few elements and fewer user
interactions. this may lead to a system that's simple and simple to implement and
use, thus making it more user-friendly.
Primarily, we described the parent's section. To login into the system,
parents have to input all of the required information like a name, password, as
Figure 5. If all the information match with the database, then a guardian can be
able to login into the system, that a parent can track the current child location,
which shows the page of the GPS location of the child application, this is a real-
time location track from the child mobile.
Furthermore, a parent can check the call history from their children's mobile
phone to be aware of their childhood friends list and gossiping them. Besides this,
parents are also able to view the SMS history of their children and also can check
the internet browsing history from their children's mobile phone as which is very
important for a parent to monitor their children's all smartphone activities and
protected them from any misuse of Smartphone.

2. Admin Module
Admin module consists of the subsequent features like Monitor Emergencies SOS.

3. Child Module

Child module consists of the next features like Login, Search site, Update
Geolocation, SOS Button - For emergency, SMS responsive to parent, Add
Guardian - Email & Mobile No, Manage Guardian. the kid module is attached to
the child. Its primary role is to periodically receive messages and in response send
messages to the parent module and alert them if the kid is in peril. The kid module
also contains a buzzer alarm that sounds whenever the kid is alarmed. this enables
a parent to more easily locate the troubled child.

Software Requirements:

 Windows XP, Windows 7(ultimate, enterprise)


 Android Studio
 Visual Studio

Hardware Components:

 Processor – i3
 Hard Disk – 5 GB
 Memory – 1GB RAM
 Android Phone with Kitkat and higher

FLOW Diagram

DATA FLOW DIAGRAM


LITERATURE REVIEW
A smart mobile phone provides various up to date services to us. Using the global
positioning system (GPS), we can get to know our devices' geographic location and
give information through hort message service (SMS) service. Al-Mazloum et al.
used these two services in their proposed system. They introduced GPS and SMS-
based child tracking system using smart phone [12]. This paper describes how a
smart mobile phone helps parents track their children in real-time. Most kids and
parents use an android mobile phone, and they know the mobile phone's available
service. Their proposed system consists of two sides, the child side and the parent
side. A request SMS goes to the child's device to know the child's exact location
from the parent device. After getting the request SMS, the child's device replies to
the parent's device's GPS position.

Kothawade et al. [13] proposed a system “multi-platform application for parent


and school using GPS tracking”. In this paper, they developed a GPS based
application system for an organization and parents mobiles. The organization can
use this application for monitoring and tracking the location of the school buses.
Parents can get the addresses of their children and locate them on his/her mobile
devices. School authority also can monitor and track the school buses timely and
ensures the safety of children. It also allows parents to track real-time information
about the school bus during travels. Almomani et al. [14] proposed a system with
two types of applications a web application and a mobile application for a user
facility. A user can access this system at any time from anywhere.
There are two sides: client-server. The server-side carries a GPRS, a web, and an
SMS server, and the client-side contains a GPS tracker and a GPS modem. The
user information is stored in the database on the server-side [14]. There is another
similar concept used by Al-Suwaidi and Zemerly [15] in their proposed system
named “locating friends and family using mobile phones with a global positioning
system (GPS)”. They have also developed two approaches: the client-server
approach. This paper showed both clients have the same control and command
privileges, whereas the other system does not provide it.

Gao et al. [16] developed a security method named child guard on smart devices
for observing children's activities in real-time. Guardians used this system at a low
cost, and they can get better benefits by using this system. Satish et al. [17]
described their paper about an android application used to track missing children.
The android application works with two services: GPS and SMS service. The GPS
is used to track the location of the missing child. If GPS service is unable, the
application can work with SMS service by sending and receiving the message.
There is another paper where the researcher Bhoi et al. [18] implements a project
based on a particular area for each child. When the child comes out of this specific
area of their school, then an alert message sends to the parent's mobile phone by
using a panic switch. Saranya et al. [19] proposed a child monitoring system based
on android phones for the children's security. This system helps the parents to
know whether their children are safe or not. This system consists of two functions.
The software hand function monitors the child's activities, and the danger zone
function alerts the guardians about their children's location by using GPS sensors,
acceleration sensors, and mobile geographic information systems GIS.
Subramanian and Govindarajan, [20] discussed different type of Location
Prediction Techniques in their study. In this paper, they have used data mining
techniques to find mobile users' movements' locations. Kaittan et al. [21] designed
a monitoring system for infant baby in "Smart management system for monitoring
and control of infant baby bed”. This paper designed a baby bed with an intelligent
system and used the sensor to monitor the baby.

Okilas et al. [22] designed a “Location-based service for information publication


using GPS on android-based mobile phone”. In this paper, the difference in the
accuracy of the GPS readings used in mobile the shifting point is about 18 meters.
Table 1 shows recent child tracking researches, methods, and limitation of current
researches. In the discussion, most researchers focused on children monitoring
systems to protect them from any unwanted accident, missing, and making them
secure and safe. But in our research, we introduced a system that will be used to
save the children and be used to observe their mobile activities without children's
consent.

Software Description:

1. ANDROID
Android is a software stack for mobile devices that includes an operating system,
middleware and key applications. The Android SDK provides the tools and APIs
necessary to begin developing applications on the Android platform using the Java
programming language.

1.1. Architecture Diagram

The following diagram shows the major components of the Android


operating system. Each section is described in more detail below.
The main components of the Android architecture:

1. Applications:

These are applications written in Java. Some of basic applications


include a calendar, email client, SMS program, maps, making phone calls,
accessing the Web browser, accessing your contacts list and others.

2. Application Framework:

This is the skeleton or framework which all android developers have to


follow. The developers can access all framework APIs an manage phone’s
basic functions like resource allocation,  switching between processes or
programs, telephone applications,  and keeping track of the phone’s physical
location.

The architecture is well designed to simplify the reuse of components.


Think of the application framework as a set of basic tools with which a
developer can build much more complex tools.
3. Libraries:
This layer consists of Android libraries written in C, C++, and used by
various systems. These libraries tell the device how to handle different kinds
of data and are exposed to Android developers via Android Application
framework. Some of these libraries includes media, graphics, 3d, SQLite,
web browser library etc.

The Android runtime layer which includes set of core java libraries
and DVM (Dalvik Virtual Machine) is also located in same layer.

4. Runtime Android:
This layer includes set of base libraries that are required for java
libraries.  Every Android application gets its own instance of Dalvik virtual
machine. Dalvik has been written so that a device can run multiple VMs
efficiently and it executes files in executable (.Dex) optimized for minimum
memory.

5. Kernel – Linux:
This layer includes Android’s memory management programs, security
settings, power management software and several drivers for hardware, file
system access, networking and inter-process-communication. The kernel
also acts as an abstraction layer between hardware and the rest of the
software stack.

1.2. FEATURES
1. Application framework enabling reuse and replacement of
components.
2. Dalvik virtual machine optimized for mobile devices.
3. Integrated browser based on the open source Web Kit engine.
4. Optimized graphics powered by a custom 2D graphics library; 3D
graphics based on the OpenGL ES 1.0 specification (hardware
acceleration optional).
5. SQLite for structured data storage.
6. Media support for common audio, video, and still image formats
(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) .
7. GSM Telephony (hardware dependent).
8. Bluetooth, EDGE, 3G, and Wi-Fi (hardware dependent).
9. Camera, GPS, compass, and accelerometer (hardware
dependent).
10. Rich development environment including a device emulator,
tools for debugging, memory and performance profiling, and a
plugin for the Eclipse IDE

2. ANDROID SOFTWARE DEVELOPMENT TOOL KIT

Android SDK is a very useful tool that allows developers and users alike to
take more control of their devices. Was there ever a time, where you wanted to
add/remove something from your phone, but it just wouldn't let you? Have you
ever needed to test something that wasn't working, and you needed to find out
why? Ever encountered the most famous of lines "Permission Denied"? All of
those questions have been asked by many, and with this tutorial, I'm hoping to at
least answer some of the many questions surrounding Developing on an Android
device. There are many uses for Android SDK, which I hope to cover in this
instructional "blog" without boring you guys to death lol. Without getting to in-
depth at this point as to what SDK does, let's just go over a FEW benefits of using
SDK.

The Following kits are,

1. Debugging. SDK helps you in so many ways, one of the most beneficial being
debugging. If you're developing an app for your device, and you are running into
constant force closes, then you can fire up SDK and try to find out why.

2. Testing. If you don't feel quite comfortable with testing certain things on your
own device, Android SDK also allows you to use an emulator on your computer
with real life interactions to show you exactly what would happen if you
added/removed something from your device.

3. Rooting. Most of the Rooting techniques we have for the Epic consists of One
Click methods brought to you by smart Dev's that like to make things easier for
you. Before that, we had to manually push the files to the phone, and put them in
the correct places. Sometimes, people don't get so lucky with the One Click
method and must revert back to the "Prehistoric Method" lol.

4. Installing Apks. If you have an app that you want to put on your device, but
don't have the convenience of adding it with an application manager of some sort,
then you can always use the SDK to do so.

5. Adding/Removing Files. A lot of times, certain files managers don't show you
everything you need to see in order to do particular things you want to do. With
Android SDK, as long as you know the directory, you can move the files.
Sometimes, you may need to set permissions before hand, but that is also capable
with SDK.

There are MANY more options for the Android SDK, but I want to keep it
short and sweet and not bore you guys too much lol.

Some Basic SDK Commands

There are plenty of commands that you can use through SDK, but I will give
you a couple to help you with what you need to do. Before you can use any of the
commands, you will first need open Windows command prompt to CD to the
directory to which you installed your SDK. As I said before, I installed mine to my
C: Drive directly, so for me to CD to that directory, the command looks like this.

cd C:/SDK/Tools

To make it even easier, you can hold "Shift" and right click on the "Tools"
folder of your SDK and it should bring up a menu in which you can choose "Open
CommandPrompt". .

Here are a few basic commands to help you on your way.

1. adb shell - The adb shell command allows you to control your phone as root from
your command prompt terminal. When you type "adb shell", you will then be
prompted on your phone from Superuser to either allow or deny access. Should
you click deny, you will have to restart your phone, reconnect your phone to your
computer via USB cable, and start again, so MAKE SURE you click allow. Once
you click allow on your phone, your command prompt will return with the pound
symbol (#). If it does, you are now controlling your phone as a root user from your
computer. You can do a lot of things from this point here which I will cover in
another tutorial later, for now, we will just stick to the basics.

2. adb push - The adb push command allows you to transfer files from your
computer to your phone without having to mount your sdcard to your phone, copy
the file to your phone, then disconnect, and have to use a file manager to manually
put the file where you want it. In order to push ANY files to your phone, you
MUST have the file in your SDK/Tools folder already.
3. adb pull - The adb pull command can be used to pull various items from your
phone. A simple example of this command would be: adb pull
/system/framework/framework-res.apk /Desktop/Android/. You can pull just about
anything from your phone, but when I say just about, i mean exactly that. Just
about anything. There are certain things you will NOT be able to pull, such as
items that are packed inside compressed files (I.E. anything inside a Kernel).

4. ddms - The ddms command allows you to debug your phone in one of the many
ways. You can also use the ddms command to take screenshots of your phone
should you want to show it off .

ADT Plug-in
Android Development Tools (ADT) is a plug-in for the Eclipse IDE
that is designed to give you a powerful, integrated environment in which to build
Android applications.

ADT extends the capabilities of Eclipse to let you quickly set up new
Android projects, create an application UI, add packages based on the Android
Framework API, debug your applications using the Android SDK tools, and even
export signed (or unsigned) .apk files in order to distribute your application.

Developing in Eclipse with ADT is highly recommended and is the


fastest way to get started. With the guided project setup it provides, as well as tools
integration, custom XML editors, and debug output pane, ADT gives you an
incredible boost in developing Android applications.
This document provides step-by-step instructions on how to download
the ADT plug-in and install it into your Eclipse development environment. Note
that before you can install or use ADT, you must have compatible versions of
both the Eclipse IDE and the Android SDK installed. For details, make sure to
read installing the Eclipse Plug-in.

If you are already using ADT, this document also provides instructions
on how to update ADT to the latest version or how to uninstall it, if necessary.
Features, SDK tool integration, and the graphical layout editor (for drag-
and- drop layout editing),

Features of Java
Java is a new computer programming language developed by Sun
Microsystems. Java has a good chance to be the first really successful new
computer language in several decades. Advanced programmers like it because it
has a clean, well-designed definition. Business likes it because it dominates an
important new application, Web programming.

Java Has Several Important Features:

 A Java program runs exactly the same way on all computers. Most other
languages allow small differences in interpretation of the standards.
 It is not just the source that is portable. A Java program is a stream of bytes
that can be run on any machine. An interpreter program is built into Web
browsers, though it can run separately. Java programs can be distributed
through the Web to any client computer.

 Java applets are safe. The interpreter program does not allow Java code
loaded from the network to access local disk files, other machines on the
local network, or local databases. The code can display information on the
screen and communicate back to the server from which it was loaded.

A group at Sun reluctantly invented Java when they decided that existing
computer languages could not solve the problem of distributing applications over
the network. C++ inherited many unsafe practices from the old C language. Basic
was too static and constrained to support the development of large applications and
libraries.

Today, every major vendor supports Java. Netscape incorporates Java support in
every version of its Browser and Server products. Oracle will support Java on the
Client, the Web Server, and the Database Server. IBM looks to Java to solve the
problems caused by its heterogeneous product line.

The Java programming language and environment is designed to solve a


number of problems in modern programming practice. It has many interesting
features that make it an ideal language for software development. It is a high-level
language that can be characterized by all of the following buzzwords:

FEATURES

 Simple
 Object-oriented

 Distributed

 Robust

 Secure
 Architecture Neutral

 Portable

 Interpreted

 High performance

 Multithreaded

 Dynamic.

The various technologies used in the software system are

Client-Server Architecture

Over the years there have been 3 different approaches to application development

 Traditional Approach

 Client/Server Approach

 Component-based Approach

In a traditional approach there was a single application that handles


the presentation logic, business logic, and database interactivity. These
applications were also called Monolithic applications. The drawback of this
approach was that if even a minor change, extension, or enhancement was required
in the application, the entire application had to be recompiled and integrated again.

Due the disadvantage of the traditional approach, the client/Server


architecture (also called 2-Tier Architecture) was introduced. In this architecture,
the data is separated from the client-side and is stored at a centralized location that
acts as a server. The business logic is combined with the presentation logic either
at the client- side or at the server-side that has the database connectivity code.
If the business logic is combined with the presentation logic at the
client-side, the client is called a fat client.If the business logic is combined with the
database server, the server is called a fat server.

Thus a 2-tiered architecture divides an application into 2 pieces:

 The GUI (client)


 Database (server).

14

The client sends a request to the server. The server being a more powerful
machine does all the fetching and processing and returns only the desired result set
back to the client for the finishing touches. In effect, weaker machines virtually
have a shared access to the strength of the server at the back-end. Faster execution
at the server side results in less network traffic and increased response time for the
program to fetch and process the data.

However the client/server architecture also had certain disadvantages:

 Any change in the business policies required a change in the business logic.
To change the business logic, either the presentation logic or database
connectivity code has to be changed, depending on the location of the
business logic.

 Applications developed using 2-Tier architecture might be difficult to scale


up because of the limited number of database connections available to the
client. Connections requests beyond a particular limit are simply rejected by
the server.

The disadvantages with the client/server architecture led to the


development of the 3-Tier Architecture. In 3-Tier architecture, the presentation
logic resides at the client-side, the database is controlled by the server-side, and
the business logic resides between the two layers. This business logic layer is
referred to as the application server (also called middle-tier of component based
architecture).This type of architecture is also called server-centric.

Since the middle-tier handles the business logic, the work load is
balanced between the client, the database server, and the server handling the
business logic. This architecture also provides efficient data access. The
problem with database connection limitation is minimized since the database
sees only the business logic layer and not all its clients.

In the case of a two-tier application, a database connection is established early


and is maintained, where as in a three-tier application, a database connection is
established only when data access is required and releases as soon as the data is
retrieved or sent to the server.

The application where the presentation logic, the business logic, and
the database reside on multiple computers is called distributed application.

Features of Java Programming Language

Java technology is both a programming language and a platform.

The Java Platform

A platform is the hardware or software environment in which a


program runs. We have already mentioned some of the most popular platforms
like Microsoft Windows, Linux,Solaris OS, MacOS. Most platforms can be
described as a combination of the operating system and underlying hardware. The
Java platform differs from most other platforms in that it’s a software-only
platform that runs on top of other hardware=based platforms.

The Java platform has two components:

 The Java Virtual Machine

 The Java Application Programming Interface(API)

The API is a large collection of ready-made software components


that provide many useful capabilities. Such as graphical user
interface(GUI)widgets. It is grouped into libraries of related classes and interfaces;
these libraries are known as packages. The next section, what can Java
Technology Do?, highlights some of the functionality provided by the API.

The following figure depicts how the API and the Java Virtual Machine
insulate the program from the hardware.

17

As a platform-independent environment, the Java platform can be a bit slower


than native code. However, advances in compiler and virtual machine
technologies are bringing performance close to that of native code without
threatening portability.
 The general-purpose, high-level Java programming language is a powerful
software platform. Every full implementation of the Java platform gives you
the following features:

 Development Tools: The development tools provide everything you’ll need


for compiling, running, monitoring, debugging, and documenting your
applications. As a new developer, the main tools you’ll be using are the
Java compiler(javac), the Java launcher (java), and the Java documentation
tool (javadoc).

 Application Programming Interface(API): The API provides the core


functionality of the Java programming language. It offers a wide array of
useful classes ready for use in your own applications. It spans everything
from basic objects, to networking and security, to XML generation and
database access. The core API is very large, to get an overview of what it
contains, consult the release documentation liked to at the bottom of this
page.

 Development Technologies: The JDK provides standard mechanisms, such


as Java Web Start and Java Plug-In, for deploying your applications to end
users.

 User Interface Toolkits: The Swing and Java 2D toolkits make it possible to
create sophisticated Graphical User Interfaces(GUIs).

 Integration Libraries: Integration libraries such as IDL, JDBC, JNDL,RMI,


and RMI-IIOP, enable database access and manipulation of remote objects.
18

Features of the Java Technology

 Write less code: Comparisons of program metrics (class counts, method


counts, and so on) suggest that a program written in the Java programming
language can be four times smaller than the same program in C++.

 Write better code: The Java programming language encourages good


coding practices, and its garbage collection helps you avoid memory leaks.
Its object orientation, its JavaBeans component architecture, and its wide-
ranging, easily extendible API let you reuse other people’s tested code and
introduce fewer bugs.

 Develop programs more quickly: Your development time may be as much


as twice as fast versus writing the same program in C++. Why? You write
fewer lines of code and it is a simpler programming language than C++.

 Avoid platform dependencies: You can keep you program portable by


avoiding the use of libraries written in other languages.

 Write one, run anywhere: Because java applications are compiled into
machine-independent bytecodes, they run consistently on any Java platform.

 Distribute software more easily: With Java Web Start technology, users will
be able to launch your applications with a single click of the mouse. An
automatic version check at startup ensures that users are always up to date
with the latest version of your software. If an update is available, Java Web
Start will automatically upgrade their installation.

TESTING AND IMPLEMENTATION

TESTING

Testing is a series of different tests that whose primary purpose is to fully


exercise the medicine based system. Although each test has a different purpose, all
work should verify that all system element have been properly integrated and
performed allocated function. Testing is the process of checking whether the
developed system works according to the actual requirement and objectives of the
system.

The philosophy behind testing is to find the errors. A good test is one that
has a high probability of finding an undiscovered error. A successful test is one
that uncovers the undiscovered error. Test cases are devised with this purpose in
mind. A test case is a set of data that the system will process as an input. However
the data are created with the intent of determining whether the system will process
them correctly without any errors to produce the required output.

Types of Testing:

 Unit testing

 Integration testing

 Validation testing

 Output testing
 User acceptance testing

Unit Testing

All modules were tested and individually as soon as they were completed
and were checked for their correct functionality.

Integration Testing

The entire project was split into small program; each of this single programs
gives a frame as an output. These programs were tested individually; at last all
these programs where combined together by creating another program where all
these constructors were used. It give a lot of problem by not functioning is an
integrated manner.

The user interface testing is important since the user has to declare that the
arrangements made in frames are convenient and it is satisfied. when the frames
where given for the test, the end user gave suggestion. Based on their suggestions
the frames where modified and put into practice.

Validation Testing

At the culmination of the black box testing software is completely assembled as a


package. Interfacing errors have been uncovered and corrected and a final series of
test i.e., Validation succeeds when the software function in a manner that can be
reasonably accepted by the customer.

Output Testing

After performing the validation testing the next step is output testing of the
proposed system. Since the system cannot be useful if it does not produce the
required output. Asking the user about the format in which the system is required
tests the output displayed or generated by the system under consideration. Here the
output format is considered in two ways. one is on screen and another one is
printed format. The output format on the screen is found to be corrected as the
format was designed in the system phase according to the user needs. And for the
hardcopy the output comes according to the specifications requested by the user.

Performance Testing

This project is a application based project, and the modules are


interdependent with the other modules, so the testing cannot be done module by
module. So the unit testing is not possible in the case of this driver. So this system
is checked only with their performance to check their quality.

Sample Code:

package com.ktg.gallery.Adapter;

import android.content.Context;

import android.content.Intent;

import android.util.Log;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.TextView;
import androidx.annotation.NonNull;

import androidx.appcompat.widget.AppCompatImageView;

import androidx.cardview.widget.CardView;

import androidx.localbroadcastmanager.content.LocalBroadcastManager;

import androidx.recyclerview.widget.RecyclerView;

import com.ktg.gallery.Models.location;

import com.ktg.gallery.R;

import java.util.List;

public class UserAdapter extends


RecyclerView.Adapter<UserAdapter.MyViewHolder>{

private List<location> getUsers;

Context ctx;

public UserAdapter(List<location> getUsers, Context ctx) {

this.getUsers = getUsers;
this.ctx = ctx;

@NonNull

@Override

public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int


viewType) {

View itemView = LayoutInflater.from(parent.getContext())

.inflate(R.layout.adapter_location, parent, false);

return new MyViewHolder(itemView);

@Override

public void onBindViewHolder(@NonNull MyViewHolder holder, int position)


{

location am=getUsers.get(position);

Log.e("loc",am.getClat()+","+am.getClong());

holder.tvDisplayName.setText(am.getClat()+","+am.getClong());
holder.tvRole.setText("DATE: "+am.getCreateDate());

holder.CardView.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

Intent intent = new Intent("LOC_Event");

intent.putExtra("Id",holder.tvDisplayName.getText().toString());

LocalBroadcastManager.getInstance(ctx).sendBroadcast(intent);

});

@Override

public int getItemCount() {

return getUsers.size();

@Override
public long getItemId(int position) {

return position;

@Override

public int getItemViewType(int position) {

return position;

public class MyViewHolder extends RecyclerView.ViewHolder {

TextView tvDisplayName,tvUserName,tvPermission,tvRole;

AppCompatImageView CardView;

public MyViewHolder(@NonNull View itemView) {

super(itemView);

tvDisplayName = itemView.findViewById(R.id.tvDisplayName);

tvRole = itemView.findViewById(R.id.tvRole);

CardView = itemView.findViewById(R.id.cv);

}
}

CONCLUSION
The word Future resembles the word Children. The future pillars of one’s
nation", today's children are tomorrow's youngsters, preserving their dreams and
life for a better future is necessary. Therefore, every parent should take care of
their children, without letting them fall into the dark world of abuse, which entirely
ruins them physically, mentally, and emotionally destroying our future. Hence,
considering the importance of our future, our project makes it easy for parents to
track their children and to visually monitor them on regular basis, which makes
them ensure the safety of their children and reduces the rate of incidents of child
abuse. It is a big benefit for the parents that many children are using smartphone
while in school, and that is why the guardian can monitor the children's activities
and track the children through accessing smartphone, which is very important for
busy guardians. This paper presented research that will help guardians monitor
their child activities from anywhere using smartphone whenever they want from
any location. They can also check their children current location, which websites
they have visited, how many calls. They have given to friends or others the SMS
logs and which video they have watched without informing and hampering the
children's activities to be aware of their child activities in the future if they find any
terrible habit of their children. This app is very useful for parents to monitor their
children and to resolve their mental pressure
BIBLIOGRAPHY

1) William Grosso, “JAVA”, O'Reilly Media, Inc.; 1 edition, 2001


2) John Zukowski, “Definitive Guide to Swing for Java 2”,1999
3) Roger S.Pressman, “SOFTWARE ENGINEERING –A PRACTIONERS
APPROACH “, Tata McGraw Hill Publishing Company, 1997.
4) JAVA 2 Platform, standard Edition, V 1.3.1 API Specification
5) Java RMI: Remote method Invocation(Paperback) Troy Bryan Downing
6) Patrick Naughton “The Java Hand Book” Tata McGraw Hill, 2006
7) Mark Grand and Jonathan Knudsen, “Java Fundamental Classes
Reference”, Tata McGraw-Hill Publishing Company Limited, 1st
Edition, May 1997.

8) Dietel & Deitel, Java How To Program, BPB Publishers, New Delhi,
2000.

9) O’reilly, Java Swings, Tata McGrawHill, Fifth Edition, 2002.

Websites
 www.java.sun.com
 www.samba.org
 http://www.db.cs.ucdavis.edu
 Java Database Programming Bible.
 Principles of Database Systems With Internet and Java Applications
 www.microsoft.com
 www.smartdraw.com
 www.laynetworks.com

REFERENCES
[1]AkashMoodbidri, Hamid Shahnasser, ”Child Safety Wearable Device”,
Department of Electrical and Computer Engineering San Francisco State
University.
[2]AnandJatti, MadhviKannan, Alisha RM, Vijayalakshmi P, ShresthaSinha, "
Design and Development of an IOT based wearable device for the Safety and
Security of women and girl children “, IEEE International Conference On Recent
Trends In Electronics Information Communication Technology, May 20-21, 2016,
India
[3] "RFID-based System for School Children Transportation Safety Enhancement
", Proceedings of the 8th IEEE GCC Conference and Exhibition, Muscat, Oman, 1-
4 February 2015.

[4]Dr.R.Kamalraj,” A Hybrid Model on Child Security and Activities Monitoring


System using IoT”, IEEE Xplore Compliant Part Number: CFP18N67-ART;
ISBN:978-1-5386-2456-2.
[5]Pooja. K.Biradar1, Prof S.B.Jamge2,” An Innovative Monitoring
Application for child Safety”, DOI:10.15680/IJIRSET.2015.0409093.

You might also like