SlideShare a Scribd company logo
1 of 82
JP INSTITUTE OF ENGINEERING & TECHNOLOGY,
MEERUT
A Project Report
On
“ANDROID TECHNICAL QUIZ APP”
Submitted in partial fulfillment of the requirements
for the award of the degree of
Bachelor of Technology
in
Information Technology
Submitted by:
Deepak Kumar Univ. Roll No-1328213014
Jagdeep Singh Univ. Roll No-1328213023
Mohd. Danish Safi Univ. Roll No -1328213036
Under The Guidance of
Mr. Anuj Kumar
Assistant Professor (Department of CSE & IT)
DR.A.P.J.ABDUL KALAM TECHNICAL UNIVERSITY,
LUCKNOW, UTTAR PRADESH
Session: 2016-17
TABLE OF CONTENTS Page
DECLARATION ................................................................................................... …………… ii
CERTIFICATE .................................................................................................................. iii
ACKNOWLEDGEMENTS ..............................................................................................……. iv
ABSTRACT..................................................................................................................................v
LIST OF TABLES........................................................................................................................vii
LIST OF FIGURES......................................................................................................................viii
LIST OF SYMBOLS ....................................................................................................................ix
LIST OF ABBREVIATIONS....................................................................................................... x
Chapter 1: Introduction
1.1 Overview ……………………………………………………………………………. 1
1.2 Objectives …………………………………………………………………………… 2
1.3 Motivation ……………………………….................................................................... 3
1.4 Book Organization …………………………………………………………………... 4
ii
1.5 Summary …………………………………………………………………………….. 5
Chapter 2: Proposed Model
2.1 Purpose of the project ………………………………………………………………... 6
2.1.1 Administrative Task ………………………………………………………………... 7
2.1.2 Interviewee Task …………………………………………………………………… 8
2.3 Flow Chart……………………………………………………………………………..9
2.3.1 Description for flow chart…………………………………………………………...10
2.4 Data Flow Diagram……………………………………………………........................14
2.5 ER Diagram……………………………….…………………………………………...21
2.4 Summary ………………………………………………………………………………11
Chapter 3: Implementation
3.1 Technologies Used………………………………………………………………….. 8
3.1.1 Microsoft Windows 7…………………………... …………………………………8
3.1.2 Java Development Kit (JDK)…………………… ………………………………...9
iii
3.1.4 Android SDK…………………………………………………………………….. 11
3.1.5 HAXM…………………………………………. ……………………………….. 14
3.2 Tools Used……………………………………………….. ………………………..16
3.2.1 Android Studio…………………………………………………………………. 16
3.3 System Design…………………………………………………………………….. 18
3.3.1 Log in to the application………………………... ……………………………….18
3.3.2 Forget password………………………………… ……………………………….19
3.3.3 Admin Panel…………………………………………………………………….. 20
3.3.4 Interviewee Panel……………………………………………………………….. 24
3.4 Database Design…………………………………………. ………………………..25
3.4.1 Table Schema…………………………………………………………………… 25
3.4.2 Table Relationship / EER Diagram……………………………………………... 27
3.4.3 Summary …………………………………………………………………………. 27
Chapter 4: User Manual
4.1 System Requirement……………………………………… ……………………....28
4.2 Prerequisite………………………………………………………………...............29
iv
4.3 Installation…………………………………………………………………………30
4.4 Getting Started……………………………………………………………………33
4.5 Login……………………………………………… ……………………..........34
4.5.1 Forget password…………………………………………………………..........35
4.5.2 Administrator……………………………………..............................................36
4.5.3 User Management……………………………………………………………31
4.5.4 Quiz Management…………………………………………………………...32
4.5.5 Question & Answer Management…………………………………………...33
4.5.6 Report ………………………………………………………………………...35
4.5.7 Summary ………………………………………………………………………..40
Chapter 5: Conclusion and Future Works
5.1 Summary of the Literature …………………………………………………….37
5.2 Future Study …………………………………………………………………...37
Sample Code ………………………………………………………………………….40
REFERENCES………………………………………........................................... 38
v
CERTIFICATE
This is to certify that this Project Report entitled “ANDROID TECHNICAL QUIZ” which is
submitted by Deepak Kumar (1328213014), Jagdeep Singh (1328213023), Mohd. Danish Saifi
(1328213036), in the partial fulfillment, for the award of degree of Bachelor of Technology in
Department of Computer Science & Engineering, of JP INSTITUTE OF ENGINEERING &
TECHNOLOGY, Meerut, affiliated to DR.A.P.J.ABDUL KALAM TECHNICAL
UNIVERSITY, Lucknow; is carried out by him/her under my supervision .The matter embodied
in this Project Work has not been submitted earlier for award of any degree or diploma in any
university/institution to the best of our knowledge and belief.
(Mr. Anuj Kumar) (Dr. Sanjeev Kumar Sharma)
Project Guide Head (CSE/IT/MCA)
Date: __/__/____
vi
vii
DECLARATION
I hereby declare that this submission is our own work and that, to the best of our knowledge and
belief, it contains no material previously published or written by another person nor material
which to a substantial extent has been accepted for the award of any other degree or diploma of
the university or other institute of higher learning, except where due acknowledgment has been
made in the text.
Deepak Kumar 1328213014 ………….
Jagdeep Singh 1328213023 …………..
Mohd. Danish Saifi 1328213036 …………..
viii
ACKNOWLEDGEMENT
It gives us a great sense of pleasure to present the report of the Project Work, undertaken during
B. Tech. Final Year. We owe special debt of gratitude to Mr. Anuj Kumar Assistant Professor,
Department of Information Technology, JP Institute of Engineering & Technology, Meerut for his
constant support and guidance throughout the course of our work. His sincerity, thoroughness and
perseverance have been a constant source of inspiration for us. It is only his cognizant efforts that
our endeavors have seen light of the day.We also take the opportunity to acknowledge the
contribution of Dr. Sanjeev Kumar Sharma, DEAN (Academics & Research), Department of
Computer Science & Engineering, JP Institute of Engineering & Technology, Meerut for his full
support and assistance during the development of the project. We also do not like to miss the
opportunity to acknowledge the contribution of all faculty members of the department for their
kind assistance and cooperation during the development of our project. Last but not the least, we
acknowledge our friends for their contribution in the completion of the project.
Signature:
Name :
Roll No.:
Date :
Signature:
Name :
Roll No.:
Date :
Signature:
Name :
Roll No.:
ix
Date :
Signature:
Name :
Roll No.:
Date :
x
ABBREVIATIONS AND ACRONYMS
OS Operating System
UI User Interface
MCQ Multiple Choice Question
RAM Random Access Memory
JDK Java Development Kit
APT Annotation-Processing Tool
SDK Software Development Kit
API Application Program Interface
HAXM Intel Hardware Accelerated Execution Manager
XML Extensible Markup Language
CGI Common Gateway Interface
IDE Integrated Development Environment
EER Enhanced Entity Relationship
LIST OF FIGURES
xi
Fig 1.1 A survey result on a random sample of different age groups of
mobile phone users in India, based on their preferred
Operating systems. 1
Fig 2.2 Flow Chart for ‘Technical Quiz’ 6
Fig 3.1 Login design 19
Fig 3.3 Forget Password System Design 20
Fig. 3.6 Database Table relationship 27
Fig. 4.1 Login Form 29
Fig. 4.2 Forget Password 30
Fig. 4.3 User ID Input 30
Fig. 4.5 User List View 31
Fig. 4.7 User Addition 32
Fig. 4.8 Quiz list 32
Fig. 4.9 Quiz Edit/Delete 32
Fig. 4.10 Quiz Add 33
Fig. 4.11 Question & Answer Addition 34
Fig. 4.12 Quiz Selection 35
Fig. 4.13 View Question 35
Fig. 4.14 Select quiz for Report 35
Fig. 4.15 Select quiz 36
Fig. 4.16 Start Quiz 36
LIST OF TABLES
TABLE I WINDOWS 7 MINIMUM HARDWARE
xii
REQUIREMENT 8
TABLE II PHYSICAL MEMORY LIMITS OF WINDOWS 7 9
TABLE III API LEVEL SUPPORTED BY EACH VERSION OF
THE ANDROID PLATFORM 13
TABLE IV TITANIUM SDK SUPPORTED BY EACH VERSION
OF THE ANDROID SDK 15
TABLE V MINIMUM SYSTEM REQUIREMENT 28
xiii
Chapter 1
INTRODUCTION
1.1 Overview
In today’s world, Smart phones have changed our lives and have become an indispensable part
of our lives because of its specialty to simplify our routine work and thereby saving our time. A
Smartphone with an Android OS offers excellent functionality to the users offering a distinct
experience. Android is a Linux based operating system and it was bought by Google in
2007.There are tons of application available and one of the prime reason for this vast number is
android being an open source. On the other hand, android based device like mobile, tab are very
user friendly. A survey has done by “Light Castle Partners” research wing which indicates that
though other operating system mobile users exist but the majority users are goes with android
operating system [1].
1
Figure 1.1: A survey result on a random sample of different age groups of mobile phone users
in India, based on their preferred operating systems [1].
In this context, Project application is developed based on android platform. The name of
application is define as ‘Technical Quiz”. Aims of this project is to develop an android platform
supported Quiz application named “Technical Quiz”. It is an online quiz application where user
with admin privilege can do administrative task like add, delete and edit from application user
interface (UI) and interviewee can participate for MCQ quiz with time limit. So, goals of this
project to facilitate users to configure quizzes as well as giving quizzes with this android based
smart phone. User friendly environment configuration is also another goal for this project
application.
2
1.2 Objectives
The main objective of “Technical Quiz” is to facilitate a user friendly environment for all users
and reduces the manual effort. In past days quiz is conducted manually but in further resolution
of the technology we are able to generate the score and pose the queries automatically. The
functional requirements include to create users that are going to participate in the quiz,
automatic score and report generation and administrative tasks like add, delete, update for
admin privilege users. In this application, all the permissions lies with the administrator i.e.,
specifying the details of the quiz with checking result will show to interviewee or not, addition
of question and answers, marks for each question, Set timer for each quiz and generate report
with score for each quiz.
1.3 Motivation
Currently most of the Examination like organizational recruitment, University class test are
paper based, which costs time and resources. Questionnaire is developed, printed, and then
collect data, entry, editing, cleaning, which time consuming and costly. Proposed application is
the starting for avoid those circumstances which are been currently faced by any organization.
3
1.4 Book Organization
The Books has fiver chapters. Different chapters contain various table and figure which are
relevant with this online Quiz project. The chapters are respectively Introduction, Proposed
Model, Implementation, User Manual and conclusion. Introduction has described the objective
of this quiz application project. Second chapter, Proposed Model describe the model design for
quiz application. Third Chapter, Implementation describe the technical configuration which has
done for this project. Fourth Chapter, User Manual describe the guideline for any UI user. Last
chapter, Conclusion describe the summary of this literature. References and sample Code are
attached at the end of this book.
1.5 Summary
Dramatic breakthroughs in processing power along with the number of extra features included
in mobile devices have opened the doors to a wide range of commercial possibilities. In
particular, most cell phones regularly include processors comparable to PCs and internet access
from a few years ago. With all these added abilities, Online Quiz application is design for
Android based system mobile.
4
Chapter 2
Proposed Model
2.1 Purpose of the project
This Project main purpose is to develop Quiz system named ‘Technical Quiz. The application
(Technical Quiz) will provide online based quiz with multiple choice question (MCQ). This
quiz application will support android base operating system. With this application, users or any
organization can perform actions like
• Administrative Task
• Interview Task
2.1.2 Quiz Task
5
Select any Quiz or subject which he /she wants to give Examination. One interviewer can give Quiz
only for one time. Once a quiz has finished, it become inactive to that user. Finally, Score can be
shown considering the quiz has been taken from any individuals. As a result, the following tasks are
define as interviewee task.
• Log in to the system as Interviewee privilege
• Select Desire Quiz
• Answer questions within set time (by admin)
• Finish Quiz
3.3 Flow Chart:
The flowchart is a means of visually presenting the flow of data through an information
processing system, the operations performed within the system and the sequence in which
they are performed. In this lesson, we shall concern ourselves with the program
flowchart, which describes what operations (and in what sequence) are required to solve a
given problem. The program flowchart can be likened to the blueprint of a building. As
we know a designer draws a blueprint before starting construction on a building.
Similarly, a programmer prefers to draw a flowchart prior to writing a computer program.
As in the case of the drawing of blueprint, the flowchart is drawn according to defined
rules and standard flowchart symbols prescribed by the American National Standard
Institute,Inc.
Symbols used to make flowchart:
6
Start or end of the program
Computational steps or processing function of a program
Input or output
Decision making and branching
Connector or joining of two parts of program
Off page connector
Flow lines
7
Figure 2.2: Flow Chart for ‘Technical quiz’
2.3.1 Description for flow chart
1. After login with username and password, Role for that particular user will verify from
server database.
8
2. If user is administrator, following options shall be managed.
• User
• Login / Register
• Welcome
• Quiz
• Question and Answer
• High Score
Above four options can be add, edit and delete by administrator.
3. Score report will show to administrator in read only mode.
4. If user is interviewee, all active quiz list will enable for giving test.
5. Quiz will execute with certain time limit. Quiz will finish after that time or all question
answered. .
E-R Diagram
9
Entity
Multivalued attribute
Primary key
Attribute
Relation
3.1Data Flow Diagram (DFD)
A data flow diagram (DFD) is a graphical representation of the “flow” of data through an
information system. DFDs can be used for the visualization of data processing (structured
design). On a DFD, data items flow from an external data source or an internal data store
to an internal data store or an external data sink, via an internal process.
A DFD provides no information about the timing or ordering of processes, or about
whether processes will operate in sequence or in parallel. It is therefore quite different
10
from a flowchart, which shows the flow of control through an algorithm, allowing a
reader to determine what operations will be performed, in what order, and under what
circumstances, but not what kinds of data will be input to and output from the system, nor
where the data will come from and go to, nor where the data will be stored.
The data flow diagram of the “Anti Theft Department” is given on the next following
pages:
DFD Level 0;
Chapter 3
Implementation
11
3.1 Technologies Used
• Microsoft Windows 7
• Java Development Kit
• Android SDK
• Intel Hardware Accelerated Execution Manager (HAXM)
• SQLite Database
• XML
3.1.1 Microsoft Windows 7
It should be mentioned that all tools and technology are installed for development work at
windows 7 operating system 64 bit platform. Windows 7 is a personal computer operating
system developed by Microsoft. It is a part of Windows NT family of operating systems.
Development of Windows 7 started as early as 2006 under the codename "Blackcomb."
Windows 7 was released to manufacturing on July 22, 2009, and became generally available on
October 22, 2009, less than three years after the release of its predecessor, Windows Vista.
Minimum hardware requirements for Windows 7 is given below [2].
12
Component Operating system architecture
32-bit 64-bit
Processor 1 GHz IA-32 processor 1 GHz x86-64 processor
Memory
(RAM)
1 GB 2 GB
Graphics
card
DirectX 9 graphics processor with WDDM driver model 1.0
(Not absolutely necessary; o nly required for Aero)
Free hard
drive space
16 GB 20 GB
Optical drive DVD-ROM drive (Only to install from DVD-ROM media)
Table I: Windows 7 Minimum Hardware Requirement [2]
The maximum amount of RAM that Windows 7 supports varies depending on the product
edition and on the processor architecture, as shown below figure
Edition Processor architecture
IA-32 (32-bit) x64 (64-bit)
Ultimate
4 GB
192 GB
Enterprise
Professional
Home Premium 16 GB
Home Basic 8 GB
Starter 2 GB
Table II: Physical memory limits of Windows 7 [2]
3.1.2 Java Development Kit (JDK)
13
A Java Development Kit (JDK) is a program development environment for writing Java applets
and applications. It consists of a runtime environment that "sits on top" of the operating system
layer as well as the tools and programming that developers need to compile, debug, and run
javac – the Java compiler, which converts source code into Java bytecode javadoc – the
documentation generator, which automatically generates documentation from source code
comments jar – the archiver, which packages related class libraries into a single JAR file. This
tool also helps manage JAR files.
jstack – utility which prints Java stack traces of Java threads (experimental) jstat – Java Virtual
Machine statistics monitoring tool (experimental) jstatd – jstat daemon (experimental) keytool –
tool for manipulating the keystore pack200 – JAR compression tool policytool – the policy
creation and management tool, which can determine policy for a
Java runtime, specifying which permissions are available for code from various sources Visual
VM – visual tool integrating several command-line JDK tools and lightweight performance and
3.1.4 Android SDK
The Android SDK (software development kit) is a set of development tools used to develop
applications for Android platform. The Android SDK includes the following:
• Required libraries
• Debugger
14
• An emulator
• Relevant documentation for the Android application program interfaces (APIs)
• Sample source code
• Tutorials for the Android OS
Every time Google releases a new version of Android, a corresponding SDK is also released.
To be able to write programs with the latest features, developers must download and install
each version’s SDK for the particular phone [5].
API Level is an integer value that uniquely identifies the framework API revision offered by a
version of the Android platform. The Android platform provides a framework API that
applications can use to interact with the underlying Android system.
The framework API consists of:
• A core set of packages and classes
• A set of XML elements and attributes for declaring a manifest file
• A set of XML elements and attributes for declaring and accessing resources
• A set of Intents
15
• A set of permissions that applications can request, as well as permission enforcements
included in the system The API Level identifier serves a key role in ensuring the best
possible experience for users and application developers:
• It lets the Android platform describe the maximum framework API revision that it
supports
• It lets applications describe the framework API revision that they require
• It lets the system negotiate the installation of applications on the user's device, such that
version-incompatible applications are not installed.
The table below specifies the API Level supported by each version of the Android platform [6].
Platform Version API Level VERSION_CODE
Android 7.0 25 NOUGAT
Android 6.1 24 MARSHMALLOW
Android 6.0 23 MARSHMALLOW
Android 5.1 22 LOLLIPOP_MR1
Android 5.0 21 LOLLIPOP
Android 4.4W 20 KITKAT_WATCH
Android 4.4 19 KITKAT
Android 4.3 18 JELLY_BEAN_MR2
Android 4.2, 4.2.2 17 JELLY_BEAN_MR1
Android 4.1, 4.1.1 16 JELLY_BEAN
Android 4.0.3, 4.0.4 15 ICE_CREAM_SANDWICH_MR1
Android 4.0, 4.0.1, 4.0.2 14 ICE_CREAM_SANDWICH
Android 3.2 13 HONEYCOMB_MR2
Android 3.1.x 12 HONEYCOMB_MR1
Android 3.0.x 11 HONEYCOMB
16
Android 2.3.4
Android 2.3.3
10 GINGERBREAD_MR1
Android 2.3.2
Android 2.3.1
Android 2.3
9 GINGERBREAD
Android 2.2.x 8 FROYO
Android 2.1.x 7 ECLAIR_MR1
Android 2.0.1 6 ECLAIR_0_1
Android 2.0 5 ECLAIR
Android 1.6 4 DONUT
Android 1.5 3 CUPCAKE
Android 1.1 2 BASE_1_1
Android 1.0 1 BASE
Table III: API Level supported by each version of the Android platform [6]
Applications can use a manifest element provided by the framework API — <usessdk> — to
describe the minimum and maximum API Levels under which they are able to run, as well as
the preferred API Level that they are designed to support. The element offers three key
attributes:
• android:minSdkVersion — Specifies the minimum API Level on which the application is able
to run. The default value is "1".
• android:targetSdkVersion — Specifies the API Level on which the application is designed to
run. In some cases, this allows the application to use manifest elements or behaviors defined in
the target API Level, rather than being restricted to using only those defined for the minimum
API Level.
17
• android:maxSdkVersion — Specifies the maximum API Level on which the application is able
to run .
3.1.5 Intel Hardware Accelerated Execution Manager (HAXM)
Intel(r) HAXM is the Intel® Hardware Accelerated Execution Manager is a hardware-
assisted virtualization engine (hypervisor) that uses Intel Virtualization Technology (Intel(r)
VT) to speed up Android app emulation on a host machine. In combination with Android
x86 emulator images provided by Intel and the official Android SDK Manager, HAXM
allows for faster Android emulation on Intel VT enabled systems. The Intel HAXM driver
runs inside the emulator as well as on the host machine. It runs on various versions of
Windows, Linux, and Mac OS [7].The following platforms are supported by the Intel
HAXM.
• Windows 8 and 8.1 (32/64-bit)
• Windows 7 (32/64-bit)
• Windows Vista (32/64-bit)
18
3.2 Tools Used
3.2.1 Android Studio
Android Studio is Android's official IDE. It is purpose built for Android to accelerate
your development and help you build the highest-quality apps for every Android device
.It offer tools custom-tailored for Android developers, including rich code editing,
debugging, testing, and profiling tools.
• Operating System
 A recent version of Windows, OS X or Ubuntu
