Sei sulla pagina 1di 53

Government Engineering College, Hassan-573 201

Visvesvaraya Technological University, Belgaum


Project Report on
WinDroid Application for
e-Attendance
4GH10CS029 POOJA B.S
4GH10CS046 SHRAVYA KUMARI M
4GH09CS001 AKSHAY B.M
4GH08CS037 PRATHAP C.P
Under the Guidance of
Dr. K.C. Ravishankar
B.E.,M.Tech.,Ph.D.
Professor and Head
Dept. Of Computer Science & Engineering
Government Engineering College, Hassan
Department Of Computer Science & Engineering
Government Engineering College Hassan
June, 2014
Government Engineering College, Hassan 573 201
Visvesvaraya Technological University, Belgaum
Certicate
This is to certify that the project work entitled WinDroid Application for e-
Attendance is a bonade work carried out by POOJA B.S (4GH10CS029),
SHRAVYA KUMARI M (4GH10CS046), AKSHAY B.M (4GH09CS001) and
PRATHAP C.P (4GH08CS037) in partial fulllment of the award of the degree of
Bachelor of Engineering in Computer Science Engineering of Visvesvaraya Technological
University, Belgaum, during the year 2013 - 2014. It is certied that all corrections /
suggestions indicated during internal evaluation have been incorporated in the report.
The project report has been approved as it satises the academic requirements in respect
of the project work prescribed for the Bachelor of Engineering Degree.
Guide and Head of the Department
Dr.K.C.Ravishankar
B.E.,M.Tech.,Ph.D.
Professor and Head ,Dept.of CS&E
GEC, Hassan
Principal
Dr.Karisiddappa
B.E.M.Tech.,Ph.D.
Principal
GEC, Hassan 573 201
Date :
Place : Hassan
Examiners : 1.
2.
Acknowledgement
At the outset we express our most sincere grateful thanks to our
Guide, Dr. K. C. Ravishankar, Professor and Head, Department of
CS & E, for his continous support and advice not only during the course of
our project but also during the period of our stay in GECH.
We wish to express thanks to our beloved Principal, Dr. Karisiddappa,
for encouragement throughout our studies.
Finally we express our gratitude to all teaching and non-teaching sta of
Deptartment of CSE, our fellow classmates and our parents for their timely
support and suggestions.
POOJA B.S[4GH10CS029]
SHRAVYA KUMARI M[4GH10CS046]
AKSHAY B.M[4GH09CS0001]
PRATHAP C.P[4GH08CS037]
i
Table of Contents
Table of Contents ii
List of Tables iii
List of Figures iii
Abstract iv
1 Introduction 1
1.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.5 Organization of the report . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Introduction to Android and Biometric Device 4
2.1 Android Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Application Building Blocks . . . . . . . . . . . . . . . . . . . . . . . . . 11
3 Requirements 21
3.1 Software Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Hardware Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4 Design and Implementation 27
4.1 Architectural Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5 Result and Analysis 40
6 Conclusions and Future Enhancement 44
6.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.2 Future Enhancement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
ii
References 45
Appendices 46
A Conguring Android Development Environment 46
A.1 Installing Android SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
A.2 Creating an Android Application . . . . . . . . . . . . . . . . . . . . . . 47
List of Tables
List of Figures
2.1 Architecture of Andriod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Biometric Device for Fingerprint . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3 Biometric Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4 Fingerprint Scanner work . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5 Biometric Fingerprint Scanner . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.6 Blue-tooth device used for connection . . . . . . . . . . . . . . . . . . . . . . 17
4.1 Architectural Diagram for window application . . . . . . . . . . . . . . . . . 27
4.2 Architectural Diagram for window application . . . . . . . . . . . . . . . . . 29
4.3 Flowchart for User Operation Flow . . . . . . . . . . . . . . . . . . . . . . . 30
4.4 Database Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.1 Server Admin Login Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2 Server Home Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.3 Client home page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.4 Edit or Delete Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.5 View Attendance Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
iii
Abstract
Android is a Linux-based operating system which works very ne with
touchscreen devices such as smartphones and tablets. It has more sophisti-
cated functionalities. Because of its salient features, android became very
friendly to the mobile users everywhere. Most of the mobile used nowadays
work based on Android operating system.
In the beginning, it has been developed a window application for storing
student information into the database. Next, is about developing an android
application for taking the ngerprint of each student in class room. The win-
dow application which contains the basic information about each student who
takes admission in the institution like name, USN, branch, date of admission,
address of student and contact number has been stored in the database. It
also includes a device that takes ngerprint information of each student. Later
both, student basic information and ngerprint information will be stored in
the college database.
The android device consists of an application that sense and takes the n-
gerprint of each student present in the class. The collected ngerprints are
stored in that application database. Later the stored information is updated
to the college database using LAN or Wi-Fi. The collected ngerprint is com-
pared with the college database, and corresponding student is made present
or absent.
iv
Chapter 1
Introduction
Android is a Linux-based operating system designed primarily for touchscreen mo-
bile devices such as smartphones and tablets computers. Because of its salient attracting
features, android became very friendly to the mobile users everywhere. Most of the mo-
biles used nowadays work based on android operating system.
Android gives a well and good experience to the users as well as developers by pro-
viding the latest applications built using latest technology. Applications developers are
allowed even to access Androids core functionalities so that developers are addicted to-
wards the Android application developement.
WinDroid is an Android application for taking attendance by biometric methodology
with ngerprint scanner. It creates a platform for taking attendance with multiple mod-
ules.
1.1 Problem Statement
There are many problems with regarding to manual attendance system. There may
be chances of mistakes for particular issues. Since the manual attendance system is a
lenghty process time can be saved by using other technologies. To overcome this problem
regarding attendance, need to minimize the manual attendance system.
1.2 Objectives
The objective is important to achieve the goal. The main objective of this project are:
1
WinDroid Application for e-Attendance Chapter 1
To develop the Student Attendance System using Fingerprint
Technology.
The rst objective is to develop the Student Attendance System (SAS). This sys-
tem will integrate with the ngerprint technology, this also record the attendance
of students in a class. Provides facilities to the faculty to acccess the information
of the student easily.
To Compare the eciency between the Proposed system and the Manual
system.
The second objective is to comapare the Proposed system and the Manual system.
This is important to ensure that the proposed system will provide more eciency
than the manual system.
1.3 Applications
We can get information about the Student time attendance report.
Quick attendance set-up.
Fingerprint biometric attendance.
We can track the absentees and late comers as well.
It is more about making student responsible in their punctuality and consistency
in time management.
All student can view their attendance record using authentication.
Avoiding of Proxy attendance.
Secured attendance maintenance.
Easy tabulated attendance system.
1.4 Motivation
Nowadays there are problems regarding manual attendance system. This project
mainly intended to reduce the misuse of manual attendance system. Manual attendance
system requires more time as it is to be done for each time. Hence to rescue this, this
application will provide the e-Attendance system where the manual attendance can be
reduced.
Dept of CS & E, GEC, Hassan 2
WinDroid Application for e-Attendance Chapter 1
The motivation of this project are existed Android application such a attendance man-
ager. Attendance manager is an application which will help to maintain the attendance
for each period and each each subject.
1.5 Organization of the report
The report is divided into six chapters.
The First chapter is the introduction and covers the objectives and scope of the
project.
Second chapter consists of the area in which the project is designed and imple-
mented.
Third chapter consists of requirements specication of the project and includes both
software and hardware requirements.
Fourth chapter describes the architectural design and conceptual design of this
project and also the implementation of this project.
Fifth Chapter gives about the output, result and analysis and various other aspects
such as test cases.
The nal chapter is dedicated to the conclusion and further work of the project.
Dept of CS & E, GEC, Hassan 3
Chapter 2
Introduction to Android and
Biometric Device
ANDROID
To study and analyze more about the Android programming technique, the following
introduction has been done and discussed in this chapter. Android is a software platform
and operating system for mobile device based on the Linux operating system and devel-
oped by google and the Open Handset Alliance.
The unveiling of the Android platform in 5 November 2007 was annnounced with the
founding of the Open Handset Alliance,a consortium of 34 hardware,software and tele-
com companies devoted to advancing open standards for mobile devices. When released
in 2008, most of the Android platform will be made available under the Apache free
software and open-source license.
2.1 Android Framework
Android is a software stack for mobile devices that includes an operating system,
middleware and key applications. It allows developers to write managed code in Java-
like language that utilizes Google-developed java libraries,but does not support programs
developed in native code.
2.1.1 The Birth of Android
Google acquires Android Inc in July 2005, Google acquired Android Inc., a small
startup company based in Palo Alto,CA. Androids co-founders who went to work at
Google included Andy Rubin(co-founder of Danger),Rich Miner(co-founder of wildfaire
4
WinDroid Application for e-Attendance Chapter 2
communcation,Int),Nick Sears(once VP at T-Mobile) and Chris White(one of the rst
enginees at WwbTV).At the time,little was unknown about the functions of Android Inc.
Other than they made software for mobile phones.
At Google, the team led by Rubin, developed a Linux-based mobile device of which they
marketed to handset markets and carries on the premise of providing a exible, upgrad-
able systems. It was reported that Google had already lined up a series of hardware
component and software partners and signaled to carriers that it was open to various
degrees of cooperation on their part.
Open handset Alliance Founded on 5 November 2007, the Open Handset Alliance (OHA)
a consortium of several companies which include GOOGLE, HTC, Intel, Mototrola, Qual-
comm, T-Mobile, Sprint Nextel and NVIDIA,was unveiled with the goal to develop open
standards for mobile devices. Along with the formation of the Open Handset Alliance,
the OHA also unveiled their rst product, Android an open source mobile device platform
based on the linux operating system.
Hardware
Google has unveiled at least three prototypes for Android, the Mobile Congress on Febru-
ary 12,2008. One prototype at the ARM both displayed several basic Google applications.
A d-Padcontrol zooming of items in the dock with a relatively quick applications. A pro-
totype at the Google IO conference on May 28th,2008 had a 528 MHz qualcomm processor
and a synaptic capacitives touch screen and used the UMTS cellular standard. It had
128 MB of RAM and 256 MB of ash,showing that Androids memory requirements are
reasonable. The Demo was carried out using a 3.6 Mbits HSDPA connection.
2.1.2 Features
Android include many usefull features,some of them are listed below
Application Framework
It is used to write applications for Android. Unlike other embedded mobile environments,
Android applications are equal, for instance which come with the phone are no dirent
than those that any developer writes. The framework is supported by numerous open
source libraries such as openssl, SQLite and Llibc. It is also supported by the Android
core libraries. From the point of security, the framework is based on UNIX le system
permissions that assure applications have only those abilities. That mobile phones owner
gave them at install time.
Dept of CS & E, GEC, Hassan 5
WinDroid Application for e-Attendance Chapter 2
Dalvik Virtual Machine
It is extremely low-memory based virtual machine, which was designed especially for An-
driod to run on embedded system and work well in low power situations. It also tunes to
the CPU attributes. The Dalvik VM creates a special le format(.DEX) that is created
through build time post processing. Conversion between Java classes and .DEX format
is done by included dex tool.
Integrated Browser
Google made a right choice on choosing WebKit as open source web browser. They added
a two pass layout and frame attering. Two pass layout loads a page without waiting for
blocking elements, such as external CSS or external javascript and after a while renders
again with all resources downloaded to the device. Frame attering converts founded
frames into single one and loads into the browser. These features increase speed and
usability browsing the internet via mobile phones.
Optimized Graphics
An Android has 2D graphics libraries and 3D graphics based in OpenGL ES 1.0,possibly
we will see great applications like Google Earth and spectacular like Second Life which
come on Linux version. At this moment, the shooting legendry 3D game Doom was pre-
sented using Android on the mobile phones.
SQLite
Extremely small (500KB) relationable database management system, which is integrated
in Andriod. Is based on function calls and single le, where all denitions, tables and
data are stored. This simple design is more than suitable for a platform such as Andriod.
SQLite provides a good database storage for Android applications.
Handset Layouts
The platform is adaptable for both larger VGA, 2D graphics library, 3D graphics library
based on OpenGL Es 1.0 specications, traditional smartphones layouts. An underlying
2D graphics engine is also included. Surface Manager manages access to the display sub-
system and seamlessly composites 2D and 3D graphics layers from multiple applications.
Data Storage
SQLite is used for structured data storage, SQLite is a powerful and lightweight relational
database engine available to all applications.
Connectivity
Dept of CS & E, GEC, Hassan 6
WinDroid Application for e-Attendance Chapter 2
Android supports a wide variety of connectivity technologies including GSM, CDMA,
Bluetooth, EDGE, EVDO, 3G and Wi-Fi.
Messaging
SMS, MMS and XAMPP are available forms of messaging including threaded text mes-
saging.
Web Browser
The web browser available in Andriod is based on the open-source WebKit applications
framework. It includes LibWebCore which is a modern web browser engine which powers
both the Android web browser and an embeddedable web view.
Java Virtual Machine
Software written in Java can be compiled into Dalvik bytecodes and executed in the
Dalvik virtual machine, which is a specialized VM implementation designed for mobile
device use, although not technically a standard Java Virtual Machine.
Media Support
Android will support advanced audio/video/still media formats such as MPEG-4, h.264,
MP, AAC, AMR, JPEG, GIF, PNG.
Additional Hardware Support
Android is fully capable of utilizing video/still cameras, touchscreens, GPS, compasses,
accelorometer and accelarator 3D graphics.
Development Environment
Includes a device emulator, tools for debugging, memory and performing proling, a plu-
gin for the Eclipse IDE. There are a number of hardware dependent features, for instance
a huge media and connections support, GPS, imporoved support for camera and simply
GSM telephony. A great work was done for the developers to start work with Android
using device emulator, tools for debugging and plugin for Eclipse IDE.
2.2 Architecture
The following diagram shows the major components of the Android operating sys-
tem. Each section is described in more detail below.
Dept of CS & E, GEC, Hassan 7
WinDroid Application for e-Attendance Chapter 2
Figure 2.1: Architecture of Andriod
2.2.1 Linux Kernel
Android Architecture is based on Linux 2.6 kernel. It helps to manage security,
memory management, process management, network stack and other important issues.
Therefore, the user should bring Linux in his mobile as the main operating system and
install all the drivers required in order to run it. Android provides the support for the
Qualcomm MSM7K chipset quality.
For instance, the current kernel tree supports Qualcomm MSM7200A chipsets, but in
the second half of 2008, we should see mobile devices with stable version Qualcomm
MSM 7200, which includes major features.
WCDMA/HSUPA and EGPRS network supports,
Bluetooth 1.2 and Wi-Fi support,
Digital audio support for mp3 and other formats,
Support for Linux and other third-party operating systems,
Java Hardware acceleration and support for Java applications,
Qcamera upto 6.0 megapixels,
Dept of CS & E, GEC, Hassan 8
WinDroid Application for e-Attendance Chapter 2
gpsOne solution for GPS,
and lots of other.
2.2.2 Libraries
In the next level there are a set of native libraries written in C/C++, which are re-
sponsible for stable performance no various components. For example, Surface Manager
is responsible for composing dierent drawing surfaces on the mobile screen. It manages
the access for dierent processes to compose 2D and 3D graphics layers. OpenGL ES and
SGL make a core of graphics libraries and are used accordingly for 3D and 2D hardware
acceleration. Moreover, it is possible to use 2D and 3D graphics in the same application
in Android. The media framework was provided by pocketVideo, one of the members
of OHA. It gives libraries for a playback and recording support for all the bitmap and
vector fonts. For data storage, Android uses SQLite. As mentioned before, it is extra
light rational management system,which locates a single le for all operations related to
database. WebKit, the same browser used by Apples Safari, was modied by Android in
order to t better in a small size screens.
Android includes a set of C/C++ libraries used by variour companies of the Android
system. These capabilities are exposed to developers through the Android application
framework. Some of the core libraries are listed below.
System C library-a BSD-deriverd implementation of the standards C system li-
brary(libc),tuned for embedded Linux-based devices.
Media Libraries-based on PacketVideos OpenCORE, the libraries supports playback
and recording of many popular audio and video formats. As well as static image
les, including MPEG4, H.264, MP3, AAC, AMR, JPG and PNG.
Surface Manager - manages access to the display subsystem and seamlessly com-
posite 2D and 3D graphics layers from multiple applications.
LibWebCore - a modern web browser engine which powers both the Android browser
and an embeddable web view.
SGL - the underlying 2D graphics engine.
3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries
use either hardware 3D acceleration or the included, highly optimized 3D software
tasterizer.
FreeType - bitmap and vector font rendering
Dept of CS & E, GEC, Hassan 9
WinDroid Application for e-Attendance Chapter 2
SQLite - a powerful and lightweight relational database engine available to all ap-
plications.
2.2.3 Android Runtime
At the same level their is Android runtime, where the main component Dalvik Virtual
machine is located. It was designed specially for Android running in limited environment,
where the limited battery, CPU, memory and data storage are the main issues, Android
gives an integrated tool, which converts generated byte from .jar to .dex le, after this
byte code becomes much more ecient to run on the small processors.
As the result, it is possible to have multiple instances of Dalvik Virtual Machine runnnig
on the single device at the same time. The Core libraries are written in Java language
and contains of the collection classes, the utilities, IO and other tools.
2.2.4 Application Framework
After that, there is Application Framework, written in Java language. It is a toolkit
that all applications use, ones which come with mobile devices like contacts or SMS box,
or applications written by Google and any Android developer. It has several components.
The Activity Manager manages the life cycle of the applications and provide a com-
mon navigation back stack for applications, which are running in dierent processes.
The Package Manager keeps track of the applications, which are installed in the
device.
The Windows Manager is Java programming language abstraction on the top of
lower level services that are provided by the Surface Manager.
The Telephony Manager contains of a set of API necessary for calling applications.
Content Providers was built for Android to share a data with other applications,
for instance, the contacts of people in the address books can be used in other
applications tool
The Resources Manager is used to store localized strings, bitmaps, layout le de-
scription and other external parts of the applications.
The View systems generates a set of buttons and lists used in UI.
Other components like Notication manager is used to customize display alerts and
other functions.
Dept of CS & E, GEC, Hassan 10
WinDroid Application for e-Attendance Chapter 2
2.2.5 Application Layer
At the top of Android Architecture it has all the applications, which are used by the
nal user. By installing dierent applications, the user can turn his mobile phone into
the unique, optimized and smart mobile phones. All applications are written using the
Java Programming language.
2.3 Application Building Blocks
The major building blocks are these:
Activity
Intent Receiver
Service
Content Provider
2.3.1 Activity
User interface component, which corresponding to one screen at time. It means that
for the simple applications like Address Book, the developer should have one activity for
displaying contacts, another activity component for displaying more detailed information
of choosen name and etc.
2.3.2 Intent Receiver
Wakes up a predened action through the external event. For example, for the appli-
cation like e-mail, inbox, the developer should have intent receiver and register his code
through XML to wake up an alarm notication, when the user receives email.
2.3.3 Services
A task, which is done in the backgroud. It means that the user can start an ap-
plication from the activity window and keep the service work , while browsing other
applications. For instance, he can browse Google Maps applciation while holding a call
or listening music while browsing other applications.
Dept of CS & E, GEC, Hassan 11
WinDroid Application for e-Attendance Chapter 2
2.3.4 Content Provider
A component, which allows sharing some of the data with other processes and appli-
cations. Is is the best way to communicate the application between each other Android
will ship with a set of core application including an email client, SMS program, calendar,
maps, browser,contacts and others. All applications are written using the Java Program-
ming language.
2.3.5 AndroidMainfest.xml
The AndroidMainfest.xml le is the control le that tells the system what with
all the top-level components (specically activities,service, intent receivers and content
providers described above)that are created.
A developer should predene and list all components to be use in the specic Android-
Mainfest.xml le. It is a required le for all the applications and is located in the root
folder. It is possible to specify all global values for the package, all the components and
its classes used, intent lters, which describes where and when the certain activity should
start, permissions and instruments like security control and testing.
BIOMETRIC DEVICE
Biometrics refers to the quantiable data (or metrics) related to human characteristics
and traits. Biometrics identication (or biometric authentication)is used in computer sci-
ence as a form of identication and access control. It is also used to identify individuals
in groups that are under survelliance.
2.3.6 Biometric Funtionality
Many dierent aspects of human physiology, chemistry or behavior can be used for
biometric authentication. The selection of a particular biometric for use in a specic
application involves a weighting of several factors. Jain et al. (1999) identied seven
such factors to be used when accessing the suitability of any trait for use in biometric
authentication. Universality means that every person using a system should possess the
trait. Uniqueness means the trait should be suciently dierent for individuals in the
relevant population such that they can be distinguished from one another.
Permanence relates to the manner in which a trait varies over time. More specically, a
trait with good permanence will be reasonably invariant over time with respect to the
Dept of CS & E, GEC, Hassan 12
WinDroid Application for e-Attendance Chapter 2
Figure 2.2: Biometric Device for Fingerprint
specic matching algorithm. Measurability (collectability) relates to the ease of acquisi-
tion or measurement of the trait. In addition, acquired data should be in a form that
permits subsequent processing and extraction of the relevant feature sets.
Performance relates to the accuracy, speed, and robustness of technology used. Accept-
ability relates to how well individuals in the relevant population accept the technology
such that they are willing to have their biometric trait captured and assessed. Circumven-
tion relates to the ease with which a trait might be imitated using an artifact or substitute.
The block diagram illustrates the two basic modes of a biometric system.
First, in verication (or authentication) mode the system performs a one-to-one compar-
ison of a captured biometric with a specic template stored in a biometric database in
order to verify the individual is the person they claim to be. Three steps are involved in
the verication of a person.
In the rst step, reference models for all the users are generated and stored in the
model database.
In the second step, some samples are matched with reference models to generate
the genuine and impostor scores and calculate the threshold.
Dept of CS & E, GEC, Hassan 13
WinDroid Application for e-Attendance Chapter 2
Figure 2.3: Biometric Functionality
Third step is, the testing step. This process may use a smart card, username or ID
number (e.g. PIN) to indicate which template should be used for comparison.
Second, in identication mode the system performs a one-to-many comparison against a
biometric database in attempt to establish the identity of an unknown individual. The
system will succeed in identifying the individual if the comparison of the biometric sample
to a template in the database falls within a previously set threshold. Identication mode
can be used either for positive recognition (so that the user does not have to provide any
information about the template to be used) or for negative recognition of the person
where the system establishes whether the person is who she (implicitly or explicitly)
denies to be.
2.3.7 Biometric Fingerprint Scanner
Basically biometric device is used to scan the ngerprint of particular eld specied
by the user. Here we make use of ngerprint scanner for scanning the nger for atten-
dance purpose.
A ngerprint scanner system has two basic jobs - It needs to get an image of your nger,
Dept of CS & E, GEC, Hassan 14
WinDroid Application for e-Attendance Chapter 2
Figure 2.4: Fingerprint Scanner work
and it needs to determine whether the pattern of ridges and valleys in this image matches
the pattern of ridges and valleys in pre-scanned images.
Only specic characteristics, which are unique to every ngerprint, are ltered and saved
as an encrypted biometric key or mathematical representation. No image of a ngerprint
is ever saved, only a series of numbers (a binary code), which is used for verication. The
algorithm cannot be reconverted to an image, so no one can duplicate the ngerprints.
Figure 2.5: Biometric Fingerprint Scanner
IC CHIPS
The MAX232 IC is used to convert the TTL/CMOS logic levels to RS232 logic levels
during serial communication of microcontrollers with PC. The controller operates at TTL
logic level (0-5V) whereas the serial communication in PC works on RS232 standards (-25
Dept of CS & E, GEC, Hassan 15
WinDroid Application for e-Attendance Chapter 2
V to + 25V). This makes it dicult to establish a direct link between them to commu-
nicate with each other.
The intermediate link is provided through MAX232. It is a dual driver/receiver that
includes a capacitive voltage generator to supply RS232 voltage levels from a single 5V
supply. Each receiver converts RS232 inputs to 5V TTL/CMOS levels. These receivers
(R1 R2) can accept 30V inputs. The drivers (T1 T2), also called transmitters, convert
the TTL/CMOS input level into RS232 level.
The transmitters take input from controllers serial transmission pin and send the output
to RS232s receiver. The receivers, on the other hand, take input from transmission pin of
RS232 serial port and give serial output to microcontrollers receiver pin. MAX232 needs
four external capacitors whose value ranges from 1F to 22F.
Microcontroller
A microcontroller (sometimes abbreviated C, uC or MCU) is a small computer on
a single integrated circuit containing a processor core, memory, and programmable in-
put/output peripherals.
A microcontroller can be considered a self-contained system with a processor, memory
and peripherals and can be used as an embedded system. The majority of microcon-
trollers in use today are embedded in other machinery, such as automobiles, telephones,
appliances, and peripherals for computer systems.
Microcontrollers were originally programmed only in assembly language, but various
high-level programming languages are now also in common use to target microcontrollers.
These languages are either designed specially for the purpose, or versions of general pur-
pose languages such as the C programming language.
Bluetooth
Bluetooth is a wireless technology standard for exchanging data over short distances
(using short-wavelength UHF radio waves in the ISM band from 2.4 to 2.485 GHz[2])
from xed and mobile devices, and building personal area networks (PANs). Bluetooth
operates in the range of 24002483.5 MHz (including guard bands). This is in the globally
unlicensed (but not unregulated) Industrial, Scientic and Medical (ISM) 2.4 GHz short-
range radio frequency band. Bluetooth uses a radio technology called frequency-hopping
spread spectrum.
Bluetooth operates in the range of 24002483.5 MHz (including guard bands). This is in
Dept of CS & E, GEC, Hassan 16
WinDroid Application for e-Attendance Chapter 2
Figure 2.6: Blue-tooth device used for connection
the globally unlicensed (but not unregulated) Industrial, Scientic and Medical (ISM)
2.4 GHz short-range radio frequency band. Bluetooth uses a radio technology called
frequency-hopping spread spectrum. The transmitted data are divided into packets and
each packet is transmitted on one of the 79 designated Bluetooth channels.
A master Bluetooth device can communicate with a maximum of seven devices in a pi-
conet (an ad-hoc computer network using Bluetooth technology), though not all devices
reach this maximum. The devices can switch roles, by agreement, and the slave can
become the master (for example, a headset initiating a connection to a phone will neces-
sarily begin as master, as initiator of the connection; but may subsequently prefer to be
slave).
Bluetooth is a device which is used to link between the ngerprint and Android device.
Fingerprint Scanner
Fingerprint scanner is a device which is used to scan the ngerprint. The scanned
ngerprint will be accessed by Microcontroller1 and it will send that to another Micro-
controller2 for storing purpose.
2.3.8 Performance of Biometrics
The following are used as performance metrics for biometric systems:
Dept of CS & E, GEC, Hassan 17
WinDroid Application for e-Attendance Chapter 2
False acceptance rate or false match rate (FAR or FMR)-The probability
that the system incorrectly matches the input pattern to a non-matching template
in the database. It measures the percent of invalid inputs which are incorrectly
accepted. In case of similarity scale, if the person is an imposter in reality, but the
matching score is higher than the threshold, then he is treated as genuine. This
increases the FAR, which thus also depends upon the threshold value
False rejection rate or false non-match rate (FRR or FNMR)-The prob-
ability that the system fails to detect a match between the input pattern and a
matching template in the database. It measures the percent of valid inputs which
are incorrectly rejected.
Receiver operating characteristic or relative operating characteristic (ROC)-
The ROC plot is a visual characterization of the trade-o between the FAR and the
FRR. In general, the matching algorithm performs a decision based on a threshold
which determines how close to a template the input needs to be for it to be consid-
ered a match. If the threshold is reduced, there will be fewer false non-matches but
more false accepts. Conversely, a higher threshold will reduce the FAR but increase
the FRR.
Equal error rate or crossover error rate (EER or CER)-The rate at which
both acceptance and rejection errors are equal. The value of the EER can be easily
obtained from the ROC curve. The EER is a quick way to compare the accuracy
of devices with dierent ROC curves. In general, the device with the lowest EER
is the most accurate.
Failure to enroll rate (FTE or FER)-The rate at which attempts to create
a template from an input is unsuccessful. This is most commonly caused by low
quality inputs.
Failure to capture rate (FTC)-Within automatic systems, the probability that
the system fails to detect a biometric input when presented correctly.
Template capacity-The maximum number of sets of data which can be stored in
the system.
2.3.9 Types of Biometric
DNA Matching-Chemical Biometric The identication of an individual using the
analysis of segments from DNA
Ear-Visual Biometric The identication of an individual using the shape of the ear.
Dept of CS & E, GEC, Hassan 18
WinDroid Application for e-Attendance Chapter 2
Eyes - Iris Recognition-Visual Biometric The use of the features found in the iris
to identify an individual.
Eyes - Retina Recognition-Visual Biometric The use of patterns of veins in the
back of the eye to accomplish recognition
Face Recognition-Visual Biometric The analysis of facial features or patterns for
the authentication or recognition of an individuals identity. Most face recognition
systems either use eigenfaces or local feature analysis
Fingerprint Recognition-Visual Biometric The use of the ridges and valleys
(minutiae) found on the surface tips of a human nger to identify an individual.
Finger Geometry Recognition-Visual/Spatial Biometric The use of 3D geome-
try of the nger to determine identity
Gait-Behavioural Biometric The use of an individuals walking style or gait to
determine identity Hand Geometry Recognition-Visual/Spatial Biometric The
use of the geometric features of the hand such as the lengths of ngers and the
width of the hand to identify an individual
Odour-Olfactory Biometric The use of an individuals odor to determine identity.
Signature Recognition-Visual/Behavioural Biometric The authentication of an
individual by the analysis of handwriting style, in particular the signature. There
are two key types of digital handwritten signature authentication, Static and Dy-
namic. Static is most often a visual comparison between one scanned signature
and another scanned signature, or a scanned signature against an ink signature.
Technology is available to check two scanned signatures using advances algorithms.
Dynamic is becoming more popular as ceremony data is captured along with the
X,Y,T and P Coordinates of the signor from the signing device. This data can be
utilised in a court of law using digital forensic examination tools, and to create a
biometric template from which dynamic signatures can be authenticated either at
time of signing or post signing, and as triggers in workow processes
Typing Recognition-Behavioural Biometric The use of the unique characteristics
of a persons typing for establishing identity.
Vein Recognition-Vein recognition is a type of biometrics that can be used to
identify individuals based on the vein patterns in the human nger or palm.
Voice / Speaker Recognition-There are two major applications of speaker recog-
nition
Dept of CS & E, GEC, Hassan 19
WinDroid Application for e-Attendance Chapter 2
Voice - Speaker Verication / Authentication-Auditory Biometric The
use of the voice as a method of determining the identity of a speaker for access
control. If the speaker claims to be of a certain identity and the voice is used
to verify this claim. Speaker verication is a 1:1 match where one speakers
voice is matched to one template (also called a voice print or voice model).
Speaker verication is usually employed as a gatekeeper in order to provide
access to a secure system (e.g.: telephone banking). These systems operate
with the users knowledge and typically require their cooperation. For example,
presenting a persons passport at border control is a verication process - the
agent compares the persons face to the picture in the document.
Voice - Speaker Identication-Auditory Biometric Identication is the task
of determining an unknown speakers identity. Speaker identication is a 1:N
(many) match where the voice is compared against N templates. Speaker iden-
tication systems can also be implemented covertly without the users knowl-
edge to identify talkers in a discussion, alert automated systems of speaker
changes, check if a user is already enrolled in a system, etc. For example, a
police ocer compares a sketch of an assailant against a database of previously
documented criminals to nd the closest match(es). In forensic applications,
it is common to rst perform a speaker identication process to create a list of
best matches and then perform a series of verication processes to determine
a conclusive match.
Dept of CS & E, GEC, Hassan 20
Chapter 3
Requirements
3.1 Software Requirements
The software that are necessary for this project
3.1.1 Operating system
Windows XP(32-bit),Vista(32 or 64-bit), or Windows 7(32 or 64-bit), Linux.
3.1.2 Java Development Kit
The Java Development Kit(JDK) is an Oracle corporation product aimed at Java de-
velopers. Since the introduction of Java,it has been by far the most widely used Java
Software Development Kit(SDK). On 17 November 2006 Sun announce that it would be
released under the GNU Generic Public License(GPL),thus making it free software. This
happened in large part on 8 May 2007.Sun contributed the source code to the Open JDK.
The JDK has its primary components a collection of programming tools, including:
Java-The leader for Java Applications. This tool is an interpreter and can interpret
the class les generated by the javac compiler. Now a single launcher is used for
both development and deployment. The old deployment launcher, jre, no longer
comes with Sun JDK, and instead it has been replaced by this new java loader.
Javac-This compiler which converts source code into Java bytecode.
Applet Viewer-The tool which can be used to run and debug Java applets without
a web browser.
Jar-The archiver, which packages released class libraries into a single JAR le. This
tool also helps manage JAR les.
21
WinDroid Application for e-Attendance Chapter 3
The JDK also comes with a complete Java Runtime Environment, usually called a
private runtime, due to the fact that it is separated from the regular JRE and has
extra contents. It consists of a Java Virtual Machine and all of the class libraries
present in the production environment, as well as additional libraries only usefull
to developers, such as the internationalization libraries and the IDL libraries.
3.1.3 Android SDK
The Android Software Developement Kit includes a comprehensive set of develope-
ment tools. These includes a debugger, libraries, a handset emulator based on QEMU
documentation, sample code, and tutorials. Currently supported development platforms
include computers running Linux, Mac OS X 10.4.9 or later, Windows XP or later. The
Ocially supported Integrated Development Environment(IDE) is Eclipse using the An-
droid Development Tools(ADT) Plugin, though developers may use any text editor to
edit Java and XML les then use command line tools(Java DevelopmentKit and Apache
ants) and required to create, build and debug Android applications as well as control at-
tached Android devices(e.g.,triggering a reboot, installing software package(s)remotely).
Enchancement to Androids SDK go hand in half with the overall Android platform devel-
opment. The SDK also supports older versions of the Android platform in case developers
which to target their applications at older devices, developement tools are downloadable
components, so after one has downloadedthe latest versions and platform, other plat-
forms and tools can also be downloaded for compatability testing. Andoird applications
are packaged in apk format and stored under /data/app/ folder on the Andoird OS(the
folder is accessible only to root user for security reasons). APK package contains .dex
les(compiled byte code les called Dalvik executables) resources les, etc.
3.1.4 Eclipse Emulator
The Android SDK includes a mobile device emulator, a virtual mobile device that
runs on computer. The emulator lets to develop and test Android applications with-
out using a physical device. Eclipse is a multi-language software development environ-
ment(IDE) and an extensible plug-in system. It is written mostly in Java. It can be used
to develop applications in Java and, by means of various plug-ins in other programming
language like Android.
Dept of CS & E, GEC, Hassan 22
WinDroid Application for e-Attendance Chapter 3
3.1.5 XAMPP
XAMPP is a free and open source cross-platform web server solution stack package,
consisting mainly of the Apache HTTP Server, MySQL database, and interpreters for
scripts written in the PHP and Perl programming languages.
XAMPPs name is an acronym for:
X (to be read as Cross, meaning Cross-platform)
Apache HTTP Server
MySQL
PHP
Perl
Ocially, XAMPPs designers intended it for use only as a development tool, to allow
website designers and programmers to test their work on their own computers without
any access to the Internet. To make this as easy as possible, many important security fea-
tures are disabled by default. In practice, however, XAMPP is sometimes used to actually
serve web pages on the World Wide Web. A special tool is provided to password-protect
the most important parts of the package.
Once XAMPP is installed, it is possible to treat a localhost like a remote host by con-
necting using an FTP client. Using a program like FileZilla, has many advantages when
installing a Content Management System (CMS) like Joomla or Wordpress. It is also
possible to connect to localhost via FTP with an HTML editor.
XAMPP for Windows, including:
Apache
MySQL
PHP
phpMyAdmin
FileZilla FTP Server
Tomcat
Strawberry Perl Portable
XAMPP Control Panel
XAMPP for Linux, including:
Dept of CS & E, GEC, Hassan 23
WinDroid Application for e-Attendance Chapter 3
Apache
MySQL
PHP
phpMyAdmin
OpenSSL
Apache HTTP server
The Apache HTTP Server, commonly referred to as Apache , is a web server applica-
tion notable for playing a key role in the initial growth of the World Wide Web (WWW).
Originally based on the NCSA HTTPd server, development of Apache began in early
1995 after work on the NCSA code stalled. Apache quickly overtook NCSA HTTPd as
the dominant HTTP server, and has remained the most popular HTTP server in use
since April 1996. In 2009, it became the rst web server software to serve more than 100
million websites.
Features
Apache supports a variety of features, many implemented as compiled modules
which extend the core functionality.
Some common language interfaces support Perl, Python, Tcl, and PHP. Popular au-
thentication modules include mod access, mod auth, mod digest, and mod auth digest,
the successor to mod digest.
Popular compression methods on Apache include the external extension module,
mod gzip, implemented to help with reduction of the size (weight) of web pages
served over HTTP.
MYSQL
MySQL is (as of March 2014) the worlds second most[nb 1] widely used open-
source Relational DataBase Management System (RDBMS). It is named after co-founder
Michael Wideniuss daughter, My. The SQL phrase stands for Structured Query Lan-
guage.
The MySQL development project has made its source code available under the terms
of the GNU General Public License, as well as under a variety of proprietary agree-
ments. MySQL was owned and sponsored by a single for-prot rm, the Swedish com-
pany MySQL AB, now owned by Oracle Corporation.
Dept of CS & E, GEC, Hassan 24
WinDroid Application for e-Attendance Chapter 3
Features
A broad subset of ANSI SQL 99, as well as extensions.
Cross-platform supported.
Stored procedures, using a procedural language that closely adheres to SQL/PSM.
Strict mode (ensures MySQL does not truncate or otherwise modify data to conform
to an underlying data type, when an incompatible value is inserted into that type).
Transactions with the InnoDB and NDB Cluster storage engines; savepoints with
InnoDB.
Full-text indexing and searching (initially a MyISAM-only feature; supported by
InnoDB since the release of MySQL 5.6).
Partitioned tables with pruning of partitions in optimizer.
3.1.6 IDE Support
Although it is possible to develop Android apps with every modern IDE Google rec-
ommends doing so is by using the Eclipse IDE with a special plug-in called ADT(Android
Developement Tools). The ADT makes use of all the Dev tools that come with the SDK
and therefore supports and simplies all the steps from assembling the classes overpack-
ing and signing to running the nal application on the emulator.
The ADT is not just speeding up the testing process but also relies the developers work
in terms of UI creation and applications of what has otherwise have to be written in XML.
3.1.7 Programming Languages
The ocially supported programming languages on the Android platform is Java. It
is also recommended to have some knowledge of XML as the descriptor le as well as the
user interface of an applications is based on that.
As the Linux kernel of the Android platform is based on upon an ARM processor archi-
tecture is would also be possible to write code in XC or other languages and compile it
to ARM native code.
Dept of CS & E, GEC, Hassan 25
WinDroid Application for e-Attendance Chapter 3
3.2 Hardware Requirements
Processor of Pentium III or above.
1GB or More RAM.
Minimum of 5GB hard disk.
An Android mobile with Android OS version 2.2 or more.
Minimum hardware requirements of Android phone
32MB RAM. 32MB Flash Memory.
200MHz Processor.
Dept of CS & E, GEC, Hassan 26
Chapter 4
Design and Implementation
4.1 Architectural Design
The gure 4.1 shows architectural diagram represents the basic structure of WinDroid
application.
Figure 4.1: Architectural Diagram for window application
27
WinDroid Application for e-Attendance Chapter 4
WinDroid is subdivided into following subsystems.
Admin Login page subsystem.
Student Registration subsystem.
Fingerprint scanning subsystem.
Faculty subsystem.
View attendance subsystem.
Admin Loginpage subsystem
Admin loginpage is the rst subsystem, the user will meet when using this application.
Admin loginpage consists of login procedure before registration of student. Admin will be
given an username and also a password to login. Only the admin will have the permission
to login for the page.
Student Registration subsystem
Once the login is made successfully then the registration can be done. Before doing this
registration admin must provide some basic information about student like, Name, Sem,
USN and also the Fingerprint. Fingerprint scanner will be connected with this appli-
cation to take the Fingerprint of each student and store that in the database. After
lling these elds the registration will be completed and the lled data will be stored in
the database for further use of this application. Once the data has been stored in the
database then that data will be used for every purpose. The information must be stored
in the proper format. If the information given by the students is made to be edited, then
the admin can edit the changes and store the edited information in the same database.
Fingerprint scanning subsystem
Once the registration is completed, students are requested to give the ngerprint for the
purpose of storing data in the database. Fingerprint scanner will scan the data and it
will be stored in the database along with the student information. Once this ngerprint
is stored this data will be used for all purpose of communication. The ngerprint will be
stored in the format of bits. First to register a student, he/she has to give two times trial
for registering the ngerprint. The registered ngerprint will be used for further access
of information about the student.
Faculty subsystem
Dept of CS & E, GEC, Hassan 28
WinDroid Application for e-Attendance Chapter 4
Figure 4.2: Architectural Diagram for window application
The Faculty subsystem is an Android application which is being used to take the e-
Attendance. Once the lectures are given with this application they need to ll the re-
quired elds which are in the Android application.
The application includes information about Branch, Semester, Faculty ID and the Sub-
ject code. These information has been stored to the database. After submitting the
data, the application will be linked to the biometric device using bluetooth connectivity.
Once the connection has been made then the student is requested to place the nger in
the ngerprint scanner. After placing, the scanner will generate an unique ID. If this
Unique ID matches with the Unique ID given during the registration time, student is
made present, else student is absent.
View Attendance subsystem
After taking the attendance in the class, the information will be stored in the database. If
a student information need to be checked then there will be a window application where
admin can view the information. The information will be given that the student was
Dept of CS & E, GEC, Hassan 29
WinDroid Application for e-Attendance Chapter 4
present or absent for the class. This can be maintained for a period of month.
Android Application Development
Biometric Fingerprint scanner
Figure 4.3: Flowchart for User Operation Flow
4.1.1 Android Application Development
An Android based windroid is an Android application mainly intended for atten-
dance taking by ngerprint techonology using biometric device. WinDroid will take the
input from the biometric and it will be stored in the database.
The project Android based WinDroid mainly consists of two features.
A biometric device, which takes the input of ngerprint and save it in the database,
and it can be deleted or edited.
An Android application to store and retrieve the ngerprint information stored in
the database.
Dept of CS & E, GEC, Hassan 30
WinDroid Application for e-Attendance Chapter 4
Android based WinDroid is implemented with the help of the software called ECLIPSE
Android SDK/ADT.
Coming to the architecture of this project, the window application will be used to login
to the working with the help of Android application. Once the login is made successfully,
user is requested to ll the necessary elds in the application. After lling the elds,
ngerprint is taken from the user and that will be stored in the database. After storing
the information in the database, Android application is linked to the biometric device
with the help of blue-tooth technology support.
The ow diagram for this application is as shown in gure.
4.1.2 Database Design
create database student data;
use student data;
create table student (student id varchar(20),student name varchar(20),student sem var-
char(20),student department varchar(20),biometric varchar(20));
create table attendance(branch varchar(20),sem varchar(20),d varchar(20),subcode var-
char(20),biometric varchar(20),dat varchar(20));
Figure 4.4: Database Design
Dept of CS & E, GEC, Hassan 31
WinDroid Application for e-Attendance Chapter 4
4.2 Implementation
4.2.1 Server side implementation
public class AdminLoginServlet extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType(text/html;charset=UTF-8);
PrintWriter out = response.getWriter();
try {
String name=request.getParameter(name);
String pass=request.getParameter(pass);
if(name.equals(admin) pass.equals(admin))
{
response.sendRedirect(adminhome.jsp);
}
else
{
response.sendRedirect(index.jsp?msg=Wrong Username or Password);
}
} nally
out.close();
}
}
Login Server
To ll the necessary data and to store that data in the database login is required. Client
will login to the server application
Step 1:
class AdminLoginServlet extends HttpServlet
Step 2:
if(name.equals(admin) pass.equals(admin)) { response.sendRedirect(adminhome.jsp);
}
Step 3:
Dept of CS & E, GEC, Hassan 32
WinDroid Application for e-Attendance Chapter 4
else
{
response.sendRedirect(index.jsp?msg=Wrong Username or Password);
}
Student Registration
Once the login has made the student information are made entry stored in the database.
The student information stored will be made use when the Android application interact
with the window application.
try
student id=request getParameter(sid);
student name=request getParameter(sname);
student sem=request getParameter(ssem);
student department= request getParameter(sdepartment);
student biometric= request getParameter(sbiometric);
con = MysqlConnection.getMysqlConnection();
pst=con.prepareStatement(select student id from student where student id);
pst.setString(1,student id);
rst= pst.executeQuery();
if(rst.next())
{
rst.close();
pst.close();
pst = con.prepareStatement(insert into student (student id,student name,student sem,student department,biometric)
values(,,,,));
pst.setString(1, student id);
pst.setString(2, student name);
pst.setString(3, student sem);
pst.setString(4, student department);
pst.setString(5, student biometric);
pst.executeUpdate();
pst.close();
response.sendRedirect(adminhome.jsp?msg=Data Uploaded Successfully);
}
else
{
response.sendRedirect(adminhome.jsp?msg=Student ID Already Exists);
Dept of CS & E, GEC, Hassan 33
WinDroid Application for e-Attendance Chapter 4
pst.close();
}
pst.close();
con.close();
}
catch (Exception e) {
out.println(e.getLocalizedMessage());
}nally {
out.close();
}
}
Step 1:
class AdminHomeServlet extends HttpServlet
Step 2:
try
student id= request.getParameter(sid);
student name= request.getParameter(sname);
student sem = request.getParameter(ssem);
student department= request.getParameter(sdepartment);
student biometric= request.getParameter(sbiometric);
con = MysqlConnection.getMysqlConnection();
pst=con.prepareStatement(select student id from student where student id);
pst.setString(1,student id);
rst pst.executeQuery();
Step 3:
if(rst.next())
{
rst.close();
pst.close();
pst = con.prepareStatement(insert into student (student id,student name,student sem,student department,biometric)
values(,,,,));
pst.setString(1, student id);
pst.setString(2, student name);
pst.setString(3, student sem);
pst.setString(4, student department);
pst.setString(5, student biometric);
pst.executeUpdate();
Dept of CS & E, GEC, Hassan 34
WinDroid Application for e-Attendance Chapter 4
pst.close();
response.sendRedirect(adminhome.jsp?msg=Data Uploaded Successfully);
}
Step 4:
else
{
response.sendRedirect(adminhome.jsp?msg=Student ID Already Exists);
pst.close();
}
Editing of Student Information
Step 1:
class StudentEditServlet extends HttpServletRequest
Step 2:
try {
con = MysqlConnection.getMysqlConnection();
pst = con.prepareStatement(update student set student name=?,student sem=?,student department=?,biometric=?
where student id=?);
pst.setString(1, student name);
pst.setString(2, student sem);
pst.setString(3, student department);
pst.setString(4, student biometric);
pst.setString(5, student id);
pst.executeUpdate();
pst.close();
con.close();
response.sendRedirect(adminhome.jsp?msg=Student Details Edited Successfully);
catch (Exception e) {
out.println(e.getLocalizedMessage());
}
nally {
out.close();
}
}
Deleting Student Information
Step 1:
Dept of CS & E, GEC, Hassan 35
WinDroid Application for e-Attendance Chapter 4
class StudentDeleteServlet extends HttpServletRequest
Step 2:
try {
con=MysqlConnection.getMysqlConnection();
st=con.prepareStatement(select from student where student id=?);
st.setString(1,sid);
rs= st.executeQuery();
if(rs.next())
{
rs.close();
st.close();
st=con.prepareStatement(delete from student where student id=?);
st.setString(1, sid);
st.executeUpdate();
st.close();
con.close();
response.sendRedirect(studentdelete.jsp?msg=Student Deleted Successfully);
}
else
{
st.close();
con.close();
response.sendRedirect(studentdelete.jsp?msg=Student does not Exist in Database);
}
}
catch(Exception e)
{
out.println(e.getMessage());
}nally {
out.close();
}
}
Step 3:
{
con=MysqlConnection.getMysqlConnection();
st=con.prepareStatement(select from student where student id=?);
st.setString(1,sid);
Dept of CS & E, GEC, Hassan 36
WinDroid Application for e-Attendance Chapter 4
rs= st.executeQuery();
Step 4:
if(rs.next())
{
rs.close();
st.close();
st=con.prepareStatement(delete from student where student id=?);
st.setString(1, sid);
st.executeUpdate();
st.close();
con.close();
response.sendRedirect(studentdelete.jsp?msg=Student Deleted Successfully);
}
Step 5:
else
{
st.close();
con.close();
response.sendRedirect(studentdelete.jsp?msg=Student does not Exist in Database);
}
View Attendance
Step 1:
class MobileUpload extends HttpServlet
Step 2:
try {
String f branch=request.getParameter(Faculty Branch);
String f sem=request.getParameter(Faculty Sem);
String f Name
I
D = request.getParameter(Faculty Name ID);
Stringf subcode = request.getParameter(Faculty Sub code);
Stringbio = request.getParameter(biometric);
con = MysqlConnection.getMysqlConnection();
st = con.prepareStatement(insertintoattendance(branch, sem, fid, subcode, biometric, dat)values(, , , , , ));
st.setString(1, f branch);
st.setString(2, f sem);
st.setString(3, f Name
I
D);
st.setString(4, f subcode);
st.setString(5, bio);
Dept of CS & E, GEC, Hassan 37
WinDroid Application for e-Attendance Chapter 4
st.setString(6, newDate().toLocaleString());
st.execute();
con.close();
out.println(DataUpdatedSuccessfully);
}
catch(Exception e) {
out.println(e.getMessage()); } nally
out.close(); } }
4.2.2 Client side Implementation
Client side communication is needed to interact with the window side application. An-
droid device is used for client side communication. Java programming is used to develop
an Android application for client side communication. Application is consists of a menu
item where setting menu item is available which is used to give the IP address for com-
munication.
Step 1:
class MainActivity extends Activity implements OnClickListener
Step 2:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity main);
branch=(TextView) ndViewById(R.id.txt1);
sem=(TextView) ndViewById(R.id.txt2);
name ID=(TextView) ndViewById(R.id.txt3);
sub code=(TextView) ndViewById(R.id.txt4);
submit=(Button) ndViewById(R.id.btn1);
reset=(Button) ndViewById(R.id.btn2);
submit.setOnClickListener(this);
reset.setOnClickListener(this);
sp = PreferenceManager.getDefaultSharedPreferences(this);
String data = sp.getString(address,null); }
Step 3:
if(data==null)
Dept of CS & E, GEC, Hassan 38
WinDroid Application for e-Attendance Chapter 4
{
Intent it=new Intent(this,SettingActivity.class);
startActivity(it);
}
}
Step 4:
public void onClick(View v) {
if(v.equals(submit))
{
f Branch=branch.getText().toString();
f Sem=sem.getText().toString();
f ID=name ID.getText().toString();
f sub code=sub code.getText().toString();
InfoClass.branch=f Branch;
InfoClass.sem=f Sem;
InfoClass.d=f ID;
InfoClass.sub code=f sub code;
Intent it=new Intent(this,BiometricActivity.class);
startActivity(it); }
Step 5:
else
{
branch.setText();
sem.setText();
name ID.setText();
sub code.setText();
}
}
}
Dept of CS & E, GEC, Hassan 39
Chapter 5
Result and Analysis
Server Home Page
The gure 5.2 shows the Server home page. User must ll in some basic information
such as username and password. Once the username and password is given, then the
particular elds such as Student USN, Name, Semester, Subject code and Fingerprint is
given and it is stored in the database.
Client Home Page
The gure 5.3 shows the client home page. Faculty must ll in some basic information
such as Faculty code, Semester, Faculty ID and Subject code for the particular subject.
After lling these information and storing them in the database, then the biometric de-
vice will ask to enter the ngerprint for attendance purpose.
This chapters contains discussion of the output of this project and the snapshots of all
the modules of this application. The outcome of this project is,
40
WinDroid Application for e-Attendance Chapter 5
Figure 5.1: Server Admin Login Page
Figure 5.2: Server Home Page
Dept of CS & E, GEC, Hassan 41
WinDroid Application for e-Attendance Chapter 5
Figure 5.3: Client home page
Figure 5.4: Edit or Delete Page
Dept of CS & E, GEC, Hassan 42
WinDroid Application for e-Attendance Chapter 5
Figure 5.5: View Attendance Page
Dept of CS & E, GEC, Hassan 43
Chapter 6
Conclusions and Future
Enhancement
6.1 Conclusions
Android based e-Attendance is a technology which provides the e-Attendance facility
for Student Attendance System(SAS). This project makes the Android device more user
friendly.
The main use of the WinDroid is to reduce the time which is being wasted for manual
attendance system. This will also reduce the paper work needed to maintain the Atten-
dance of students. It will help to maintain upto date information about the attendance
and can track at any time.
6.2 Future Enhancement
Complete package can be developed so that the e-Governance can use this
application for regular usage.
The project will increase the eciency interms of authentication and authorization.
Hardware device can be integrated and hence can be made portable.
It can be used to maintain stock used for the purpose of Mid-Day meals.
44
References
[1] www.developer.android.com
[2] www.eclipse.org
[3] https://github.com/FingerJetFXOSE/FingerJetFXOSE
[4] https://play.google.com/store/apps/details?id=com.proappdesigns.attendancemanager
[5] Shankland,Stephen, Google Android parts ways Java industry group
[6] David Meyer,Linux Developer explains Android Kernel Code ZDNet
[7] Biometric Scanning Technologies: Finger, Facial and Retinal Scanning by Edmund
Spinella
[8] Fingerprint Identication in Biometric Security Systems by Mary Lourde R and
Dushyant Khosla
[9] Biometric Security Using Finger Print Recognition by Subhra Mazumdar, Venkata
Dhulipala
[10] Subcommittee on Biometrics on National Science and Technology Council
45
Appendix A
Conguring Android Development
Environment
For developing Android application developer, need to install Android SDK and plugins
for Eclipse IDE. After installing SDK they need to create a virtual device. This chapter
describes installing SDK and creating virtual device.
A.1 Installing Android SDK
Stpe 1. Preparing Your Development Computer
Before getting started with the Android SDK, take a moment to conrm that the devel-
opment computer meets the system requirements. In particular, you might need to install
JDK, if you dont have it already. If you will be developing in Eclipse with the Android
Development Tools(ADT) Plug-in recommended path if you are new to Android make
sure that you have a suitable versions of Eclipse installed on your computer as described.
If you need to install Eclipse, you can download it from this location..
http://www.eclipse.org/downloads/
Step 2.Downloading the SDK Starter Package
The SDK starter package is not a full development environment it includes only the core
SDK Tools, which you can use to download the rest of the SDK packages Download SDK
starter pckage from www.developer.android.com
Step 3.Installing the ADT Plug-in for Eclipse
Android oers a custom plug-in for the Eclipse IDE,called Android Development Tools(ADT),
that is designed to give a powerful, integrated environment in which to build Android
applications. It extends the capabilities of Eclipse let you quickly set up new android
projects, create an application UI,debug your applications using android SDK tools, and
46
WinDroid Application for e-Attendance Chapter 6
even exports signed or unsigned APKs inorder to distribute your application. In general,
developing in Eclipse with ADT is a highly recommended approach and is the fastest way
to get started with Android.
Step 4: Adding platform and other packages
The last step in setting up your SDK is using the Android SDK manager to download
essential SDK packages into your development environment. SDK uses a modular struc-
ture that separates the major parts of SDK Android platforms versions, Add-ons, Tools,
Samples and Documentation into a set of separately installabale packages. The SDK
startup package which you have already downloaded includes only a single package: the
latest version of SDK tools. To develop an Android application you also meant to down-
load atleast one Android platform and the associated platform tools. You can add other
packages and platforms as well, which is highly recommended.
A.2 Creating an Android Application
Take new Android projects from the le menu.
Specify the application name and target to which application to be designed.
Create XML views.
Implement interaction with XML views with Java Files.
Create XML manifest le for that application.
Dept of CS & E, GEC, Hassan 47

Potrebbero piacerti anche