Professional Documents
Culture Documents
CHAPTER 1
INTRODUCTION
Attendance Management has been one of the most important way to record and track the
presence of students in schools, colleges and institutes. It is used in different forms in
various organization to record the presence of their human resources, which helps the
organization in generating their month-end payroll, and other activities. The attendance
can be managed with the help of both manual and automated systems. Biometric-based
system, card-based system is some of the examples of automated attendance system.
In this project the attempt has been made to record the attendance through Android
mobile devices. The main aim of this project is to build an Android mobile application for
the students which can be used to track and manage their attendance. The application
stores the attendance in SQLite database and the students can view and update the
attendance whenever required. The application is also helpful in evaluating the minimum
attendance eligibility criteria of a student. The purpose of developing an application to
keep the student’s life a little bit more organized. The application can be installed in any
android mobile devices and can work even in the offline mode.
The application uses Android application development toolkit and many inbuilt
functionalities of android environment. Android is a Linux-based operating system
developed for smart phones or tablet computers. It is a stack of software that includes
operating system, middleware and libraries and APIs written in C. The Android
application is developed in Java-like language using the Android software development
kit (SDK). The integrated development environment (IDE) which is officially supported
for Android apps development and used in this project is Android Studio, which uses the
Android Development Tools (ADT) plugin.
Page | 1
Attendance Manager
Page | 2
Attendance Manager
1.2.3 SQLite
Android OS contains the SQLite database management classes which is used by an
application to maintain its own private database. SQLite is a relational database
management system contained in C programming library. It is mostly preferred as
embedded database for local or client storage in application software. It has many
bindings to the programming languages.
1.3 Objective
To design and develop the android-based Student attendance mobile application to keep
track of attendance in mobile devices for easy and proper evaluation of attendance.
1. Develop and implement an attendance manager application.
2. To create an Android mobile application to provide a User Interface to interact with the
application.
1.4 Motivation
The attendance Management System is one of the most important system used in every
organization to keep the track of attendance. The conventional methods being followed
for taking attendance requires a lot of paper works. It is also very hectic and very tedious
task to do and thus handling and maintaining the previous system is very tough as it is not
automated. Thus, there is a need to automate the system by building the android
application to reduce the manual efforts needed in storing the records and maintaining it.
The students can mark themselves and the records are being stored in the SQLite
databases. The attendance system through mobile devices is fully automated and is very
easy to use the system and does not need any external efforts to store and manage the
attendance.
Page | 3
Attendance Manager
CHAPTER 2
GENERAL DESCRIPTION
2.1 Introduction
The attendance manager application offers an ease in working, managing and daily
functions of the system in a very easy way through an intuitive interface making it easy
for every student to utilize it fully and is virtually maintenance free.
Page | 4
Attendance Manager
• The application is also able to predict the attendance percentage by counting the
no of classes attended and the no of classes missed.
• The application is also being able to notify and remind user about the upcoming
classes on the specific date and time.
• The app is also able to show the current system date and time helping the students
about the particular events on that specific day.
• The application lets the user set the minimum attendance criteria with the help of a
sliding bar built inside the app.
Page | 5
Attendance Manager
CHAPTER 3
SPECIFICATION REQUIREMENTS
Page | 6
Attendance Manager
CHAPTER 4
LAYOUTS/ACTIVITY
• Splash screen contains an image element and it will be displayed for few seconds.
• Splash Screen is used to display the logo of the app and is generally used for
introduction of the application.
Fig. 4.1.1
Page | 7
Attendance Manager
4.2 Dashboard Activity
• The second screen will be the Home page/Dashboard of the App.
• Dashboard consists of four image Buttons and one Floating Button each button
takes to different activity.
• Dashboard contains different sections in a Linear layout and Text Fields and each
section has different functionality.
• The four buttons are Calendar, Subjects, Timetable and Predictor.
• The Floating activity lets the user add the different subjects.
• The Text Field shows the current system date and time and also display the
notification to the user about the upcoming events on that specific date.
• It has the navigation drawer which is built above the dashboard activity to choose
three options i.e. one option is of rating the app according to the users liking and
the second option is settings activity of and app and the third activity is of sharing
the app to the multiple users with the help of different platforms.
• The button on the toolbar lets user jump to setting activity
• If back button is pressed in home screen, it takes the user outside of the
application.
Fig. 4.2.1
Page | 8
Attendance Manager
4.3 Calendar Activity
• This activity has consisted of the calendar view which lets the user record their
attendance on a particular date.
• The user can choose the different course from the list which is stored in a spinner.
Once the subject is selected, it will remind the user about the upcoming classes on
a specific time.
• The user can click on the time to record their attendance and is welcomed with
three options in the alert dialog box. After choosing one of the options the user
response is recorded and saved in database.
• The different response is recorded in different colors for the ease of the user to
discriminate easily and to remember more precisely.
• The little help icon at the bottom of the app show the user how to interact with
each item.
Fig. 4.3.1
Page | 9
Attendance Manager
4.4 Subjects Activity
• This activity consists a list view of all the subjects.
• On clicking the particular subjects, the user is directed to a new screen/activity
which shows the user his overall attendance percentage in the form of pie graph
and also the necessary information’s.
• The onclick function is being implemented by on click listener.
• This activity also consists of a little help button at the top of the toolbar to which
lets user know how to interact with each item.
Page | 10
Attendance Manager
4.5 Timetable Activity
• This activity consists of the weekdays in the form of cuboid buttons.
• The user can click on any of these buttons of a particular day to view the no. of
classes for that specific day.
• The subjects in this activity are shown in the form of list view with their classes
timings.
• This activity also consists of a little help button at the top of the toolbar to which
lets user know how to interact with each item.
• If the user clicks on any of the subject, a alert dialog will pop out which lets user
to delete the particular subject.
Fig. 4.5.1
Page | 11
Attendance Manager
4.6 Predictor Activity
• This activity lets user predict his/her attendance by inputting the no of classes
attended and the no of classes missed.
• This activity consists of three different items: The first one being spinner which
lets the user choose the particular subjects from the list of the item. The second
one being the material number picker which offers user to input the no of classes
attended and the no of classes missed in an integer format.
• The activity also contains a predict button which predict the student’s attendance.
• Once the subject is selected, the input is set and the button is pressed, it shows the
current percentage and the predicted percentage of the subject being selected.
• The activity also consists of a little help button at the top of the toolbar to which
lets user know how to interact with each item.
Fig. 4.6.1
Page | 12
Attendance Manager
4.7 Add Subject Activity
• This activity is launched when the user clicks on the floating button in the
dashboard and then selects the add subject button.
• Once the add subject button is clicked the user is being provided with five buttons
i.e. SUBJECT, DAY, START TIME, END TIME and OK buttons.
• Each of these buttons performs different tasks.
• Subject button lets user enter the subject name.
• Day button allows user to input the day.
• Start Time allows user to input the start time of a course/subject.
• End Time allows user to input the end time of a course/subject.
• Ok button adds the subject in the database, and once all the inputs are given
correctly, a toast message is displayed to let the user know that the inputs are
correctly entered in database otherwise “Something Wrong” is displayed in toast.
Fig. 4.7.1
Page | 13
Attendance Manager
4.8 Navigation Drawer Activity
• The Navigation Drawer activity is present on the top of Dashboard activity.
• This activity is opened when the user clicks on the Hamburger icon on the top of
the toolbar or sliding across the dashboard items.
• The Navigation Drawer contains a section called header which displays the image
contained in the ImageView attribute.
• The header section also shows the name of the app.
• There are total three items in the Navigation Drawer: “Rate Us!”, “Settings” and
“Share”.
• Each of these items perform different actions. The first one asks for the feedback
from the user. The second one takes user to the new activity and the third one lets
user share the app across different users through different sharing platforms.
Page | 14
Attendance Manager
4.9 Settings Activity
• The settings activity can be launched either from the Navigation Drawer activity
or by clicking the Actionbar (three-dots) options present in the toolbar in the
Dashboard activity.
• The activity contains the two toggle buttons and the sliding bar.
• The first toggle button lets the user set a reminder for the particular class/event.
• The second toggle button lets the user set a class notification.
• There are two text fields with SET TIME which is enabled on clicking the
corresponding buttons and lets user select the time to remind or notify him/her.
• The sliding bar present in the activity allows user to set the minimum attendance
criteria for a subject.
Fig. 4.9.1
Page | 15
Attendance Manager
CHAPTER 5
IMPLEMENTATION
APK’s are the installable software’s for the android devices. Some apps come from play
store which are installed directly into the device but whereas APK’s are to be installed in
a manual way into the device.
5.1.2. Activities
Activity is a screen with the user interface on it like the frame or the window. This
consists of call back methods to run an activity to stop it that are available in the manifest
file of the application in studios.
5.1.4. Intents
Android intents are the objects of the activity in the application to the operating system to
ensure the operating system that another action should be required. Intents are often used
to move or link from the existing activity to the next activity by sending the parameters.
Page | 16
Attendance Manager
5.1.5. Widgets
Android widgets are used to interact with the application. These can be TextField,
EditText, Buttons, etc.
void createDB() {
mydatabase = openOrCreateDatabase("SubjectsDB", MODE_PRIVATE, null);
mydatabase.execSQL("CREATE TABLE IF NOT EXISTS " +
"subject(id INTEGER PRIMARY KEY AUTOINCREMENT,subjects varchar,days
varchar,start varchar,end varchar);");
mydatbase. execSQL Execute a single SQL statement that is NOT a SELECT or any
other SQL statement that returns data. In your example, to create the table, you would call
db.execSQL(DATABASE_CREATE) which would execute your table create statement
on your application's SQLite database.
Attendance Table
mydatabase = openOrCreateDatabase("SubjectsDB", MODE_PRIVATE, null);
mydatabase.execSQL("CREATE TABLE IF NOT EXISTS " + "attendance(id
INTEGER PRIMARY KEY AUTOINCREMENT, subid int, date varchar, status
int, FOREIGN KEY (subid) REFERENCES subject(id));");
The above query Creates the table in the following model: -
Subject Table
Id subjects days start end
Attendance Table
id subid date status
Queries on Insert
Insert query used for Subject Activity List, Timetable Activity List, Predictor Activity
and for Calendar Activity.
Queries on select
Select query used for Subject Activity List, Timetable Activity List, Predictor Activity
and for Calendar Activity.
rawQuery() directly accepts an SQL select statement as input. The method returns
'Cursor' object which points to one row of the query result.
MainActivity
resultSet = mydatabase.rawQuery("SELECT * FROM subject WHERE days='" +
day + "';", null);
Page | 18
Attendance Manager
Predictor Class
resultSet = mydatabase.rawQuery("SELECT * FROM subject WHERE subjects='"
+ spinner_subject + "';", null);
Page | 19
Attendance Manager
9. By clicking the hamburger icon, you will be moved to Navigation Drawer which
contains the different menu items and each item perform certain actions.
10. Rate Us menu is to rate the application out of 5 stars opens in a dialog box.
11. Settings menu will take you to the settings activity where you can set reminder,
class notification and the minimum attendance criteria.
12. By clicking the share button, you will be able to share the application.
Page | 20
Attendance Manager
CHAPTER 6
SAMPLE OUTPUT
Page | 21
Attendance Manager
Page | 22
Attendance Manager
Page | 23
Attendance Manager
CHAPTER 7
CONCLUSION
The attendance system through mobile devices is a very effective tool which can be
used to a great extent. The system is portable and can be easily installed and used
on any mobile phones supporting Android OS.
The use of this system can result in a reduction of number of hours spent in feeding
the attendance details in the SQLite database. It also provides an interface which
is easy to understand by the users and greatly helps in adapting to the use of this
system.
Page | 24
Attendance Manager
CHAPTER 8
BIBLIOGRAPHY
[2] Visual Paradigm International. Visual Paradigm for UML 10.1 Community
Edition. http://www.visual-paradigm.com.
Page | 25