• Memory
 2 GB RAM (available memory, rather than total memory)
• Java Runtime
 Oracle JDK (no other brand of Java is suitable)
Titanium's unique trait among the various available cross-platform mobile solutions is that it
creates truly native apps. This is in contrast to web-based solutions that deliver
functionality via an enhanced web view. Titanium, not wanting to be limited by
19
the native web view, has engaged in a much deeper integration with the
underlying platforms. This gives Titanium developers the ability to leverage
native UI components and services, as well as near-native performance, features
you won't find in other crossplatform mobile development solution. In addition,
you'll have access to other features like:
Platform specific APIs
Location-based services
Social sharing
Rich multimedia
Online and on-device data
Extensibility
Studio is Appcelerator's free IDE (integrated development environment). It can use to write, test,
and debug mobile applications. Studio also has integrated templates and sample
applications to make it even easier to get started creating your own apps. In
addition, Studio will help to manage Titanium SDK updates and module usage.
Titanium exists as a bridge between the native operating system and app's code.
The following graphic illustrates this architecture [12]:
20
At the bottom of the stack is the client operating system: Android, iOS, or the browser (for
Mobile Web applications). At the top is desire app, built JavaScript. In between, is the
Titanium SDK and the APIs it exposes. Application wrote in JavaScript, calling on the
Titanium APIs to take actions like drawing buttons, opening windows, showing the camera,
etc. The Titanium Bridge (part of the SDK) translates those calls into their native
equivalents. In other words, when create a Titanium button, it's actually a proxy for a true
native button. When you modify the Titanium button, say to change its label or add an event
listener, Kroll applies corresponding changes to the native equivalent.
When events occur in native-land, Kroll bubbles them up to your JavaScript code [l2].
3.3 System Design
3.3.1 Log in to the application
 Open the application
 Provide username and password. Username is define as the email address to
