You are on page 1of 32

ABSTRACT

Project Objective
This project is based on the latest technology Android. Android is a stack having software for
mobile phones with operating system and the other applications for mobile phones. Android
application development includes programming that bases its values on simplicity ,
communication , feedback and courage. Android programming provides simplicity as well as
good user interface. It encourages teamwork and constant communication with client. The
objective of this project is to put into practice the teachings and to provide a helpful
application as the output.

Approach
When we chose this project to make with android, we met to determine how we were to carry out the
task. We discussed about the flow of information , drew the timeline that how the application would
work , discussed about each aspect of application, how the GUI would look like and also to make sure
that we understood what we have chosen . We got more information on what we were to do and set
about completing our task, making use of new ideas taught in class.

Achievement
Our task was to develop an application for exploration of Ajmer. This project was needed to
start keeping those people in mind who migrate from other cities to Ajmer. Keeping in mind
that they don't have pre-knowledge about Ajmer. We have been able to achieve this goal. The
application we developed provides the essential information about famous places in Ajmer
like the estimated time and route between two places.

CHAPTER 1

1
INTRODUCTION TO ANDROID

1.1 What is Android ?


Android is a software package and linux based operating system for mobile devices such as
tablet computers and smartphones. It is developed by Google and later the OHA (Open
Handset Alliance). Java language is mainly used to write the android code even though other
language can be used.
The goal of android project is to create a successful real-world product that improves the
mobile experience for end users.

1.2 Features of Android


