Académique Documents
Professionnel Documents
Culture Documents
BACHELOR OF TECHNOLOGY
(2011-2015)
In
COMPUTER SCIENCE AND ENGINEERING
Submitted by:
Nivedita Rai(1128410039)
Abhishek Srivastava(1128410002)
Ankita Srivastava(1128410008)
We Nivedita Rai, Abhishek Srivastava & Ankita Srivastava hereby declare that the
report of the project entitled Android Quiz Application “Faces of Science” is our
own work and that to the best of our knowledge and belief. It contains no material
previously published or written by any other person nor material which to a
substantial extent has been excepted for the award of any degree of the diploma of
the university of the institute of learning, except where due acknowledgement has
been made in the text.
Signature:
Name: Nivedita Rai
Roll No. 1128410039
Signature:
Name: Abhishek Srivastava
Roll No. 1128410002
Signature:
Name: Ankita Srivastava
Roll No. 1128410008
II
ACKNOWLEDGEMENT
We wish to convey our gratitude and indebtedness to Mr. Akhilesh Kumar Singh
(HOD, Computer Science & Engineering Department) for his valuable guidance
for the project work. Without his suggestions, consistent encouragement and
constructive criticism, this project would not have been possible. We also thank
him for approving the project title and providing necessary facilities for the work.
We are also grateful to Ms. Astha Jaiswal (Asst. trainer at IBM) & Mr. Deepak
Kumar Singh (student at IIT BHU) who provided us with many of the important
softwares required during the course of the project.
We would also like to convey our regards to the other intellectual faculty members
for their cooperation and support and finally heartfelt appreciation to friends for
reviewing the entire manuscript with attention for details.
Nivedita Rai(1128410039)
Abhishek Srivastava(1128410002)
Ankita Srivastava(1128410008)
III
CERTIFICATE
This is to certify that the project report entitled Android Quiz Application “Faces
of Science” done by Nivedita Rai (1128410039), Abhishek Srivastava
(1128410002) and Ankita Srivastava (1128410008) is an authentic work carried
out by them at United Institute of Technology under my guidance.
The matter embodied in this project has not been submitted earlier for the award of
any degree or diploma to the best of my knowledge and belief.
IV
ABSTRACT
The project proposed is a quiz application which tries to make learning process
easier by bringing the inquisitive in every individual .The application has been
designed in a process for gamification of the learning process. The application can
be used by the teachers as a side tool that assist them in assigning quiz to the
students and help to create an interest about the science. A knowledge about these
great scientists who have shaped the course of time helps inculcate a scientific
temper as they act as the source of inspiration.
This application has been designed using the latest offering from android for
application development i.e. Android Studio .While the application has been
designed by using the canary version of the software as it was still in testing phase
that time. The application performs well and is supported by various versions of
android and will be a part of the play store in the long run. Latest versions of
android studio have been developed now which are complete and no longer in
testing phase. This software has been a wonderful tool for the developers as it has
simplified the application development process and incorporates several features.
V
List of Figures and Tables
List of Tables
3.1 Android Studio 14
3.2 System Requirements 15
3.3 Module Design 33
3.4 Hardware Specification 35
3.5 Software Specification 35
3.6 Types of Testing 37
VI
List of Abbreviations
VII
Table of Contents
Declaration II
Acknowledgement III
Certificate IV
Abstract V
List of Figures and Tables VI
List of Abbreviations VII
1. INTODUCTION 1-7
1.1. About Project 1
1.2. Android: An open Platform 2
1.3. Android Versions 3
1.4 Features of Android 3
1.5 Why develop for Android 4
1.6 Life cycle of Android activity 5
1.7 Scope of investigation 6
1.8 Problem definition 7
2. LITERATURE 8-28
2.1. Android Software Stack 8
2.2 Android Application Architecture 10-11
2.2.1 Android Libraries 11
2.3 Developing for android 12-15
2.3.1 Downloading & installing SDK 13
2.3.2 Android Studio 13
2.3.3 Features of android studio 14
2.3.4 System Requirements 15
2.4 Android development tools 15-18
2.4.1 Android Emulator 17
2.4.2 Android SDK manager 18
2.4.3 Android application components 18
2.5 Fundamental android UI design 20
2.6 Android widget toolbox 21
2.7 Introducing Intents 22-23
2.7.1 Launching activities using Intents 23
2.7.2 Intents to broadcast events 23
2.8 Introducing the Intent service 24
2.8.1 Creating intent filters 24
2.8.2 Service Implicit Intent 24
2.9 Introducing fragments 26
2.10 Creating Content Providers 27-28
2.10.1 Native content providers 28
4. SNAPSHOTS 38-40
5. CONCLUSIONS 41
6. FUTURE SCOPE 42
7. REFERENCES 43-44
CHAPTER 1
INTRODUCTION
The project is an android quiz application which is built around the concept of
content gamification as this makes learning an engaging process thus proving to
be a better learning tool. Here we use images of scientists which students
generally encounter in their textbooks. So this application can also be used by
teachers to a replacement of bland written quizzes but only the initial levels.
The more advanced levels are for grownups and young inquisitive minds to put
their grey matter to test.
The project is built using android studio a tool for application development for
android platform provided by Google. It incorporates moderate coding as the
application is quite small in comparison to other trivia applications available in
the play store. There is extensive use of images and sound effects in the
application.
The application has various levels to offer with varying degree of hardness
and specific nature. Except one all levels in the application are initially locked
and a specific number of correct answers keep opening new levels. The first
one being a very basic one and features scientists which every middle school
student has heard about. The levels have been designed keep in mind school
students as well as the grownups. Each question comes with a picture of a
famous scientist and to make things even simpler options are also provided for
answering the questions. Besides hints are also provided in case of a wrong
answer and a short biography about the scientist is provided in case of a correct
answer. All questions are pictorial in nature and come with four options to
select the correct answer.
Summing this up we can say this is one small application for people of every
age group but mainly targeted for the school students. This software can find
application as a supplement of classes with growing use of technology in
1
classrooms while for some inquisitive minds it will be just another trivia
application to quench their insatiable thirst for knowledge.
Google wanted Android to be open and free; hence, most of the Android code
was released under the open source Apache License, which means that anyone
who wants to use Android can do so by downloading the full Android source
code. Moreover, vendors (typically hardware manufacturers) can add their own
proprietary extensions to Android and customize Android to differentiate their
products from others.
The simple development model makes Android very attractive and has thus
piqued the interest of many vendors. This has been especially true for
companies affected by the phenomenon of Application iPhone, a hugely
successful product that revolutionized the smartphone industry. Such companies
include Motorola and Sony Ericsson, which for many years have been
developing their own mobile operating systems. When the iPhone was
launched, many of these manufacturers had to scramble to find new ways of
revitalizing their products. These manufacturers see Android as a solution -they
will continue to design their own hardware and use Android as the operating
system that powers it.
In the world of smartphones, applications are the most important part of the
success chain. Device manufacturers therefore see Android as their best hope to
challenge the onslaught of the iPhone, which already commands a large base of
applications.
2
1.3. Android Versions
3
(in 3GP container), AAC, HE-AAC (in MP4 or 3GP container), MP3,
MIDI , Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP.
Hardware support — Accelerometer Sensor, Camera, Digital Compass,
Proximity Sensor and GPS
Multi-touch — Supports multi-touch screens.
Multi-tasking — Supports multi-tasking applications
Flash support — Android 2.3 supports Flash 10.1.
Tethering — Supports sharing of Internet connections as a
wired/wireless hotspot
Many of the features listed such as 3D graphics and native database support, are
also available in other native mobile SDKs, as well as becoming available on
mobile browsers. The pace of innovation in mobile platforms, both Android and
its competitors, makes an accurate comparison of the available features difficult.
The Above following non comprehensive list details some of the features
available on Android that may not be available on all modern mobile
development platforms: Google Maps applications — Google Maps for Mobile
has been hugely popular, and Android offers a Google Map as an atomic,
reusable control for use in your applications.
The Map View lets you display, manipulate, and annotate a Google Map
within your Activities to build map-based applications using the familiar
Google Maps interface. Background services and applications — Full support
for background applications and services lets you create applications based on
an event-driven model, working silently while other applications are being used
or while your mobile sits ignored until it rings, flashes, or vibrates to get your
attention. Maybe it’s a streaming music player, an application that tracks the
stock market, alerting you to significant changes in your portfolio, or a service
that changes your ringtone or volume depending on your current location, the
time of day, and the identity of the caller. Android provides the same
opportunities for all applications and developers.
4
files are private unless explicitly shared with other applications via a full
permission-based security mechanism. All applications are created equal.
Android doesn’t differentiate between native applications and those developed
by third parties. This gives consumers unprecedented power to change the look
and feel of their devices by letting them completely replace every native
application with a third-party alternative that has access to the same underlying
data and hardware. Wi-Fi Direct and Android Beam — Using these innovative
new inter-device communication APIs, you can include features such as instant
media sharing and streaming. Android Beam is an NFC-based API that lets you
provide support for proximity-based interaction, while Wi-Fi Direct offers a
wider range peer-to-peer for reliable, high-speed communication between
devices.
Home-screen Widgets, Live Wallpaper, and the quick search box — Using
Widgets and Live Wallpaper, you can create windows into your application
from the phone’s home screen. The quick search box lets you integrate search
results from your application directly into the phone’s search functionality.
We override these methods in our Activity class, and Android will call them at
the appropriate time:
onResume( ): This is called when our activity can start interacting with
the user. This is a good place to start animations and music.
5
of it. This is where we should save our program’s persistent state, such as
a database record being edited.
onStop( ): This is called when our activity is no longer visible to the user
and it won’t be needed for a while. If memory is tight, onStop( ) may
never be called (the system may simply terminate your process).
Fig. 1.2. Life cycle of android activity [source: The Android Developer’s Cookbook by
James Steele Nelson]
The aim of this project is to design, such an application that can help us to make
learning engaging and a fun process. The target audience of the project
incorporates school students where the application can supplement their
knowledge in an interesting way. This application can also be used by grownups
to test their knowledge about these famous scientists.
6
This can also be food for thought for the inquisitive minds. Overall the target
audience includes a multitude of people thus leading to various levels of varying
difficulty and specializations. In order to have something for everyone we
thought of dividing the levels into very famous ones and then branching out to
various specializations such as chemists and biologists. Thus this application
can also be a awareness check by a particular student of that specialization.
The problem with this application is that the quiz application being developed is
that it has difficulty in compatibility .The major work to be done is to make the
application compatible for mobile devices using different versions of android as
some versions are nearly obsolete now. The main task at hand is to the content
gamification of a subject of study by use of modern day technology so that
students find learning interesting.
7
CHAPTER 2
LITERATURE
8
SQLite for native database support
SSL and WebKit for integrated web browser and Internet
security
Android run time — The run time is what makes an Android phone an
Android phone rather than a mobile Linux implementation. Including the
core libraries and the Dalvik VM, the Android run time is the engine that
powers your applications and, along with the libraries, forms the basis for
the application framework.
9
Fig. 2.1. Android Application Layer
[source:http://developer.android.com/guide/developing/tools/index.html]
10
The following application services are the architectural cornerstones of all
Android applications, providing the framework we have used for our own
software:
11
2.2.1. Android Libraries
Android offers a number of APIs for developing your applications. Rather than
list them all here, check out the documentation at resource [1], which gives a
complete list of packages included in the Android SDK. Android is intended to
target a wide range of mobile hardware, so be aware that the suitability and
implementation of some of the advanced or optional APIs may vary depending
on the host device.
The Android SDK includes all the tools and APIs you need to write compelling
and powerful mobile applications. The biggest challenge with Android, as with
any new development toolkit, is learning the features and limitations of its APIs.
If you have experience in Java development, you’ll find that the techniques,
syntax, and grammar you’ve been using will translate directly into Android,
although some of the specific optimization techniques may seem
counterintuitive.
If you don’t have experience with Java but have used other object-oriented
languages (such as C#), you should find the transition straight forward. The
power of Android comes from its APIs, not the language being used, so being
unfamiliar with some of the Java-specific classes won’t be a big disadvantage.
There is no cost to download or use the API, and Google does not require your
application to pass a review to distribute your finished programs on the Google
Play Store. Although the Google Play Store requires a small one-time fee to
publish applications, if you chose not to distribute via the Google Play Store,
you can do so at no cost.
You can download the latest version of the SDK starter package for your
chosen development platform from the Android development home page at
resource [2].
The starter package is a ZIP file that contains the latest version of the Android
tools required to download the rest of the Android SDK packages. Install it by
unzipping the SDK into a new folder. Take note of this location, as you’ll need
it later.
12
If you are developing from a Windows platform, an executable Windows
installer is available (and recommended) as an alternative to the ZIP file for
installing the platform tools. Before you can begin development, you need to
download at least one SDK platform release. You can do this on Windows by
running the SDK Manager.exe executable, or on Mac OS or Linux by running
the android executable in the tools subfolder of the starter package download.
You can expand each platform release node to see a list of the packages
included within it, including the tools, documentation, and sample code
packages.
To get started, simply check the boxes corresponding to the newest framework
SDK and the latest version of the tools, compatibility/support library,
documentation, and sample code.
Android Studio is freely available under the Apache License 2.0 resource [3].
Android Studio was in early access preview stage starting from version 0.1 in
May 2013, then entered beta stage starting from version 0.8 which was released
in June 2014 resource[4].
The first stable build was released in December 2014, starting from version
1.0 resource [3] based on JetBrains' IntelliJ IDEA software, Android Studio is
designed specifically for Android development resource[6]. It is available for
download on Windows, Mac OS X and Linux, resource[8] and replaced Eclipse
Android Development Tools (ADT) as Google's primary IDE for native
Android application development.
13
Gradle-based build support.
Android-specific refactoring and quick fixes.
Lint tools to catch performance, usability, version compatibility and other
problems.
ProGuard and app-signing capabilities.
Template-based wizards to create common Android designs and
components.
A rich layout editor that allows users to drag-and-drop UI components,
option to preview layouts on multiple screen configurations.
Support for building Android Wear applications.
Built-in support for Google Cloud Platform, enabling integration with
Google Cloud Messaging and Application Engine.
Developer(s) Google
Stable Release 1.1 / February 18, 2015
Preview release 1.2 Preview 4 / March 25, 2015
Development Status Stable
Written in Java
Operating system Crossplatform
Type Integrated Development
Environment (IDE)
License Apache 2.0
14
Table No. 2.2. Software and Hardware Specification
Windows OS X Linux
OS Microsoft Windows Mac OS X 10.8.5 or GNOME or KDE or
Version 10/8.1/8/7/Vista/2003/Xp
higher, upto 10.10 to Unity desktop on
(32 or 64 bit) up 10.10.2 up Ubuntu or Fedora or
10.10.3 (Yosemite) GNU/Linux Debian
RAM 2 GB RAM minimum, 4 GB RAM recommended
Disk 500 MB disk space
space
Space for At least 1 GB for Android SDK, emulator system images, and caches
Android
SDK
JDK Java Development Kit (JDK) 7 or higher
version
Screen 1280x800 minimum screen resolution
resolution
The Android SDK includes several tools and utilities to help to create, test, and
debug our projects. For additional details, check out the Android documentation
at resource [9]. As mentioned earlier, the ADT plug-in conveniently
incorporates many of these tools into the Eclipse IDE, where you can access
them from the DDMS perspective, including the following:
The Android Virtual Device and SDK Managers — Used to create and
manage AVDs and to download SDK packages, respectively. The AVD
hosts an Emulator running a particular build of Android, letting you
specify the supported SDK version, screen resolution, amount of SD card
storage available, and available hardware capabilities (such as
touchscreens and GPS).
15
Dalvik Debug Monitoring Service (DDMS) — Use the DDMS to
monitor and control the Emulators on which you’re debugging your
applications’
Logcat — A utility used to view and filter the output of the Android
logging system.
SQLite3 — A database tool that you can use to access the SQLite
database files created and used by Android.
Traceview — Graphical analysis tools for viewing the trace logs from
your Android application.
Hprof-conv — A tool that converts HPROF profiling output files into a
standard format to view in your preferred profiling tool.
MkSDCard — Creates an SD card disk image that can be used by the
Emulator to simulate an external storage card.
Dex — Converts Java .class bytecode into Android .dex bytecode.
Hierarchy Viewer — Provides both a visual representation of a layout’s
View hierarchy to debug and optimize your UI, and a magnified display
to get your layouts pixel-perfect.
Lint — A tool that analyzes your application and its resources to suggest
improvements and optimizations.
Draw9patch: A handy utility to simplify the creation of NinePatch
graphics.
Monkey and Monkey Runner: Monkey runs within the VM, generating
pseudo-random user and system events. Monkey Runner provides an API
for writing programs to control the VM from outside your application.
ProGuard — A tool to shrink and obfuscate your code by replacing
class, variable, and method names with semantically meaningless
16
alternatives. This is useful to make your code more difficult to reverse
engineer.
The Emulator is available for testing and debugging your applications. The
Emulator is an implementation of the Dalvik VM, making it as valid a platform
for running Android applications as any Android phone. Because it’s decoupled
from any particular hardware, it’s an excellent baseline to use for testing your
applications.
Full network connectivity is provided along with the ability to tweak the
Internet connection speed and latency while debugging your applications. You
can also simulate placing and receiving voice calls and SMS messages.
The ADT plug-in integrates the Emulator into Eclipse so that it’s launched
automatically within the selected AVD when you run or debug your projects. If
you aren’t using the plug-in or want to use the Emulator outside of Eclipse, you
can telnet into the Emulator and control it from its console. For more details on
controlling the Emulator, check out the documentation at resource.
17
To execute the Emulator, you first need to create a virtual device, as described
in the previous section. The Emulator will launch the virtual device and run a
Dalvik instance within it.
The Android SDK Manager can be used to see which version of the SDK you
have installed and to install new SDKs when they are released. Each platform
release is displayed, along with the platform tools and a number of additional
support packages. Each platform release includes the SDK platform,
documentation, tools, and examples corresponding to that release.
The following components comprise the building blocks for all your Android
applications:
18
Content Providers — Shareable persistent data storage. Content
Providers manage and persist application data and typically interact with
SQL databases. They’re also the preferred means to share data across
application boundaries. You can configure your application’s Content
Providers to allow access from other applications, and you can access the
Content Providers exposed by others. Android devices include several
native Content Providers that expose useful databases such as the media
store and contacts.
19
2.5. Fundamental Android UI Design
User interface (UI) design, User experience (UX), Human Computer Interaction
(HCI), and usability are huge topics that can’t be covered in the depth.
Nonetheless, the importance of creating a UI that your users will understand and
enjoy using can’t be overstated.
Views — Views are the base class for all visual interface elements
(commonly known as controls or widgets). All UI controls, including the
layout classes, are derived from View.
View Groups — View Groups are extensions of the View class that can
contain multiple child Views. Extend the View Group class to create
compound controls made up of interconnected child Views. The View
Group class is also extended to provide the Layout Managers that help
you lay out controls within your Activities.
20
2.6. The Android Widget ToolBox
Android supplies a toolbox of standard Views to help you create your UIs. By
using these controls (and modifying or extending them, as necessary), you can
simplify your development and provide consistency between applications.
The following list highlights some of the more familiar toolbox controls:
21
VideoView — Handles all state management and display Surface
configuration for playing videos more simply from within your Activity.
QuickContactBadge — Displays a badge showing the image icon
assigned to a contact you specify using a phone number, name, email
address, or URI. Clicking the image will display the quick contact bar,
which provides shortcuts for contacting the selected contact — including
calling and sending an SMS, email, and IM.
Intents are used as a message-passing mechanism that works both within your
application and between applications. You can use Intents to do the following:
One of the most common uses for Intents is to start new Activities, either
explicitly (by specifying the class to load) or implicitly (by requesting that an
action be performed on a piece of data). In the latter case the action does not
need to be performed by an Activity within the calling application.
Intents can also be used to broadcast messages across the system. Applications
can register Broadcast Receivers to listen for, and react to, these Broadcast
Intents. This enables you to create event-driven applications based on internal,
system, or third-party application events.
22
Using Intents, explicitly loading classes to propagate actions even within the
same application are a fundamental Android design principle. It encourages the
decoupling of components to allow the seamless replacement of application
elements. It also provides the basis of a simple model for extending an
application’s functionality
The most common use of Intents is to bind your application components and
communicate between them. Intents are used to start Activities, allowing you to
create a workflow of different screens.
By using startActivity, the application won’t receive any notification when the
newly launched Activity finishes. To track feedback from a sub-Activity, use
startActivityForResult.
23
2.8. Introducing the Intent Service
The Intent Service is a convenient wrapper class that implements the best
practice pattern for background Services that perform set tasks on demand, such
as recurring Internet updates or data processing. Other application components
request an Intent Service complete a task by starting the Service and passing in
an Intent containing the parameters necessary to complete the task.
The Intent Service queues request Intents as they are received and process
them consecutively on an asynchronous background Thread. After every
received Intent has been processed, the Intent Service will terminate itself. The
Intent Service handles all the complexities around queuing multiple requests,
background Thread creation, and UI Thread synchronization.
24
category — Uses the android:name attribute to specify under which
circumstances the action should be serviced. Each Intent Filter tag can
include multiple category tags.
You can specify your own categories or use the following standard values:
DEFAULT — Set this to make a component the default action for the
data type specified in the Intent Filter. This is also necessary for
Activities that are launched using an explicit Intent.
DATA — The data tag enables you to specify which data types your
component can act on; you can include several data tags as appropriate.
25
You can use any combination of the following attributes to specify the
data your component supports:
android: host — Specifies a valid hostname (e.g., google.com).
android: mimetype — Specifies the type of data your component is
capable of handling. For example, <type
android:value=”vnd.android.cursor.dir/*”/> would match any
Android cursor.
android: path — Specifies valid path values for the URI (e.g.,
/transport/boats/).
android:port — Specifies valid ports for the specified host.
android:scheme — Requires a particular scheme (e.g., content or
http).
Fragments enable you to divide your Activities into fully encapsulated reusable
components, each with its own lifecycle and UI.
The primary advantage of Fragments is the ease with which you can create
dynamic and flexible UI designs that can be adapted to suite a range of screen
sizes from small-screen smart phones to tablets. Each Fragment is an
independent module that is tightly bound to the Activity into which it is placed.
Use the getActivity method within any Fragment to return a reference to the
Activity within which it’s embedded. This is particularly useful for finding the
current Context, accessing other Fragments using the Fragment Manager, and
finding Views within the Activity’s View hierarchy.
26
TextView textView=(TextView)getActivity().findViewById(R.id.textview);
Although it’s possible for Fragments to communicate directly using the host
Activity’s Fragment Manager, it’s generally considered better practice to use the
Activity as an intermediary. This allows the Fragments to be as independent and
loosely coupled as possible, with the responsibility for deciding how an event in
one Fragment should affect the overall UI falling to the host Activity.
Where your Fragment needs to share events with its host Activity (such as
signaling UI selections), it’s good practice to create a callback interface within
the Fragment that a host Activity must implement.
Like the database contract class described in the previous section, it’s good
practice to include static database constants particularly column names and the
Content Provider authority that will be required for transacting with, and
querying, the database.
It will also need to override the onCreate handler to initialize the underlying
data source, as well as the query, update, delete, insert, and getType methods to
implement the interface used by the Content Resolver to interact with the data.
Android exposes several native Content Providers, which you can access
directly using the techniques described earlier in this chapter. Alternatively, the
android provider package includes APIs that can simplify access to many of the
most useful Content Providers, including the following-
27
Media Store — Provides centralized, managed access to the multimedia
on your device, including audio, video, and images. You can store your
own multimedia within the Media Store and make it globally available.
Call Log — Views or updates the call history, including incoming and
outgoing calls, missed calls, and call details, including caller IDs and call
durations.
28
CHAPTER 3
PROPOSED SYSTEM
The system is viewed as a whole and the input to the system are identified.
The outputs from the organizations are traced to the various processes. System
analysis is concerned with becoming aware of the problem, identifying the
relevant and decisional variables, analyzing and synthesizing the various factors
and determining an optimal or at least a satisfactory solution or program of
action.
29
A detailed study of the process must be made by various techniques like
interviews, questionnaires etc. The data collected by these sources must be
scrutinized to arrive to a conclusion. The conclusion is an understanding of how
the system functions. This system is called the existing system. Now the
existing system is subjected to close study and problem areas are identified. The
designer now functions as a problem solver and tries to sort out the difficulties
that the enterprise faces. The solutions are given as proposals. The proposal is
then weighed with the existing system analytically and the best one is selected.
The proposal is presented to the user for an endorsement by the user. The
proposal is reviewed on user request and suitable changes are made. This is loop
that ends as soon as the user is satisfied with proposal.
Preliminary study is the process of gathering and interpreting facts, using the
information for further studies on the system. Preliminary study is problem
solving activity that requires intensive communication between the system users
and system developers. It does various feasibility studies. In these studies a
rough figure of the system activities can be obtained, from which the decision
about the strategies to be followed for effective system study and analysis can
be taken.
The document provide the feasibility of the project that is being designed and
lists various areas that were considered very carefully during the feasibility
study of this project such as Technical, Economic and Operational
feasibilities. The following are its features:
30
3.2.1. Technical Feasibility
The system must be evaluated from the technical point of view first. The
assessment of this feasibility must be based on an outline design of the system
requirement in the terms of input, output, programs and procedures. Having
identified an outline system, the investigation must go on to suggest the type of
equipment, required method developing the system, of running the system once
it has been designed.
The project should be developed such that the necessary functions and
performance are achieved within the constraints. The project is developed
within latest technology. Through the technology may become obsolete after
some period of time, due to the fact that never version of same software
supports older versions, the system may still be used. So there are minimal
constraints involved with this project. The system has been developed using
Java the project is technically feasible for development.
The following are some of the important financial questions asked during
preliminary investigation:
Since the system is developed as part of project work, there is no manual cost
to spend for the proposed system. Also all the resources are already available, it
give an indication of the system is economically possible for development.
31
3.2.3. Behavioral Study
This includes the following questions:
The cost regarding this project and maintenance of the project system is
negligible. Cost of essential hardware and software is not required much. The
proposed system is fully automated and hence easy to use. Since benefits out
base the cost, hence our application is economically feasible.
3.3. Designing
Design is the first step into the development phase for any engineered product
or system. Design is a creative process. A good design is the key to effective
system. The term “design” is defined as “the process of applying various
techniques and principles for the purpose of defining a process or a system in
sufficient detail to permit its physical realization”. It may be defined as a
process of applying various techniques and principles for the purpose of
defining a device, a process or a system in sufficient detail to permit its physical
realization.
Software design sits at the technical kernel of the software engineering
process and is applied regardless of the development paradigm that is used. The
system design develops the architectural detail required to build a system or
product.
32
As in the case of any systematic approach, this software too has undergone the
best possible design phase fine tuning all efficiency, performance and accuracy
levels. The design phase is a transition from a user oriented document to a
document to the programmers or database personnel.
33
Level 4: Story of Atom
It involves those scientists who were a part discovery of atom.
All these levels have 7-8 questions and initially only one level is unlocked .The
rest of the levels unlock when we start answering the questions of previous
levels which is mentioned on the levels. For example we need to answer atleast
19 questions correctly before the Story of atom level opens up.
Each right and wrong answer is accompanied by a cross or tick symbol along
with sound.
The application has various levels to offer .The first one being a very basic
one and features scientists which every middle school student has heard about.
Even if a student is unable to figure out by looking at the picture itself then a set
of four options provided makes it a little easier. When realization dawns upon
the student that the scientist being missed out was a very famous one who
shaped the course of science this is where it becomes more engaging. As the
levels increase the fields narrow to down to more specific domains like
chemists, biologists etc. here the student has to move out of their comfort zone
to explore more. A small biography about the scientist is also provided when
you answer a question correctly to know more about them.
In case you get an incorrect answer in the first attempt then a small hint is
given about that question which helps you take the second shot in the right
direction. What if someone tries to play the guessing game here a small trick has
been used that after every attempt the order of options changes. So if you took
34
the third option as a blind guess then the situation might be that the next time
the fourth option will get replaced by the third option of the previous attempt.
Thus foxing the player at that juncture so you need to be aware and alert while
attempting the quiz even though you don’t have any idea about the answer.
3.4. Software Environment
RAM 64 MB
Internal memory 10 MB
Platform Android
35
3.5. Code Details
The purpose of code is to facilitate the identification, retrieval of the items and
information. A code is an oriented collection of symbols design to provide
unique identification of an entry or attribute. Code is built with manually
exclusive features.
Codes in all cases specify object which are physical or on performance
characteristics. They are used to give optimal distraction and other information.
Codes are used for identifying, accessing, storing and matching records. The
codes insure that only one value of the code with a single meaning is correctly
applied to give entity or attribute as described in various ways.
Testing Objectives
To ensure that during operation the system will perform as per
specification.
To make sure that the system makes user requirement during operations.
Testing Principles
All tests should be traceable to user requirements.
Tests should be planned long before testing begins.
1. White-Box Testing
White Box Testing is a testing in which in which the software
36
tester has knowledge of the inner workings, structure and language
of the software, or at least its purpose. It is used to test areas that
cannot be reached from a black box level.
2. Black-Box Testing
Black Box Testing is testing the software without any knowledge
of the inner workings, structure or language of the module being
tested. Black box tests, as most other kinds of tests, must be
written from a definitive source document, such as specification or
requirements document, such as specification or requirements
document.
37
CHAPTER 4
SNAPSHOTS
38
Fig. 4.3. Fig. 4.4.
Credits for various images used in The appearance of level after
“Faces of Science” and reset the application one question has been answered.
to the initial stage.
39
Fig. 4.7. Fig. 4.8.
A hint visible for a question in form The first question of the very
of a short biography. famous with options.
40
CONCLUSION
The project titled as “Android Quiz Application for Google Play Store” is an
android based application. It maintains all information related to the field of
science. The major advantage of developing this application is that to help
students for boost up their knowledge in field of science.
The system is very flexible and versatile. This software has a user-friendly
screen that enables the user to use without any inconvenience. Validation
checks induced have greatly reduced errors. Provisions have been made to
upgrade the software. The application has been tested with live data and has
provided a successful result. Hence the software has proved to work efficiently.
41
FUTURE SCOPE
In future we can able to add more modules in this project. We can make it more
attractive by the LOOK and FEEL feature. Android Quiz Application is very
useful for students to boost their knowledge about the famous scientists which
form a part of their text book. This application can increase its domain from
science to others like Mathematics, General Knowledge, etc. Generic User
Interface implemented by the inclusion of Voice User interface. Thus questions
can be spoken by voice on the application. We can also make it available on
several other platforms like windows and IOS.
42
REFERENCES
Resources/urls :
1. http://developer.android.com/reference/packages.html
2. http://developer.android.com/sdk/index.html
4. https://developer.android.com/sdk/installing/studio.html
5. "Google Launches Android Studio And New Features For Developer Console,
Including Beta Releases And Staged Rollout"
(http://venturebeat.com/2014/12/08/google-releases-android-studio-10-the-first-
stable-version-of-its-ide/
9. http://developer.android.com/guide/developing/tools/index.html
10. http://developer.android.com/guide/developing/tools/emulator.html
43
Text books references:
44