concern user.
 After click on login button application communicate with server and verify
whether the provided username and password is correct or not.
21
 If provided information found at server end and match with role ‘Admin’ or
‘Interviewee’ then open the desire portal. One role is define as ‘others’ for future
expansion.
 If user is administrator the user, question and answer, Report, user button is
enable.
 If user is interviewee, all quiz which are active will appear and he/she can select
from tose to start quiz.
Figure 3.2 describe the login mechanism design for this application.
22
Figure 3.2: Login design
Password validation has configured with the following manner. should contain at least one digit
should contain at least one lower case should contain at least one upper case should contain at
least 6 from the mentioned character Email Validation has also configured.
3.3.2 Forget password
If any user forget his/her password then user should input username after send to. If server user
found at database then system will generate a password and sent to concern user’s email address
23
This reset password will not be shown by anybody without the user (provided email to that
user).
Figure 3.3: Forget Password System Design
3.3.3 Admin Panel
Administrator has privilege to access four options. They are
1. Quiz
24
2. Question and Answer
3. Report
4. User
1. Quiz
Administrator can add quiz with following four options. They are
• Quiz Name
Name of the Quiz will define here.
• Active or Inactive
Currently any specific quiz is active or not. If any quiz is inactive (update by administrator) then
that quiz will not be shown to interviewee.
• Show result or not , If show result option is mark with ‘yes’ then any individual interviewee will
see score after finish Quiz. If ‘not’ mark, then can’t see the result.
• Quiz Time
Total time for quiz can be set from here only by administrator.
Application will communicate with webserver API and connect with database to extract
all quiz list and will show to administrator. Any quiz can be edit or delete from that list.
25
2. Question and Answers
Four multiple answer (max) can input by the administrator. Administrator can also set less than
four multiple (i.e. two, three) answer for any question.
• Question
Question will be written here.
• Answers:
Four multiple answer (max) can input by the administrator. Administrator can also
set less than four multiple (i.e. two, three) answer for any question.
• Quiz Name:
Every active Quiz from database will be shown here which let administrator to
choose any for add questions.
• Order No:
Question order can be set here.
26
For Update or Delete any question, Administrator need to choose any quiz. All questions
will visible to administrator for that particular quiz.
3. Report
Report will show for any particular quiz. Username of interviewee and score will be
shown to administrator
4. Users
Administrator can add quiz with following four options. They are
• User Name
User name will be provided as the user’s email address.
• Role
Role will be define as ‘Admin’ or ‘Interviewee’. If any user has ‘Admin’ role then
he/she can set Application parameters. If any user has ‘Interviewee’ role then he/she
can sit for any quiz.
• Password
Set password for that particular user.
27
• Confirm Password
Confirm password for that particular user.
After add any user, an automatic email to send to that user by system.
Application will communicate with webserver API and connect with database to extract all user
list and will show to administrator. Any user can be edit or delete from that list.
Figure 3.4 described the system design of admin panel.
28
3.4 Database Design
3.4.1 Table Schema
There are six tables configure for this application.
1. users
2. quiz
3. questions
4. answers
5. users_answers
6. user_quiz
users
Column Type Null
user_id int(11) No
email varchar(255) No
password varchar(255) No
role varchar(100) No
quiz
Column Type Null
quiz_id int(11) No
29
quiz_name varchar(255) No
active int(11) No
show result int(11) No
quiz_time int(11) No
questions
Column Type Null
ques_id int(11) No
question varchar(255) No
ques_order int(11) No
quiz_id int(11) No
answers
Column Type Null
ans_id int(11) No
ques_id int(11) No
answer varchar(255) No
is_correct int(11) No
Users answers
Column Type Null
uans_id int(11) No
ques_id int(11) No
quiz_id int(11) No
is_correct int(11) No
user_id int(11) No
User quiz
Column Type Null
uquiz_id int(11) No
user_id int(11) No
quiz_id int(11) No
30
quiz_date datetime No
3.4.2 Table Relationship / EER Diagram
31
Figure 3.6: Database Table relationship
3.5 Summary
The Project is developed in Java dynamic programming language by using the “Android
Studio” Integrated Development Environment (IDE). Android development Tool (ADT)
32
and Android software development kit (SDK) integrated with Titanium studio to
develop mobile applications on the Android platform. XML (recursive acronym for
XML: eXtensible markup Language) is used as backend which work as application
program interface (API). SQLITE Database is use for database configuration.
Chapter 4
User Manual
4.1 System Requirement
Device Operating
System (OS)
OS Version RAM Disk Space
Android
Mobile/Tab
Android 4.0.x to
higher
64 MB or
higher
18 Mb
Table V: Minimum System Requirement
33
4.2 Prerequisite
Internet Connection must active.
Valid Username with password must require to use this application.
4.3 Installation
To install the application in android mobile device or tablet device user needed to run
the setup package named as ‘technical quiz.apk ’. This package can store both in android
device memory and external memory card (micro SD card that connect with android
device). Package need maximum 9 Mb space. After copy it to android device, following
steps should be followed:
 Tap the folder where the ‘technical quiz’ is store.
 Tap the application package ‘technical quiz’.