After learning what is android, lets see the features of android. The important features of
android are given below:
I. It is open-source.
II. Anyone can customize the Android platform.
III. There are a lot of mobile applications that can be chosen by the consumer.
IV. It provides many interesting features like weather details, opening screen etc.
V. It provides support for messaging services (SMS and MMS), web browser, storage
(SQLite, connectivity (GSM, CDMA, Blue Tooth, Wi-Fi etc.), media, handset layout
etc.
1.3 Categories of Android applications
There are many android applications in the market. The top categories are:
I. Entertainment
II. Tools
III. Communication
IV. Productivity
V. Personalization
VI. Music and Video
VII. Travel and Local etc.

1.4 Android Architecture


Android architecture or Android software stack is categorized into five parts:
I. Linux kernel
II. Native libraries(middleware)
III. Android runtime

2
IV. Application Framework
V. Applications

Fig. 1.1 Android Architecture

1.4.1 Linux Kernel


It is heart of android architecture that exists at the root of android architecture. Linux kernel
is responsible for device drivers, power management, memory management, device
management and resource access.

1.4.2 Native Libraries


On the top of linux kernel, there are Native libraries such as WebKit, OpenGL, Free Type ,
SQLite, Media, C runtime library etc. The WebKit library is responsible for browser support,
SQLite is for database, Free Type for font support, Media for playing and recording audio and
video formats.

1.4.3 Android Runtime


In android runtime, there are core libraries and DVM(Dalvik Virtual Machine) which is
responsible to run android application. DVM is like JVM but is optimized for mobile devices.
It consumes less memory and provides fast performance.

1.4.4 Android Framework

3
On the top of Native libraries and android framework. Android framework includes Android
APIs such as UI (User Interface), telephony, resources, locations, Content Provider (data)
and package managers. It provides a lot of classes and interfaces for android application
development.

1.4.5 Applications
On the top of android framework, there are applications. All applications such as home,
contact, setting , games, browsers are using android framework that uses android runtime an
libraries. Android runtime and libraries. Android runtime and native libraries are using linux
kernel.

1.5 Android Core Buildings Blocks


An Android Component is simply a piece of code that has a well defined life cycle e.g.
Activity, Receiver, Services etc.
The core buildings blocks or fundamental components of android are activities, views ,
intents, services, content providers, fragments and AndroidManifest.xml.

These are components of android :-


1.5.1 Activity
An Activity is a class that represents a single screen. It is like a Frame in AWT.

1.5.2 View
A view I the UI element such as button, label, text field etc. Anything that you see is a view.
View class is super most class.

1.5.3 Intent
Intent is used to invoke components. It is mainly used to :
I. Start the service
II. Launch an activity
III. Display a web page
IV. Display a list of contacts
V. Broadcast a message
VI. Dial a phone cell etc.

4
1.5.4 Service
Service is a background process that can run for a long time. There are two types of services
local and remote. Local service is accessed from within the application whereas remote
service is accessed remotely from other applications running on the same device.

1.5.5 Content Provider


Content Providers are used to share data between the applications e.g. images, videos, data
etc.

1.5.6 Fragment
Fragments are like parts of activity. An activity can display one or more fragments on the
screen at the same time.

1.5.7 AndroidManifest.xml
It is component of android source projects. It contains informations about activities, content
providers, permissions etc. It is like the web.xml file in Java EE.

CHAPTER 2
ANDROID TECHNOLOGY LEARNED

2.1 Layout
There are number of Layouts provided by Android which we will use in almost all Android
applications to provide different view, look and feel.

2.1.1 Linear Layout

5
Linear Layout is a view group that aligns all children in a single direction, vertically or
horizontally.

2.1.2 Relative Layout


Relative Layout is a view group that displays child views into rows and columns.

2.1.3 Table Layout


Table Layout is a view that groups views into rows and columns.

2.1.4 Absolute Layout


Absolute Layout enables you to specify the exact location of its children.

2.1.5 Frame Layout


The Frame Layout is a placeholder on screen that we can use to display a single view.

2.1.6 Grid View


Grid View is a View Group that displays items in a 2-dimensional, scrollable grid.

2.2 View
The basic building block for user interface is a View object which is created from the View
class and occupies a rectangular area on the screen and is responsible for drawing and event
handling. View is the base class for widgets, which are used to create interactive UI
components like buttons, texts fields, etc.

2.2.1 Text View


It is a view subclass which is capable of showing text. Being a subclass of view, the Text
View component cab is used in our Android app's GUI inside a View Group.

2.2.2 Progress Bar


In a Android, there is a class a called Progress Dialog that allows us to create Progress Bar.
The Progress Bar view provides visual feedback about some ongoing tasks, such as when we
are performing a task in the background.

6
2.2.3 Auto Complete Text View
It is an editable Text View that shows completion suggestions automatically while the user is
typing. The list of suggestions is displayed in a drop-down menu from which the user can
choose an item to replace the content of the Edit Box with.

2.3 Buttons
A Button is a push button which can be which can be pressed or clicked by the user to
perform an action.

2.3.1 Toggle Button


It is used to display checked/unchecked (On/Off) state on the Button. It is beneficial if user
have to change the setting between two states. It can be used to On/Off Sound ,Wi-fi,
Bluetooth etc. Since Android 4.0 , there is another type of Toggle Button called switch that
provides slider control. Android Toggle Button and Switch both are the subclasses of
Compound Button class.

2.3.2 Radio Button


It is a two states Button that can be either checked or unchecked. When Radio Button is
unchecked, the user can click it to check it. Radio Button generally works with Radio Group.
It automatically save Radio Group is selected.

2.3.2 Image Button


It displays a button with an image that can be pressed or clicked by the user. By default, an
Image Button looks like a regular button, with a standard button background that changes
color during different button states.

2.4 Check Box


An on/off switch that can be toggled by the user .We should use checkboxes when presenting
users with a group of selectable options that are not mutually exclusive.

7
2.5 Alert Dialog
Android Alert Dialog can be used to display the dialog message with OK and Cancel buttons.
It can be used to interrupt and ask the Android Alert Dialog is composed of three regions:
title, content area and action buttons.

2.6 List View


Android List View is a view which groups several items and display them in vertical
scrollable list .The list items are automatically inserted to the list using an adapter that pulls
content from a source such as an array or database.

2.7 Spinner
Android Spinner is like the com box of AWT or Swing .It can be used to display the multiple
options to the user in which only one item can be selected by the user. Android spinner is like
the drop down menu with multiple values from which the end user can select only one value.

2.8 Edit Text


It is the standard text entry widget in Android apps. If the user needs to enter text into an app,
this is the primary way for them to do that.

CHAPTER 3
PROJECT BACKGROUND

3.1 Definition of Problem


While making any application, user story serves the purpose of the problem statements and
specifications. This project is made for all people but keeping those people in mind who
come to Ajmer from other cities for a short period like students, tourists, businessman, etc.
When those people come, initially, they dont have pre-knowledge about famous places of
Ajmer, College, Schools, Atm, restaurant , Bank, malls, Hospital, Hotels ,Government Dept.
8
the modes of transportation available and the estimated time and money to reach the places
and sometimes they are fooled by someone. So, initially, we had goals to achieve to make an
application that can provide this essential information.

3.2 Terminology Definition


The section given the definition and explanation of some of the terms used in the projects.

3.2.1 Activity
Activity is a single screen one time action, which performs actions once, defined in it.
Generally, it is associated an xml file with it to follow a layout. Activity is a java cade that
supports a screen or UI. In other words, building block of the user interface is the activity.
Activity class is a pre-defined class in Android and every application which has UI must
inherit it to create window.

3.2.2 Android Manifest.xml


It is component of android source projects. It contains informations about activities, content
providers, permissions etc. It is like the web.xml file in Java EE.

3.2.2 Main Activity.java


Activity is a java class that creates and default window on the screen where we can place
different components such as Button, Edit Text, TextView, Spinner etc. It is like the Frame of
java AWT. It provides life cycles methods for activity such as onCreate, onStop, onResume
etc.

3.2.4 APK file


Apk stands for application package .apk file is compressed manifest file that contains
application code (.dex file) for application, resource file and other files required for
application.
It contains all the layout files (xml files) for activities means it defines the layout or we can
say user interface for each page. It shows how it would look like. In this project, we have
used three types of layouts
I. Horizontal
II. Vertical
III. Relative

9
3.2.5 Intent
Intent is a class to intercommunicate with other classes. Intent is used to send control to other
activity from one activity. It means it is used to start an activity or a service. Through it, we
can send value also to the other activity to be used.

III.2.6 Image View


Image View is used to show a picture with in the layout of an activity. If a layout contains
more than one image then its xml will contain more than image views.

III.2.7 Text View


It is a view subclass which is capable of showing text. Being a subclass of view, the TextView
component cab is used in our Android app's GUI inside a View Group.

III.2.8 Edit Text


It is the standard text entry widget in Android apps. If the user needs to enter text into an app,
this is the primary way for them to do that.

3.2.9 Button
A Button is a push button which can be which can be pressed or clicked by the user to
perform an action.

3.2.10 Spinner
Android Spinner is like the combox of AWT or Swing. t can be used to display the multiple
options to the user in which only one item can be selected by the user.

3.2.11 Image Button


It displays a button with an image that can be pressed or clicked by the user. By default, an
Image Button looks like a regular button, with a standard button background that changes
color during different button states.

3.3 Definition of Project Objectives

10
The purpose of this project is to provide essential information about Ajmer to those people
who migrate from other city to Ajmer. We all face this problem when we go out of our city, so
other people would not face this problem because this application
Will help them to explore and visit the city comfortably. And of course, this application will
increase the reputation of city. This application will also provide the information the beautiful
and famous places of our city.

3.4 Project Deliverables


The project is discussed with many people to show the progress and to get some other ideas
that can enhance the application. In the long run, showing the user part of Finished product in
stages was very helpful. There were a few things our colleagues brought to our understanding
and the team was able to change those things. If those parts were not corrected at the same
time and was waited for the finished of coding part, it would be very difficult to correct the
errors detected during the formation of the application.
Initially, the graphical user interface was acceptable by the user, but form project
deliverables, the discussion with colleagues and project guide, the interface was then
improved and was later incorporated into the final deliverable.

3.5 Project Plan


At beginning of the project, time for the group meeting for the discussion over design and
implementation of the application was scheduled. Several discussions to this effect took
place. When then a time line was developed for the project that when we would be submitting
the first look of the application for scrutiny, and the time was estimated we would use for
refactoring.
Team also pondered on the suitable name of the application, we came up with the name Visit
Ajmer but this name of an application existed. Then the name was changed to Ajmer only
but it was sounding so low and plain. Then search was stopped on Apna Ajmer after
several discussions.
After finding the suitable title for the application, work on the code was started. The team
was touch of colleagues, whenever any difficulty came into existence, it was discussed
among all of them. On some occasions, team members had to pretend they were the user
because the thinking like a user was most important to make an application user friendly and

11
so as try to figure out some of the things that user would desire such as the friendliness of the
user interface and ease of navigation through the application.
At an instance of time, it was noticed that the work was behind the schedule, and then a new
time line was created to manage the work with the time .The work was behind the schedule
because of the errors and problems occurring in the application during the coding .But with
the new time line, the team was able to complete the project in the given time period.
After the major part of the code was completed, team went ahead to the lace the code that
was, adding friendly things and to make the application friendlier and to make it look more
attractive.
The version of the application that has been submitted can still be improved according to the
user response .So far, the project is succeeded in the fulfillment of the problems of the user.
The reliability and the functionality will be improved with the time and the user responses .

3.6 Future Plan


The project has a wide scope to be enhanced in the future .The project is made in such a way
that many modifications can take place in the future as per the demand ,user response and
requirements .By making certain modifications ,a good amount of money or revenue can be
generated in the future .

CHAPTER 4
DESIGN AND IMPLEMENTATION
4.1 Design

12
Atm

Malls Attractiv
e points

Apna
Ajmer

Bank Hospitals

Education

Fig. 4.1 Component Chart


4.2 Implementation
The main difficulty that occurred during the implementation was to make desired functions
work. At first, the coding seemed a little complex then again a discussion took place at that
time and the team was able to get a more detailed description of the functions. After studying
the IDE on which the team was going to work, the coding become less complex and the team
was able to figure out how to go about it.

4.3 Technical Issues Encountered


Some of the technical issues and questions that were encountered during the study and
implementation are as follows:
I. How the program saves data
II. How errors are detected and the error message that should appear
III. What happens when try to overwrite data that already exists on the list
IV. Is the application user friendly
V. Is the graphical user interface elegant
The answers of these questions and solutions to problems were found after the group
discussions and meetings of the team members.

4.4 Software Development Practice Adopted


Practice that was adopted to develop the software is as follows:

13
I. Android Programming was used to build the application.
II. Whole team approach was adopted in which the user was involved throughout the
application development.
III. Simple designs were used which were as simple as the current functionality allowed
by the system. Application began with the very simple design, which was
incrementally improved.
IV. Continuous integration was also used where each code was compiled run and tested
before adding to the system after which the system must meet all the criteria.
V. We also made sure that we coded accordingly to coding standards, the development
codes were consistent and had the same style throughout.

4.5 Screenshots of the Final Project


Here are some screenshots of the final application that how does it look and how does it
work. There are many activities in an application. It is not possible to show all of them in this
report. So, few of them are represented here which are main activities of the application.

Main activity

14
This is the home Screen of our application which intents to move to the other desired pages.

Home Page

15
16
f
if user clicks on the sources component. It will open the all detail about of the source

17
Schools

Here users select any option like Cbse Schools,Hindi medium


schools, English medium schools ,they can get all details about
schools in ajmer
Example:

18
If user select Kendriya Vidyalaya as a source and he get all detail of kendriya vidyalaya
school.

19
If user select HKH public School as a source and he get all detail it

20
College

If user select Agriculture Colleges as a source and he can get all detail it

21
MALL

Here user select any mall as a source, he can get all detail .it.

22
. Miraj mall

23
City Square

24
Attractive Points

25
26
27
28
CHAPTER 5
RESULTS AND EVALUATION

5.1 Elegance and User Friendliness


I. The different tasks and functions are outlined in a very simple and clear manner for
the users.
II. The interface is very simple and not complicated to allow for easy usage.
III. The application is made in such a manner that no difficulty will strike during
operations. User can handle it with an ease and comfort.
IV. User can operate the application easily.

5.2 Quality Assurance


I. The application is fully tested to ensure it is relatively error free and that it computes
results correctly.
II. The software provides a better, time saving efficient way of getting information about
Ajmer city.

5.3 Critical Evaluation


I. The information or data on the screen will be lost when user will press but it remains
in the application's database.
II. If any record is deleted from the database of the application then it will deleted
permanently and this operation can't be undone.
III. The application stores information about each thing described in the application but
does not store the result of any activity.
IV. Application can be run on the phones and tablets having android.
V. User can't upload information into the database.

CHAPTER 6
CONCLUSIONS AND FURTHER WORK
29
6.1 Summary
The main objective of development of this application is to provide the information about the
Ajmer to those people who migrate from other cities for a certain period of time .Other
objective is to put the knowledge of Android into practice .The application is designated to
the team allowed members to fully exercise the techniques of Android .The final deliverable
is an application ,which provides information about the Ajmer city .

6.2 Overview and Interpretation of Results Attained


The team is able to attain the set objective and this helped the team to gain confidence in
writing their own code for their own applications .In addition ,the use of Intent was very
helpful for transferring the control of activities without any error .With Object oriented
Programming approach , the team was only concentrated on designing classes and objects .

6.3 Recommendations and Future Improvements


There is always room for improvement , and the application the team has created can also be
improved .This is especially because team had to create it within a limited time .With more
time ,the application can be improved to include more places to visit in Ajmer .This would be
the first step in making the application network-enabled .This was original after-thought to
programming the software ,and team had chosen Android .

CONCLUSION

30
The team is able to attain the set objective and this helped the team to gain confidence in
writing their own code for their own applications. In addition ,the use of Intent was very
helpful for transferring the control of activities without any error .With Object oriented
Programming approach , the team was only concentrated on designing classes and objects
.Members also worked as a team ,and gained some experience on how professional
programmers work in the industry .

REFERENCES

31
http://incredibleindia.org/lang/images/docs/trade-pdf/surveys-and-studies/perspective-
plans-of-states-UTs/rajasthan.pdf
http://ficci.in/spdocument/20610/Report-Tourism-Infrastructure.pdf
http://www.pdcor.com/Draft-City-Development-Plan-Ajmer-Pushkar.pdf

32

You might also like