After selecting the package, application lets user to install
Tap install
Installation is done and application is ready for use.
34
4.4 Getting Started
Tap the icon to open the application.
4.4.1 Home
35
Home screen will appear first, when the user start the app & it will appear for 4-5
36
4.4.2 User Registration
Registration screen will appear after Home page when you click on application, after
registration user will be able to choose & take quiz which he / she want.
37
4.4.3 Login
Login screen will appear after successful user registration. Enter username and password
to the desire field. Hint text indicates where you want to input username and password.
Tap the login button after type username and password.
38
4.4.4 Welcome page
Welcome page will appear for 3-5 seconds after successful user login / registration
39
4.4.5 Forget password
• If password has forgotten than tap the ‘forget password’ button.
• Another screen will appear where username need to input.
• After input username tap the button.
40
• Check the email address which one is tag with user ID. New password will sent to
email.
41
4.4.6 Technical Subjects
Choose subject which subjects quiz you want to take.
42
43
4.4.7 Quiz Management
44
User can manage quiz difficulty level, there are seven different difficulty levels for each
45
4.4.8 Start quiz / See High score
46
4.4.9 Sample questions
47
4.5 Enter user name (High Score)
48
4.5.1 Result
49
4.5.2 java module
50
51
4.5.3 Android Module
4.5.4Mysql module
52
4.5.5 HTML Module
53
Coding
Android Lanuch Activity
54
package com.example.hp.myquiz;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.LinearLayout;
public class Android_Launch extends Activity{
LinearLayout linearLayout;
Animation animLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.android_launch);
linearLayout=(LinearLayout)findViewById(R.id.l_layout);
animLayout=AnimationUtils.loadAnimation(this,
R.anim.text_view);
linearLayout.startAnimation(animLayout);
Thread timer=new Thread(){
public void run()
{
try {
sleep(3000 );
}catch (InterruptedException e)
{
55
e.printStackTrace();
}
finally {
Intent i=newIntent("android.example.hp.myquiz.Levels");
i.putExtra("subject","Android");
startActivity(i);
}
}
};timer.start();}
@Override
protected void onPause() {
super.onPause();
finish();
}
}
Login Activity
package com.example.hp.myquiz;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
56
import android.widget.Toast;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
public class LoginActivity extends AppCompatActivity {
private EditText inputEmail, inputPassword;
private FirebaseAuth auth;
private ProgressBar progressBar;
private Button btnSignup, btnLogin, btnReset;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Get Firebase auth instance
auth = FirebaseAuth.getInstance();
if (auth.getCurrentUser() != null) {
String email=auth.getCurrentUser().getEmail();
Intent i=new Intent(LoginActivity.this, Subjects.class);
i.putExtra("id",email);
startActivity(i);
finish();
}
57
// set the view now
setContentView(R.layout.activity_login);
inputEmail = (EditText) findViewById(R.id.email);
inputPassword = (EditText) findViewById(R.id.password);
progressBar = (ProgressBar) findViewById(R.id.progressBar);
btnSignup = (Button) findViewById(R.id.btn_signup);
btnLogin = (Button) findViewById(R.id.btn_login);
btnReset = (Button) findViewById(R.id.btn_reset_password);
//Get Firebase auth instance
auth = FirebaseAuth.getInstance();
btnSignup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(LoginActivity.this,
SignupActivity.class));
}
});
btnReset.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(LoginActivity.this,
ResetPasswordActivity.class));
}
});
btnLogin.setOnClickListener(new View.OnClickListener() {
58
@Override
public void onClick(View v) {
String email = inputEmail.getText().toString();
final String password =
inputPassword.getText().toString();
if (TextUtils.isEmpty(email)) {
Toast.makeText(getApplicationContext(), "Enter
email address!", Toast.LENGTH_SHORT).show();
return;
}
if (TextUtils.isEmpty(password)) {
Toast.makeText(getApplicationContext(), "Enter
password!", Toast.LENGTH_SHORT).show();
return;
}
progressBar.setVisibility(View.VISIBLE);
//authenticate user
auth.signInWithEmailAndPassword(email, password)
.addOnCompleteListener(LoginActivity.this, new
OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull
Task<AuthResult> task) {
// If sign in fails, display a message
to the user. If sign in succeeds
59
// the auth state listener will be
notified and logic to handle the
// signed in user can be handled in the
listener.
progressBar.setVisibility(View.GONE);
if (!task.isSuccessful()) {
// there was an error
if (password.length() < 6) {
inputPassword.setError(getStrin
g(R.string.minimum_password));
} else {
Toast.makeText(LoginActivity.this,getString(R.string.auth_failed),
Toast.LENGTH_LONG).show();
}
} else {
String
email=auth.getCurrentUser().getEmail();
Intent i=new Intent(LoginActivity.this, Subjects.class);
i.putExtra("id",email);
startActivity(i);
finish();
}
}
});
}
});
}
}
60
SignUpActivity
package com.example.hp.myquiz;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.Toast;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
public class SignupActivity extends AppCompatActivity {
61
private EditText inputEmail, inputPassword;
private Button btnSignIn, btnSignUp, btnResetPassword;
private ProgressBar progressBar;
private FirebaseAuth auth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_singnup);
//Get Firebase auth instance
auth = FirebaseAuth.getInstance();
btnSignIn = (Button) findViewById(R.id.sign_in_button);
btnSignUp = (Button) findViewById(R.id.sign_up_button);
inputEmail = (EditText) findViewById(R.id.email);
inputPassword = (EditText) findViewById(R.id.password);
progressBar = (ProgressBar) findViewById(R.id.progressBar);
btnResetPassword = (Button) findViewById(R.id.btn_reset_password);
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
auth = FirebaseAuth.getInstance();
if (auth.getCurrentUser() != null) {
// User is logged in
String email=auth.getCurrentUser().getEmail();
Intent i=new Intent(SignupActivity.this, Subjects.class);
i.putExtra("id",email);
startActivity(i);
finish();
}
62
btnResetPassword.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(SignupActivity.this,
ResetPasswordActivity.class));
}
});
btnSignIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(SignupActivity.this, LoginActivity.class));
finish();
}});
btnSignUp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String email = inputEmail.getText().toString().trim();
String password = inputPassword.getText().toString().trim();
if (TextUtils.isEmpty(email)) {
Toast.makeText(getApplicationContext(), "Enter email address!",
Toast.LENGTH_SHORT).show();
return;
}
63
if (TextUtils.isEmpty(password)) {
Toast.makeText(getApplicationContext(), "Enter password!",
Toast.LENGTH_SHORT).show();
return;
}
if (password.length() < 6) {
Toast.makeText(getApplicationContext(), "Password too short, enter
minimum 6 characters!", Toast.LENGTH_SHORT).show();
return;
}
progressBar.setVisibility(View.VISIBLE);
//create user
auth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(SignupActivity.this, new
OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
Toast.makeText(SignupActivity.this, "createUserWithEmail:onComplete:" +
task.isSuccessful(), Toast.LENGTH_SHORT).show();
progressBar.setVisibility(View.GONE);
if (!task.isSuccessful()) {
Toast.makeText(SignupActivity.this, "Authentication failed." +
task.getException(),
Toast.LENGTH_SHORT).show();
} else {
String email=auth.getCurrentUser().getEmail();
64
Intent i=new Intent(SignupActivity.this, Subjects.class);
i.putExtra("id",email);
startActivity(i);
finish();
}
}
});
}
});
}
@Override
protected void onResume() {
super.onResume();
progressBar.setVisibility(View.GONE);
}
}
Welcome Activity
ackage com.example.hp.myquiz;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.LinearLayout;
65
public class Welcome extends Activity{
LinearLayout;
Animation animLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.welcome);
linearLayout=(LinearLayout)findViewById(R.id.welcome_layout);
animLayout= AnimationUtils.loadAnimation(this, R.anim.accelerate_right);
linearLayout.startAnimation(animLayout);
Intent intent=getIntent();
final String email=intent.getStringExtra("id");
Thread timer=new Thread(){
public void run()
{
try {
sleep(3000 );
}catch (InterruptedException e)
{
e.printStackTrace();
}
finally {
Intent i=new Intent("android.example.hp.myquiz.Subjects");
i.putExtra("id",email);
startActivity(i);
}
66
}
};timer.start();
}
@Override
protected void onPause() {
super.onPause();
finish();}
}
References
1. https://www.developer.android.com
2. https://www.google.com
3. https://www.tutorialspoint.com/android
4. https://www.javatpoint.com/android-tutorial
5. http://www.vogella.com/tutorials/android.html
67
6. http://www.coreservlets.com/android-tutorial/
7. http://www.androidauthority.com/android-studio-tutorial-beginners
8. https://www.youtube.com/watch?
v=QAbQgLGKd3Y&list=PL6gx4Cwl9DGBsvRxJJOzG4r4k_zLKrnxl
9. https://www.youtube.com/watch?
v=aRd3_E2j4Q0&list=PLshdtb5UWjSp0879mLeCsDQN6L73XBZTk
10. https://www.youtube.com/watch?v=-
ospNp8G_8Y&list=PLC2ckqpdruK057uFopVaCxYTnKnXxLHhB
68
69

More Related Content

What's hot

Android Project Presentation
Android Project PresentationAndroid Project Presentation
Android Project PresentationLaxmi Kant Yadav
 
Banking Management System Project documentation
Banking Management System Project documentationBanking Management System Project documentation
Banking Management System Project documentationChaudhry Sajid
 
Online Quiz System Project Report ppt
Online Quiz System Project Report pptOnline Quiz System Project Report ppt
Online Quiz System Project Report pptKishan Maurya
 
Quizz app By Raihan Sikdar
Quizz app By Raihan SikdarQuizz app By Raihan Sikdar
Quizz app By Raihan Sikdarraihansikdar
 
My Project Report Documentation with Abstract & Snapshots
My Project Report Documentation with Abstract & SnapshotsMy Project Report Documentation with Abstract & Snapshots
My Project Report Documentation with Abstract & SnapshotsUsman Sait
 
Android Based Application Project Report.
Android Based Application Project Report. Android Based Application Project Report.
Android Based Application Project Report. Abu Kaisar
 
Online quiz by danish & sudhanshu techlites
Online quiz by danish & sudhanshu techlitesOnline quiz by danish & sudhanshu techlites
Online quiz by danish & sudhanshu techlitesDanish Anwar
 
e-commerce web development project report (Bookz report)
e-commerce web development project report (Bookz report)e-commerce web development project report (Bookz report)
e-commerce web development project report (Bookz report)Mudasir Ahmad Bhat
 
CSE Final Year Project Presentation on Android Application
CSE Final Year Project Presentation on Android ApplicationCSE Final Year Project Presentation on Android Application
CSE Final Year Project Presentation on Android ApplicationAhammad Karim
 
Development of Mobile Application -PPT
Development of Mobile Application -PPTDevelopment of Mobile Application -PPT
Development of Mobile Application -PPTDhivya T
 
Attendance management system project report.
Attendance management system project report.Attendance management system project report.
Attendance management system project report.Manoj Kumar
 
Android Internship report presentation
Android Internship report presentationAndroid Internship report presentation
Android Internship report presentationvinayh.vaghamshi _
 
Android College Application Project Report
Android College Application Project ReportAndroid College Application Project Report
Android College Application Project Reportstalin george
 
Final Year Project BCA Presentation on Pic-O-Stica
Final Year Project BCA Presentation on Pic-O-SticaFinal Year Project BCA Presentation on Pic-O-Stica
Final Year Project BCA Presentation on Pic-O-SticaSharath Raj
 
Final Year Project Presentation
Final Year Project PresentationFinal Year Project Presentation
Final Year Project PresentationSyed Absar
 
Android project report learning np complete
Android project report learning np completeAndroid project report learning np complete
Android project report learning np completeSubha Deb
 
Software Requirement Specification Of Hotel Management System
Software Requirement Specification Of Hotel Management SystemSoftware Requirement Specification Of Hotel Management System
Software Requirement Specification Of Hotel Management SystemUttam Singh Chaudhary
 

What's hot (20)

Android Project Presentation
Android Project PresentationAndroid Project Presentation
Android Project Presentation
 
Banking Management System Project documentation
Banking Management System Project documentationBanking Management System Project documentation
Banking Management System Project documentation
 
Online Quiz System Project Report ppt
Online Quiz System Project Report pptOnline Quiz System Project Report ppt
Online Quiz System Project Report ppt
 
Quizz app By Raihan Sikdar
Quizz app By Raihan SikdarQuizz app By Raihan Sikdar
Quizz app By Raihan Sikdar
 
Quiz
QuizQuiz
Quiz
 
My Project Report Documentation with Abstract & Snapshots
My Project Report Documentation with Abstract & SnapshotsMy Project Report Documentation with Abstract & Snapshots
My Project Report Documentation with Abstract & Snapshots
 
Android Based Application Project Report.
Android Based Application Project Report. Android Based Application Project Report.
Android Based Application Project Report.
 
Online quiz by danish & sudhanshu techlites
Online quiz by danish & sudhanshu techlitesOnline quiz by danish & sudhanshu techlites
Online quiz by danish & sudhanshu techlites
 
Online quiz system
Online quiz systemOnline quiz system
Online quiz system
 
e-commerce web development project report (Bookz report)
e-commerce web development project report (Bookz report)e-commerce web development project report (Bookz report)
e-commerce web development project report (Bookz report)
 
CSE Final Year Project Presentation on Android Application
CSE Final Year Project Presentation on Android ApplicationCSE Final Year Project Presentation on Android Application
CSE Final Year Project Presentation on Android Application
 
Development of Mobile Application -PPT
Development of Mobile Application -PPTDevelopment of Mobile Application -PPT
Development of Mobile Application -PPT
 
Attendance management system project report.
Attendance management system project report.Attendance management system project report.
Attendance management system project report.
 
Android Internship report presentation
Android Internship report presentationAndroid Internship report presentation
Android Internship report presentation
 
Android College Application Project Report
Android College Application Project ReportAndroid College Application Project Report
Android College Application Project Report
 
Online examination system
Online examination systemOnline examination system
Online examination system
 
Final Year Project BCA Presentation on Pic-O-Stica
Final Year Project BCA Presentation on Pic-O-SticaFinal Year Project BCA Presentation on Pic-O-Stica
Final Year Project BCA Presentation on Pic-O-Stica
 
Final Year Project Presentation
Final Year Project PresentationFinal Year Project Presentation
Final Year Project Presentation
 
Android project report learning np complete
Android project report learning np completeAndroid project report learning np complete
Android project report learning np complete
 
Software Requirement Specification Of Hotel Management System
Software Requirement Specification Of Hotel Management SystemSoftware Requirement Specification Of Hotel Management System
Software Requirement Specification Of Hotel Management System
 

Similar to Android technical quiz app

Report (icons event ) (2)
Report (icons event ) (2)Report (icons event ) (2)
Report (icons event ) (2)SIDDHARTHHATKAR
 
DATA AND BUSINESS PROCESS INTELLIGENCE
DATA AND BUSINESS PROCESS INTELLIGENCEDATA AND BUSINESS PROCESS INTELLIGENCE
DATA AND BUSINESS PROCESS INTELLIGENCESwati Singh
 
Bike sharing android application
Bike sharing android applicationBike sharing android application
Bike sharing android applicationSuraj Sawant
 
Chat Application [Full Documentation]
Chat Application [Full Documentation]Chat Application [Full Documentation]
Chat Application [Full Documentation]Rajon
 
FINAL REPORT DEC
FINAL REPORT DECFINAL REPORT DEC
FINAL REPORT DECAxis Bank
 
AMIZONER: Final Report
AMIZONER: Final ReportAMIZONER: Final Report
AMIZONER: Final ReportNeil Mathew
 
“Management of Large and Complex Software Projects”
“Management of Large and Complex Software Projects”“Management of Large and Complex Software Projects”
“Management of Large and Complex Software Projects”Sudipta Das
 
NIC Project Final Report
NIC Project Final ReportNIC Project Final Report
NIC Project Final ReportKay Karanjia
 
InternshipReportFormat.docx
InternshipReportFormat.docxInternshipReportFormat.docx
InternshipReportFormat.docxssuser2fe708
 
Floor cleaning robot report vatsal shah_ec_7th sem
Floor cleaning robot report vatsal shah_ec_7th semFloor cleaning robot report vatsal shah_ec_7th sem
Floor cleaning robot report vatsal shah_ec_7th semVatsal N Shah
 
project report of social networking web sites
project report of social networking web sitesproject report of social networking web sites
project report of social networking web sitesGyanendra Pratap Singh
 
1112566_Dissertation
1112566_Dissertation1112566_Dissertation
1112566_DissertationHarry Hall
 
Report on design and development of low cost 3d printer
Report on design and development of low cost 3d printerReport on design and development of low cost 3d printer
Report on design and development of low cost 3d printerApurva Tolia
 
Digital Intelligence, a walkway to Chirology
Digital Intelligence, a walkway to ChirologyDigital Intelligence, a walkway to Chirology
Digital Intelligence, a walkway to Chirologyjgd2121
 
online examination management system
online examination management systemonline examination management system
online examination management systemPraveen Patel
 
Project.12
Project.12Project.12
Project.12GS Kosta
 

Similar to Android technical quiz app (20)

Report 2
Report 2Report 2
Report 2
 
Report (icons event ) (2)
Report (icons event ) (2)Report (icons event ) (2)
Report (icons event ) (2)
 
DATA AND BUSINESS PROCESS INTELLIGENCE
DATA AND BUSINESS PROCESS INTELLIGENCEDATA AND BUSINESS PROCESS INTELLIGENCE
DATA AND BUSINESS PROCESS INTELLIGENCE
 
Bike sharing android application
Bike sharing android applicationBike sharing android application
Bike sharing android application
 
Chat Application [Full Documentation]
Chat Application [Full Documentation]Chat Application [Full Documentation]
Chat Application [Full Documentation]
 
NEW BACKEND.pdf
NEW BACKEND.pdfNEW BACKEND.pdf
NEW BACKEND.pdf
 
FINAL REPORT DEC
FINAL REPORT DECFINAL REPORT DEC
FINAL REPORT DEC
 
AMIZONER: Final Report
AMIZONER: Final ReportAMIZONER: Final Report
AMIZONER: Final Report
 
“Management of Large and Complex Software Projects”
“Management of Large and Complex Software Projects”“Management of Large and Complex Software Projects”
“Management of Large and Complex Software Projects”
 
NIC Project Final Report
NIC Project Final ReportNIC Project Final Report
NIC Project Final Report
 
InternshipReportFormat.docx
InternshipReportFormat.docxInternshipReportFormat.docx
InternshipReportFormat.docx
 
VENDING_MACHINE_2023-2024
VENDING_MACHINE_2023-2024VENDING_MACHINE_2023-2024
VENDING_MACHINE_2023-2024
 
Floor cleaning robot report vatsal shah_ec_7th sem
Floor cleaning robot report vatsal shah_ec_7th semFloor cleaning robot report vatsal shah_ec_7th sem
Floor cleaning robot report vatsal shah_ec_7th sem
 
Mobile d
Mobile dMobile d
Mobile d
 
project report of social networking web sites
project report of social networking web sitesproject report of social networking web sites
project report of social networking web sites
 
1112566_Dissertation
1112566_Dissertation1112566_Dissertation
1112566_Dissertation
 
Report on design and development of low cost 3d printer
Report on design and development of low cost 3d printerReport on design and development of low cost 3d printer
Report on design and development of low cost 3d printer
 
Digital Intelligence, a walkway to Chirology
Digital Intelligence, a walkway to ChirologyDigital Intelligence, a walkway to Chirology
Digital Intelligence, a walkway to Chirology
 
online examination management system
online examination management systemonline examination management system
online examination management system
 
Project.12
Project.12Project.12
Project.12
 

Recently uploaded

VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
DATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage exampleDATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage examplePragyanshuParadkar1
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
Effects of rheological properties on mixing
Effects of rheological properties on mixingEffects of rheological properties on mixing
Effects of rheological properties on mixingviprabot1
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 

Recently uploaded (20)

VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
DATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage exampleDATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage example
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
Effects of rheological properties on mixing
Effects of rheological properties on mixingEffects of rheological properties on mixing
Effects of rheological properties on mixing
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 

Android technical quiz app

  • 1. JP INSTITUTE OF ENGINEERING & TECHNOLOGY, MEERUT A Project Report On “ANDROID TECHNICAL QUIZ APP” Submitted in partial fulfillment of the requirements for the award of the degree of Bachelor of Technology in Information Technology Submitted by: Deepak Kumar Univ. Roll No-1328213014 Jagdeep Singh Univ. Roll No-1328213023 Mohd. Danish Safi Univ. Roll No -1328213036 Under The Guidance of Mr. Anuj Kumar Assistant Professor (Department of CSE & IT) DR.A.P.J.ABDUL KALAM TECHNICAL UNIVERSITY, LUCKNOW, UTTAR PRADESH Session: 2016-17
  • 2. TABLE OF CONTENTS Page DECLARATION ................................................................................................... …………… ii CERTIFICATE .................................................................................................................. iii ACKNOWLEDGEMENTS ..............................................................................................……. iv ABSTRACT..................................................................................................................................v LIST OF TABLES........................................................................................................................vii LIST OF FIGURES......................................................................................................................viii LIST OF SYMBOLS ....................................................................................................................ix LIST OF ABBREVIATIONS....................................................................................................... x Chapter 1: Introduction 1.1 Overview ……………………………………………………………………………. 1 1.2 Objectives …………………………………………………………………………… 2 1.3 Motivation ……………………………….................................................................... 3 1.4 Book Organization …………………………………………………………………... 4 ii
  • 3. 1.5 Summary …………………………………………………………………………….. 5 Chapter 2: Proposed Model 2.1 Purpose of the project ………………………………………………………………... 6 2.1.1 Administrative Task ………………………………………………………………... 7 2.1.2 Interviewee Task …………………………………………………………………… 8 2.3 Flow Chart……………………………………………………………………………..9 2.3.1 Description for flow chart…………………………………………………………...10 2.4 Data Flow Diagram……………………………………………………........................14 2.5 ER Diagram……………………………….…………………………………………...21 2.4 Summary ………………………………………………………………………………11 Chapter 3: Implementation 3.1 Technologies Used………………………………………………………………….. 8 3.1.1 Microsoft Windows 7…………………………... …………………………………8 3.1.2 Java Development Kit (JDK)…………………… ………………………………...9 iii
  • 4. 3.1.4 Android SDK…………………………………………………………………….. 11 3.1.5 HAXM…………………………………………. ……………………………….. 14 3.2 Tools Used……………………………………………….. ………………………..16 3.2.1 Android Studio…………………………………………………………………. 16 3.3 System Design…………………………………………………………………….. 18 3.3.1 Log in to the application………………………... ……………………………….18 3.3.2 Forget password………………………………… ……………………………….19 3.3.3 Admin Panel…………………………………………………………………….. 20 3.3.4 Interviewee Panel……………………………………………………………….. 24 3.4 Database Design…………………………………………. ………………………..25 3.4.1 Table Schema…………………………………………………………………… 25 3.4.2 Table Relationship / EER Diagram……………………………………………... 27 3.4.3 Summary …………………………………………………………………………. 27 Chapter 4: User Manual 4.1 System Requirement……………………………………… ……………………....28 4.2 Prerequisite………………………………………………………………...............29 iv
  • 5. 4.3 Installation…………………………………………………………………………30 4.4 Getting Started……………………………………………………………………33 4.5 Login……………………………………………… ……………………..........34 4.5.1 Forget password…………………………………………………………..........35 4.5.2 Administrator……………………………………..............................................36 4.5.3 User Management……………………………………………………………31 4.5.4 Quiz Management…………………………………………………………...32 4.5.5 Question & Answer Management…………………………………………...33 4.5.6 Report ………………………………………………………………………...35 4.5.7 Summary ………………………………………………………………………..40 Chapter 5: Conclusion and Future Works 5.1 Summary of the Literature …………………………………………………….37 5.2 Future Study …………………………………………………………………...37 Sample Code ………………………………………………………………………….40 REFERENCES………………………………………........................................... 38 v
  • 6. CERTIFICATE This is to certify that this Project Report entitled “ANDROID TECHNICAL QUIZ” which is submitted by Deepak Kumar (1328213014), Jagdeep Singh (1328213023), Mohd. Danish Saifi (1328213036), in the partial fulfillment, for the award of degree of Bachelor of Technology in Department of Computer Science & Engineering, of JP INSTITUTE OF ENGINEERING & TECHNOLOGY, Meerut, affiliated to DR.A.P.J.ABDUL KALAM TECHNICAL UNIVERSITY, Lucknow; is carried out by him/her under my supervision .The matter embodied in this Project Work has not been submitted earlier for award of any degree or diploma in any university/institution to the best of our knowledge and belief. (Mr. Anuj Kumar) (Dr. Sanjeev Kumar Sharma) Project Guide Head (CSE/IT/MCA) Date: __/__/____ vi
  • 7. vii
  • 8. DECLARATION I hereby declare that this submission is our own work and that, to the best of our knowledge and belief, it contains no material previously published or written by another person nor material which to a substantial extent has been accepted for the award of any other degree or diploma of the university or other institute of higher learning, except where due acknowledgment has been made in the text. Deepak Kumar 1328213014 …………. Jagdeep Singh 1328213023 ………….. Mohd. Danish Saifi 1328213036 ………….. viii
  • 9. ACKNOWLEDGEMENT It gives us a great sense of pleasure to present the report of the Project Work, undertaken during B. Tech. Final Year. We owe special debt of gratitude to Mr. Anuj Kumar Assistant Professor, Department of Information Technology, JP Institute of Engineering & Technology, Meerut for his constant support and guidance throughout the course of our work. His sincerity, thoroughness and perseverance have been a constant source of inspiration for us. It is only his cognizant efforts that our endeavors have seen light of the day.We also take the opportunity to acknowledge the contribution of Dr. Sanjeev Kumar Sharma, DEAN (Academics & Research), Department of Computer Science & Engineering, JP Institute of Engineering & Technology, Meerut for his full support and assistance during the development of the project. We also do not like to miss the opportunity to acknowledge the contribution of all faculty members of the department for their kind assistance and cooperation during the development of our project. Last but not the least, we acknowledge our friends for their contribution in the completion of the project. Signature: Name : Roll No.: Date : Signature: Name : Roll No.: Date : Signature: Name : Roll No.: ix
  • 11. ABBREVIATIONS AND ACRONYMS OS Operating System UI User Interface MCQ Multiple Choice Question RAM Random Access Memory JDK Java Development Kit APT Annotation-Processing Tool SDK Software Development Kit API Application Program Interface HAXM Intel Hardware Accelerated Execution Manager XML Extensible Markup Language CGI Common Gateway Interface IDE Integrated Development Environment EER Enhanced Entity Relationship LIST OF FIGURES xi
  • 12. Fig 1.1 A survey result on a random sample of different age groups of mobile phone users in India, based on their preferred Operating systems. 1 Fig 2.2 Flow Chart for ‘Technical Quiz’ 6 Fig 3.1 Login design 19 Fig 3.3 Forget Password System Design 20 Fig. 3.6 Database Table relationship 27 Fig. 4.1 Login Form 29 Fig. 4.2 Forget Password 30 Fig. 4.3 User ID Input 30 Fig. 4.5 User List View 31 Fig. 4.7 User Addition 32 Fig. 4.8 Quiz list 32 Fig. 4.9 Quiz Edit/Delete 32 Fig. 4.10 Quiz Add 33 Fig. 4.11 Question & Answer Addition 34 Fig. 4.12 Quiz Selection 35 Fig. 4.13 View Question 35 Fig. 4.14 Select quiz for Report 35 Fig. 4.15 Select quiz 36 Fig. 4.16 Start Quiz 36 LIST OF TABLES TABLE I WINDOWS 7 MINIMUM HARDWARE xii
  • 13. REQUIREMENT 8 TABLE II PHYSICAL MEMORY LIMITS OF WINDOWS 7 9 TABLE III API LEVEL SUPPORTED BY EACH VERSION OF THE ANDROID PLATFORM 13 TABLE IV TITANIUM SDK SUPPORTED BY EACH VERSION OF THE ANDROID SDK 15 TABLE V MINIMUM SYSTEM REQUIREMENT 28 xiii
  • 14. Chapter 1 INTRODUCTION 1.1 Overview In today’s world, Smart phones have changed our lives and have become an indispensable part of our lives because of its specialty to simplify our routine work and thereby saving our time. A Smartphone with an Android OS offers excellent functionality to the users offering a distinct experience. Android is a Linux based operating system and it was bought by Google in 2007.There are tons of application available and one of the prime reason for this vast number is android being an open source. On the other hand, android based device like mobile, tab are very user friendly. A survey has done by “Light Castle Partners” research wing which indicates that though other operating system mobile users exist but the majority users are goes with android operating system [1]. 1
  • 15. Figure 1.1: A survey result on a random sample of different age groups of mobile phone users in India, based on their preferred operating systems [1]. In this context, Project application is developed based on android platform. The name of application is define as ‘Technical Quiz”. Aims of this project is to develop an android platform supported Quiz application named “Technical Quiz”. It is an online quiz application where user with admin privilege can do administrative task like add, delete and edit from application user interface (UI) and interviewee can participate for MCQ quiz with time limit. So, goals of this project to facilitate users to configure quizzes as well as giving quizzes with this android based smart phone. User friendly environment configuration is also another goal for this project application. 2
  • 16. 1.2 Objectives The main objective of “Technical Quiz” is to facilitate a user friendly environment for all users and reduces the manual effort. In past days quiz is conducted manually but in further resolution of the technology we are able to generate the score and pose the queries automatically. The functional requirements include to create users that are going to participate in the quiz, automatic score and report generation and administrative tasks like add, delete, update for admin privilege users. In this application, all the permissions lies with the administrator i.e., specifying the details of the quiz with checking result will show to interviewee or not, addition of question and answers, marks for each question, Set timer for each quiz and generate report with score for each quiz. 1.3 Motivation Currently most of the Examination like organizational recruitment, University class test are paper based, which costs time and resources. Questionnaire is developed, printed, and then collect data, entry, editing, cleaning, which time consuming and costly. Proposed application is the starting for avoid those circumstances which are been currently faced by any organization. 3
  • 17. 1.4 Book Organization The Books has fiver chapters. Different chapters contain various table and figure which are relevant with this online Quiz project. The chapters are respectively Introduction, Proposed Model, Implementation, User Manual and conclusion. Introduction has described the objective of this quiz application project. Second chapter, Proposed Model describe the model design for quiz application. Third Chapter, Implementation describe the technical configuration which has done for this project. Fourth Chapter, User Manual describe the guideline for any UI user. Last chapter, Conclusion describe the summary of this literature. References and sample Code are attached at the end of this book. 1.5 Summary Dramatic breakthroughs in processing power along with the number of extra features included in mobile devices have opened the doors to a wide range of commercial possibilities. In particular, most cell phones regularly include processors comparable to PCs and internet access from a few years ago. With all these added abilities, Online Quiz application is design for Android based system mobile. 4
  • 18. Chapter 2 Proposed Model 2.1 Purpose of the project This Project main purpose is to develop Quiz system named ‘Technical Quiz. The application (Technical Quiz) will provide online based quiz with multiple choice question (MCQ). This quiz application will support android base operating system. With this application, users or any organization can perform actions like • Administrative Task • Interview Task 2.1.2 Quiz Task 5
  • 19. Select any Quiz or subject which he /she wants to give Examination. One interviewer can give Quiz only for one time. Once a quiz has finished, it become inactive to that user. Finally, Score can be shown considering the quiz has been taken from any individuals. As a result, the following tasks are define as interviewee task. • Log in to the system as Interviewee privilege • Select Desire Quiz • Answer questions within set time (by admin) • Finish Quiz 3.3 Flow Chart: The flowchart is a means of visually presenting the flow of data through an information processing system, the operations performed within the system and the sequence in which they are performed. In this lesson, we shall concern ourselves with the program flowchart, which describes what operations (and in what sequence) are required to solve a given problem. The program flowchart can be likened to the blueprint of a building. As we know a designer draws a blueprint before starting construction on a building. Similarly, a programmer prefers to draw a flowchart prior to writing a computer program. As in the case of the drawing of blueprint, the flowchart is drawn according to defined rules and standard flowchart symbols prescribed by the American National Standard Institute,Inc. Symbols used to make flowchart: 6
  • 20. Start or end of the program Computational steps or processing function of a program Input or output Decision making and branching Connector or joining of two parts of program Off page connector Flow lines 7
  • 21. Figure 2.2: Flow Chart for ‘Technical quiz’ 2.3.1 Description for flow chart 1. After login with username and password, Role for that particular user will verify from server database. 8
  • 22. 2. If user is administrator, following options shall be managed. • User • Login / Register • Welcome • Quiz • Question and Answer • High Score Above four options can be add, edit and delete by administrator. 3. Score report will show to administrator in read only mode. 4. If user is interviewee, all active quiz list will enable for giving test. 5. Quiz will execute with certain time limit. Quiz will finish after that time or all question answered. . E-R Diagram 9
  • 23. Entity Multivalued attribute Primary key Attribute Relation 3.1Data Flow Diagram (DFD) A data flow diagram (DFD) is a graphical representation of the “flow” of data through an information system. DFDs can be used for the visualization of data processing (structured design). On a DFD, data items flow from an external data source or an internal data store to an internal data store or an external data sink, via an internal process. A DFD provides no information about the timing or ordering of processes, or about whether processes will operate in sequence or in parallel. It is therefore quite different 10
  • 24. from a flowchart, which shows the flow of control through an algorithm, allowing a reader to determine what operations will be performed, in what order, and under what circumstances, but not what kinds of data will be input to and output from the system, nor where the data will come from and go to, nor where the data will be stored. The data flow diagram of the “Anti Theft Department” is given on the next following pages: DFD Level 0; Chapter 3 Implementation 11
  • 25. 3.1 Technologies Used • Microsoft Windows 7 • Java Development Kit • Android SDK • Intel Hardware Accelerated Execution Manager (HAXM) • SQLite Database • XML 3.1.1 Microsoft Windows 7 It should be mentioned that all tools and technology are installed for development work at windows 7 operating system 64 bit platform. Windows 7 is a personal computer operating system developed by Microsoft. It is a part of Windows NT family of operating systems. Development of Windows 7 started as early as 2006 under the codename "Blackcomb." Windows 7 was released to manufacturing on July 22, 2009, and became generally available on October 22, 2009, less than three years after the release of its predecessor, Windows Vista. Minimum hardware requirements for Windows 7 is given below [2]. 12
  • 26. Component Operating system architecture 32-bit 64-bit Processor 1 GHz IA-32 processor 1 GHz x86-64 processor Memory (RAM) 1 GB 2 GB Graphics card DirectX 9 graphics processor with WDDM driver model 1.0 (Not absolutely necessary; o nly required for Aero) Free hard drive space 16 GB 20 GB Optical drive DVD-ROM drive (Only to install from DVD-ROM media) Table I: Windows 7 Minimum Hardware Requirement [2] The maximum amount of RAM that Windows 7 supports varies depending on the product edition and on the processor architecture, as shown below figure Edition Processor architecture IA-32 (32-bit) x64 (64-bit) Ultimate 4 GB 192 GB Enterprise Professional Home Premium 16 GB Home Basic 8 GB Starter 2 GB Table II: Physical memory limits of Windows 7 [2] 3.1.2 Java Development Kit (JDK) 13
  • 27. A Java Development Kit (JDK) is a program development environment for writing Java applets and applications. It consists of a runtime environment that "sits on top" of the operating system layer as well as the tools and programming that developers need to compile, debug, and run javac – the Java compiler, which converts source code into Java bytecode javadoc – the documentation generator, which automatically generates documentation from source code comments jar – the archiver, which packages related class libraries into a single JAR file. This tool also helps manage JAR files. jstack – utility which prints Java stack traces of Java threads (experimental) jstat – Java Virtual Machine statistics monitoring tool (experimental) jstatd – jstat daemon (experimental) keytool – tool for manipulating the keystore pack200 – JAR compression tool policytool – the policy creation and management tool, which can determine policy for a Java runtime, specifying which permissions are available for code from various sources Visual VM – visual tool integrating several command-line JDK tools and lightweight performance and 3.1.4 Android SDK The Android SDK (software development kit) is a set of development tools used to develop applications for Android platform. The Android SDK includes the following: • Required libraries • Debugger 14
  • 28. • An emulator • Relevant documentation for the Android application program interfaces (APIs) • Sample source code • Tutorials for the Android OS Every time Google releases a new version of Android, a corresponding SDK is also released. To be able to write programs with the latest features, developers must download and install each version’s SDK for the particular phone [5]. API Level is an integer value that uniquely identifies the framework API revision offered by a version of the Android platform. The Android platform provides a framework API that applications can use to interact with the underlying Android system. The framework API consists of: • A core set of packages and classes • A set of XML elements and attributes for declaring a manifest file • A set of XML elements and attributes for declaring and accessing resources • A set of Intents 15
  • 29. • A set of permissions that applications can request, as well as permission enforcements included in the system The API Level identifier serves a key role in ensuring the best possible experience for users and application developers: • It lets the Android platform describe the maximum framework API revision that it supports • It lets applications describe the framework API revision that they require • It lets the system negotiate the installation of applications on the user's device, such that version-incompatible applications are not installed. The table below specifies the API Level supported by each version of the Android platform [6]. Platform Version API Level VERSION_CODE Android 7.0 25 NOUGAT Android 6.1 24 MARSHMALLOW Android 6.0 23 MARSHMALLOW Android 5.1 22 LOLLIPOP_MR1 Android 5.0 21 LOLLIPOP Android 4.4W 20 KITKAT_WATCH Android 4.4 19 KITKAT Android 4.3 18 JELLY_BEAN_MR2 Android 4.2, 4.2.2 17 JELLY_BEAN_MR1 Android 4.1, 4.1.1 16 JELLY_BEAN Android 4.0.3, 4.0.4 15 ICE_CREAM_SANDWICH_MR1 Android 4.0, 4.0.1, 4.0.2 14 ICE_CREAM_SANDWICH Android 3.2 13 HONEYCOMB_MR2 Android 3.1.x 12 HONEYCOMB_MR1 Android 3.0.x 11 HONEYCOMB 16
  • 30. Android 2.3.4 Android 2.3.3 10 GINGERBREAD_MR1 Android 2.3.2 Android 2.3.1 Android 2.3 9 GINGERBREAD Android 2.2.x 8 FROYO Android 2.1.x 7 ECLAIR_MR1 Android 2.0.1 6 ECLAIR_0_1 Android 2.0 5 ECLAIR Android 1.6 4 DONUT Android 1.5 3 CUPCAKE Android 1.1 2 BASE_1_1 Android 1.0 1 BASE Table III: API Level supported by each version of the Android platform [6] Applications can use a manifest element provided by the framework API — <usessdk> — to describe the minimum and maximum API Levels under which they are able to run, as well as the preferred API Level that they are designed to support. The element offers three key attributes: • android:minSdkVersion — Specifies the minimum API Level on which the application is able to run. The default value is "1". • android:targetSdkVersion — Specifies the API Level on which the application is designed to run. In some cases, this allows the application to use manifest elements or behaviors defined in the target API Level, rather than being restricted to using only those defined for the minimum API Level. 17
  • 31. • android:maxSdkVersion — Specifies the maximum API Level on which the application is able to run . 3.1.5 Intel Hardware Accelerated Execution Manager (HAXM) Intel(r) HAXM is the Intel® Hardware Accelerated Execution Manager is a hardware- assisted virtualization engine (hypervisor) that uses Intel Virtualization Technology (Intel(r) VT) to speed up Android app emulation on a host machine. In combination with Android x86 emulator images provided by Intel and the official Android SDK Manager, HAXM allows for faster Android emulation on Intel VT enabled systems. The Intel HAXM driver runs inside the emulator as well as on the host machine. It runs on various versions of Windows, Linux, and Mac OS [7].The following platforms are supported by the Intel HAXM. • Windows 8 and 8.1 (32/64-bit) • Windows 7 (32/64-bit) • Windows Vista (32/64-bit) 18
  • 32. 3.2 Tools Used 3.2.1 Android Studio Android Studio is Android's official IDE. It is purpose built for Android to accelerate your development and help you build the highest-quality apps for every Android device .It offer tools custom-tailored for Android developers, including rich code editing, debugging, testing, and profiling tools. • Operating System  A recent version of Windows, OS X or Ubuntu • Memory  2 GB RAM (available memory, rather than total memory) • Java Runtime  Oracle JDK (no other brand of Java is suitable) Titanium's unique trait among the various available cross-platform mobile solutions is that it creates truly native apps. This is in contrast to web-based solutions that deliver functionality via an enhanced web view. Titanium, not wanting to be limited by 19
  • 33. the native web view, has engaged in a much deeper integration with the underlying platforms. This gives Titanium developers the ability to leverage native UI components and services, as well as near-native performance, features you won't find in other crossplatform mobile development solution. In addition, you'll have access to other features like: Platform specific APIs Location-based services Social sharing Rich multimedia Online and on-device data Extensibility Studio is Appcelerator's free IDE (integrated development environment). It can use to write, test, and debug mobile applications. Studio also has integrated templates and sample applications to make it even easier to get started creating your own apps. In addition, Studio will help to manage Titanium SDK updates and module usage. Titanium exists as a bridge between the native operating system and app's code. The following graphic illustrates this architecture [12]: 20
  • 34. At the bottom of the stack is the client operating system: Android, iOS, or the browser (for Mobile Web applications). At the top is desire app, built JavaScript. In between, is the Titanium SDK and the APIs it exposes. Application wrote in JavaScript, calling on the Titanium APIs to take actions like drawing buttons, opening windows, showing the camera, etc. The Titanium Bridge (part of the SDK) translates those calls into their native equivalents. In other words, when create a Titanium button, it's actually a proxy for a true native button. When you modify the Titanium button, say to change its label or add an event listener, Kroll applies corresponding changes to the native equivalent. When events occur in native-land, Kroll bubbles them up to your JavaScript code [l2]. 3.3 System Design 3.3.1 Log in to the application  Open the application  Provide username and password. Username is define as the email address to concern user.  After click on login button application communicate with server and verify whether the provided username and password is correct or not. 21
  • 35.  If provided information found at server end and match with role ‘Admin’ or ‘Interviewee’ then open the desire portal. One role is define as ‘others’ for future expansion.  If user is administrator the user, question and answer, Report, user button is enable.  If user is interviewee, all quiz which are active will appear and he/she can select from tose to start quiz. Figure 3.2 describe the login mechanism design for this application. 22
  • 36. Figure 3.2: Login design Password validation has configured with the following manner. should contain at least one digit should contain at least one lower case should contain at least one upper case should contain at least 6 from the mentioned character Email Validation has also configured. 3.3.2 Forget password If any user forget his/her password then user should input username after send to. If server user found at database then system will generate a password and sent to concern user’s email address 23
  • 37. This reset password will not be shown by anybody without the user (provided email to that user). Figure 3.3: Forget Password System Design 3.3.3 Admin Panel Administrator has privilege to access four options. They are 1. Quiz 24
  • 38. 2. Question and Answer 3. Report 4. User 1. Quiz Administrator can add quiz with following four options. They are • Quiz Name Name of the Quiz will define here. • Active or Inactive Currently any specific quiz is active or not. If any quiz is inactive (update by administrator) then that quiz will not be shown to interviewee. • Show result or not , If show result option is mark with ‘yes’ then any individual interviewee will see score after finish Quiz. If ‘not’ mark, then can’t see the result. • Quiz Time Total time for quiz can be set from here only by administrator. Application will communicate with webserver API and connect with database to extract all quiz list and will show to administrator. Any quiz can be edit or delete from that list. 25
  • 39. 2. Question and Answers Four multiple answer (max) can input by the administrator. Administrator can also set less than four multiple (i.e. two, three) answer for any question. • Question Question will be written here. • Answers: Four multiple answer (max) can input by the administrator. Administrator can also set less than four multiple (i.e. two, three) answer for any question. • Quiz Name: Every active Quiz from database will be shown here which let administrator to choose any for add questions. • Order No: Question order can be set here. 26
  • 40. For Update or Delete any question, Administrator need to choose any quiz. All questions will visible to administrator for that particular quiz. 3. Report Report will show for any particular quiz. Username of interviewee and score will be shown to administrator 4. Users Administrator can add quiz with following four options. They are • User Name User name will be provided as the user’s email address. • Role Role will be define as ‘Admin’ or ‘Interviewee’. If any user has ‘Admin’ role then he/she can set Application parameters. If any user has ‘Interviewee’ role then he/she can sit for any quiz. • Password Set password for that particular user. 27
  • 41. • Confirm Password Confirm password for that particular user. After add any user, an automatic email to send to that user by system. Application will communicate with webserver API and connect with database to extract all user list and will show to administrator. Any user can be edit or delete from that list. Figure 3.4 described the system design of admin panel. 28
  • 42. 3.4 Database Design 3.4.1 Table Schema There are six tables configure for this application. 1. users 2. quiz 3. questions 4. answers 5. users_answers 6. user_quiz users Column Type Null user_id int(11) No email varchar(255) No password varchar(255) No role varchar(100) No quiz Column Type Null quiz_id int(11) No 29
  • 43. quiz_name varchar(255) No active int(11) No show result int(11) No quiz_time int(11) No questions Column Type Null ques_id int(11) No question varchar(255) No ques_order int(11) No quiz_id int(11) No answers Column Type Null ans_id int(11) No ques_id int(11) No answer varchar(255) No is_correct int(11) No Users answers Column Type Null uans_id int(11) No ques_id int(11) No quiz_id int(11) No is_correct int(11) No user_id int(11) No User quiz Column Type Null uquiz_id int(11) No user_id int(11) No quiz_id int(11) No 30
  • 44. quiz_date datetime No 3.4.2 Table Relationship / EER Diagram 31
  • 45. Figure 3.6: Database Table relationship 3.5 Summary The Project is developed in Java dynamic programming language by using the “Android Studio” Integrated Development Environment (IDE). Android development Tool (ADT) 32
  • 46. and Android software development kit (SDK) integrated with Titanium studio to develop mobile applications on the Android platform. XML (recursive acronym for XML: eXtensible markup Language) is used as backend which work as application program interface (API). SQLITE Database is use for database configuration. Chapter 4 User Manual 4.1 System Requirement Device Operating System (OS) OS Version RAM Disk Space Android Mobile/Tab Android 4.0.x to higher 64 MB or higher 18 Mb Table V: Minimum System Requirement 33
  • 47. 4.2 Prerequisite Internet Connection must active. Valid Username with password must require to use this application. 4.3 Installation To install the application in android mobile device or tablet device user needed to run the setup package named as ‘technical quiz.apk ’. This package can store both in android device memory and external memory card (micro SD card that connect with android device). Package need maximum 9 Mb space. After copy it to android device, following steps should be followed:  Tap the folder where the ‘technical quiz’ is store.  Tap the application package ‘technical quiz’. After selecting the package, application lets user to install Tap install Installation is done and application is ready for use. 34
  • 48. 4.4 Getting Started Tap the icon to open the application. 4.4.1 Home 35
  • 49. Home screen will appear first, when the user start the app & it will appear for 4-5 36
  • 50. 4.4.2 User Registration Registration screen will appear after Home page when you click on application, after registration user will be able to choose & take quiz which he / she want. 37
  • 51. 4.4.3 Login Login screen will appear after successful user registration. Enter username and password to the desire field. Hint text indicates where you want to input username and password. Tap the login button after type username and password. 38
  • 52. 4.4.4 Welcome page Welcome page will appear for 3-5 seconds after successful user login / registration 39
  • 53. 4.4.5 Forget password • If password has forgotten than tap the ‘forget password’ button. • Another screen will appear where username need to input. • After input username tap the button. 40
  • 54. • Check the email address which one is tag with user ID. New password will sent to email. 41
  • 55. 4.4.6 Technical Subjects Choose subject which subjects quiz you want to take. 42
  • 56. 43
  • 58. User can manage quiz difficulty level, there are seven different difficulty levels for each 45
  • 59. 4.4.8 Start quiz / See High score 46
  • 61. 4.5 Enter user name (High Score) 48
  • 64. 51
  • 68. package com.example.hp.myquiz; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.LinearLayout; public class Android_Launch extends Activity{ LinearLayout linearLayout; Animation animLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.android_launch); linearLayout=(LinearLayout)findViewById(R.id.l_layout); animLayout=AnimationUtils.loadAnimation(this, R.anim.text_view); linearLayout.startAnimation(animLayout); Thread timer=new Thread(){ public void run() { try { sleep(3000 ); }catch (InterruptedException e) { 55
  • 69. e.printStackTrace(); } finally { Intent i=newIntent("android.example.hp.myquiz.Levels"); i.putExtra("subject","Android"); startActivity(i); } } };timer.start();} @Override protected void onPause() { super.onPause(); finish(); } } Login Activity package com.example.hp.myquiz; import android.content.Intent; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.v7.app.AppCompatActivity; import android.text.TextUtils; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ProgressBar; 56
  • 70. import android.widget.Toast; import com.google.android.gms.tasks.OnCompleteListener; import com.google.android.gms.tasks.Task; import com.google.firebase.auth.AuthResult; import com.google.firebase.auth.FirebaseAuth; public class LoginActivity extends AppCompatActivity { private EditText inputEmail, inputPassword; private FirebaseAuth auth; private ProgressBar progressBar; private Button btnSignup, btnLogin, btnReset; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //Get Firebase auth instance auth = FirebaseAuth.getInstance(); if (auth.getCurrentUser() != null) { String email=auth.getCurrentUser().getEmail(); Intent i=new Intent(LoginActivity.this, Subjects.class); i.putExtra("id",email); startActivity(i); finish(); } 57
  • 71. // set the view now setContentView(R.layout.activity_login); inputEmail = (EditText) findViewById(R.id.email); inputPassword = (EditText) findViewById(R.id.password); progressBar = (ProgressBar) findViewById(R.id.progressBar); btnSignup = (Button) findViewById(R.id.btn_signup); btnLogin = (Button) findViewById(R.id.btn_login); btnReset = (Button) findViewById(R.id.btn_reset_password); //Get Firebase auth instance auth = FirebaseAuth.getInstance(); btnSignup.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(LoginActivity.this, SignupActivity.class)); } }); btnReset.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(LoginActivity.this, ResetPasswordActivity.class)); } }); btnLogin.setOnClickListener(new View.OnClickListener() { 58
  • 72. @Override public void onClick(View v) { String email = inputEmail.getText().toString(); final String password = inputPassword.getText().toString(); if (TextUtils.isEmpty(email)) { Toast.makeText(getApplicationContext(), "Enter email address!", Toast.LENGTH_SHORT).show(); return; } if (TextUtils.isEmpty(password)) { Toast.makeText(getApplicationContext(), "Enter password!", Toast.LENGTH_SHORT).show(); return; } progressBar.setVisibility(View.VISIBLE); //authenticate user auth.signInWithEmailAndPassword(email, password) .addOnCompleteListener(LoginActivity.this, new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { // If sign in fails, display a message to the user. If sign in succeeds 59
  • 73. // the auth state listener will be notified and logic to handle the // signed in user can be handled in the listener. progressBar.setVisibility(View.GONE); if (!task.isSuccessful()) { // there was an error if (password.length() < 6) { inputPassword.setError(getStrin g(R.string.minimum_password)); } else { Toast.makeText(LoginActivity.this,getString(R.string.auth_failed), Toast.LENGTH_LONG).show(); } } else { String email=auth.getCurrentUser().getEmail(); Intent i=new Intent(LoginActivity.this, Subjects.class); i.putExtra("id",email); startActivity(i); finish(); } } }); } }); } } 60
  • 74. SignUpActivity package com.example.hp.myquiz; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.v7.app.AppCompatActivity; import android.text.TextUtils; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ProgressBar; import android.widget.Toast; import com.google.android.gms.tasks.OnCompleteListener; import com.google.android.gms.tasks.Task; import com.google.firebase.auth.AuthResult; import com.google.firebase.auth.FirebaseAuth; import com.google.firebase.auth.FirebaseUser; public class SignupActivity extends AppCompatActivity { 61
  • 75. private EditText inputEmail, inputPassword; private Button btnSignIn, btnSignUp, btnResetPassword; private ProgressBar progressBar; private FirebaseAuth auth; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_singnup); //Get Firebase auth instance auth = FirebaseAuth.getInstance(); btnSignIn = (Button) findViewById(R.id.sign_in_button); btnSignUp = (Button) findViewById(R.id.sign_up_button); inputEmail = (EditText) findViewById(R.id.email); inputPassword = (EditText) findViewById(R.id.password); progressBar = (ProgressBar) findViewById(R.id.progressBar); btnResetPassword = (Button) findViewById(R.id.btn_reset_password); FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); auth = FirebaseAuth.getInstance(); if (auth.getCurrentUser() != null) { // User is logged in String email=auth.getCurrentUser().getEmail(); Intent i=new Intent(SignupActivity.this, Subjects.class); i.putExtra("id",email); startActivity(i); finish(); } 62
  • 76. btnResetPassword.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(SignupActivity.this, ResetPasswordActivity.class)); } }); btnSignIn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(SignupActivity.this, LoginActivity.class)); finish(); }}); btnSignUp.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String email = inputEmail.getText().toString().trim(); String password = inputPassword.getText().toString().trim(); if (TextUtils.isEmpty(email)) { Toast.makeText(getApplicationContext(), "Enter email address!", Toast.LENGTH_SHORT).show(); return; } 63
  • 77. if (TextUtils.isEmpty(password)) { Toast.makeText(getApplicationContext(), "Enter password!", Toast.LENGTH_SHORT).show(); return; } if (password.length() < 6) { Toast.makeText(getApplicationContext(), "Password too short, enter minimum 6 characters!", Toast.LENGTH_SHORT).show(); return; } progressBar.setVisibility(View.VISIBLE); //create user auth.createUserWithEmailAndPassword(email, password) .addOnCompleteListener(SignupActivity.this, new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { Toast.makeText(SignupActivity.this, "createUserWithEmail:onComplete:" + task.isSuccessful(), Toast.LENGTH_SHORT).show(); progressBar.setVisibility(View.GONE); if (!task.isSuccessful()) { Toast.makeText(SignupActivity.this, "Authentication failed." + task.getException(), Toast.LENGTH_SHORT).show(); } else { String email=auth.getCurrentUser().getEmail(); 64
  • 78. Intent i=new Intent(SignupActivity.this, Subjects.class); i.putExtra("id",email); startActivity(i); finish(); } } }); } }); } @Override protected void onResume() { super.onResume(); progressBar.setVisibility(View.GONE); } } Welcome Activity ackage com.example.hp.myquiz; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.LinearLayout; 65
  • 79. public class Welcome extends Activity{ LinearLayout; Animation animLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.welcome); linearLayout=(LinearLayout)findViewById(R.id.welcome_layout); animLayout= AnimationUtils.loadAnimation(this, R.anim.accelerate_right); linearLayout.startAnimation(animLayout); Intent intent=getIntent(); final String email=intent.getStringExtra("id"); Thread timer=new Thread(){ public void run() { try { sleep(3000 ); }catch (InterruptedException e) { e.printStackTrace(); } finally { Intent i=new Intent("android.example.hp.myquiz.Subjects"); i.putExtra("id",email); startActivity(i); } 66
  • 80. } };timer.start(); } @Override protected void onPause() { super.onPause(); finish();} } References 1. https://www.developer.android.com 2. https://www.google.com 3. https://www.tutorialspoint.com/android 4. https://www.javatpoint.com/android-tutorial 5. http://www.vogella.com/tutorials/android.html 67
  • 81. 6. http://www.coreservlets.com/android-tutorial/ 7. http://www.androidauthority.com/android-studio-tutorial-beginners 8. https://www.youtube.com/watch? v=QAbQgLGKd3Y&list=PL6gx4Cwl9DGBsvRxJJOzG4r4k_zLKrnxl 9. https://www.youtube.com/watch? v=aRd3_E2j4Q0&list=PLshdtb5UWjSp0879mLeCsDQN6L73XBZTk 10. https://www.youtube.com/watch?v=- ospNp8G_8Y&list=PLC2ckqpdruK057uFopVaCxYTnKnXxLHhB 68
  • 82. 69