Sunteți pe pagina 1din 101

AITS Meet Me Here

Chapter 1

Company Profile

Chirag M. Nagariya(095020693009) Page 1


1
AITS Meet Me Here

Head Office: Office:

D-7, Abhishree Corporate Park, 2nd Floor, Kristal Complex


Opp-Shell petro pump, Near S.T. Workshop,
Iscon-Ambli Road, Opp. Vadgama Wooden works,
Ahmedabad - 380058 Gondal Road,
Rajkot - 360 003

About VirtueInfo

VirtueInfo has massive development center in Ahmedabad and Rajkot (Gujarat), India. Our
prosperous list of patrons is spread across the globe specially in USA, UK, Canada and
Australia. All of company clients have profited with the help of our advanced E-commerce
Solutions.

Along-side being a custom web development and website design company, VirtueInfo
specializes in sophisticated IT solutions at an affordable price. The rich repertoire of services
on offer from us includes comprehensive web-based solutions too.

VirtueInfo delivers excellence in terms of dedicated and business-centric web development


solutions. We are specialized in terms of customized web development services that meet
Web 2.0 standards and accommodate scopes for futuristic support. Our team of expert PHP
developers, Symphony developers, Android Developer, Drupal Developers and iPhone
developers make it possible to achieve web development solutions that are both innovative
and highly functional.

VirtueInfo provides PHP web development, Symphony, Drupal development, Hire web
developer, iPhone applications development, Facebook apps, Social media websites, Zend
PHP framework, Cake PHP development, Ruby on Rails (RoR), PHP programming.

Open source Content management systems that includes Drupal, Joomla, osCommerce, X-
cart, Zen cart, Magento, Virtue mart. Virtue info also offers Ajax development, Flex
development, Ajax programming, Flex programming, Website design, Flash animation,
Graphic design, Banner creation, Custom logo designs and Search engine optimization.

Virtueinfo now offers you Amazon Cloud Computing Services, which includes Cloud
Computing, Auto Scaling, Database Service, Cloud Watch Monitoring, Simple Storage
Service, Flexible Payments, Mechanical Turk and Google Platform Services.

Chirag M. Nagariya(095020693009) Page 2


2
AITS Meet Me Here

Chapter 2

Introduction

Chirag M. Nagariya(095020693009) Page 3


3
AITS Meet Me Here

2.1 Project Summary


Meet Me Here is an Android Mobile application used for create event and send
to Google calendar. This provides user facility to create event and they can get
notification and reminder and complete information of direction to reach at
destination.

In this application it uses GPS System and Internet, GPS to locate the user
position and Internet for sending email and fetching the data about routes and
directions. This application provide the complete information of event such as when,
where and who are invited in event or meeting. This application can also provide
each and every kind of information required by the user about locations and routes
with a quite nice GUI.

This application doesn‟t require any kinds of Login or Registrations from user
they can directly use Gmail account in mobile in which user is already log in. It is
necessary to log in Gmail account before you use this application. By using GPS
services it makes aware the user where he/she is now and how much destination
location where event is organize. User can also get driving directions to destination
places or plan the path to be travelled earlier.

In this application user can also share location with its friends and location
show on the map. User can find path between Current locations to its friend latest
known location.

User can also chat with its friend using Google account so it secures way to
chat with friends. Client can see location of friends and chat with in single
application.

Practical Usage and Feature

 Create event/ invitation at any time any where and sends to friends.

 User can see the event/invitation at any location and give response if it
attends or not in Google calendar.

 Give reminder of event in mobile.

 Provide flexibility to User to find the Routes of event location.

 Allow the user to chat with friends.

 Users allow to share there location information to his/her friend and his/her
friends can find direction on map.

 Allows adding friend in contact.

 Show the complete history of events.

Chirag M. Nagariya(095020693009) Page 4


4
AITS Meet Me Here

2.2 Project Profile


Project Title: Meet Me Here

VirtueInfo Web Technologies Pvt. Ltd.


2nd Floor, Kristal Complex
Near S.T. Workshop,
Organization:
Opp. Vadgama Wooden works,
Gondal Road,
Rajkot - 360 003

Developed By: Chirag M. Nagariya


Mehul K. Ambariya
Duration: Jan 2012 – Apr 2012

Internal Guide: Mr. Amit Kalariya


(Branch Head VirtueInfo Web
Technologies Pvt. Ltd.)

Project Tools:

Front-end Tools: Eclipse

Back-end Tools : SQLite

Platform: Android

Software Requirements:

Application Frontend Eclipse Helios (with ADT plug-in Android 2.1)


Database Backend SQLite
Office Automation Tools Microsoft office 2007, MS Visio

Hardware Requirements (Recommended)

Application Installation Android enabled GSM/CDMA phone


CPU 366 Mhz.
Version 2.1
Memory 128MB

Chirag M. Nagariya(095020693009) Page 5


5
AITS Meet Me Here

Chapter 3

Analysis

Chirag M. Nagariya(095020693009) Page 6


6
AITS Meet Me Here

3.1 About existing System

Meet Me Here is available in market. It contains features such as Ever wonder here
you are? What is my current address of which city am I in? Meet here let you know where
you are via GPS or screen tap. You can share your address/location with others by sending
a message, mail or positing it on Facebook or twitter (if you have Facebook and twitter app
installed on your phone).

3.2 Feasibility Study


Operational Feasibility:

By feasibility study we mean study of the current operational systems and


brief consideration of alternative methods computerizing these tasks. The purpose of
the feasibility study is to investigate the present system, evaluate the possible
application of computer-based methods, select a tentative system, evaluate the cost
and effectiveness of the proposed system, evaluate the impact of the proposed
system on existing personal and ascertain the need for new personnel.

From the user point of view, a Meet Me here is easy to operate because it
only uses simply step to by step to perform any task. The application uses mail
service, it is common task of people who are smart phone user. So it no need to give
any instruction how to use these system.

There is no need to learn any special command and training to use this system.

Technical Feasibility:

Technical feasibility refers to the ability of the process to take advantages of


the current state of the technology in pursuing further improvement. The front end
tool proposed is easily compatible with the current hardware configuration in the
organization. The back end tool proposed has the capacity to hold the data required
for using the new system.

Meet Me Here uses the existing technology only. It uses internet for sending
mail, uses GPS for finding current location. Now a day these technologies are

Chirag M. Nagariya(095020693009) Page 7


7
AITS Meet Me Here

improved day by day. So its convenient to us use these technology. So there is no


need to develop any hardware to provide these facilities.

Meet Me Here is run on android operating system which are available in most of
smart phone devices. So there is no need to install any software or driver to run this
application.

Economical Feasibility

For declaring that the system is economically feasible, system will be cost
effective and budgetary constraints, it should be cheap and quick.

There isn‟t any extra requirement of peripheral or software for development


of system as it can be completed with the available resource.

3.3 Limitation of existing system

The current system available on market is use only for sharing your location,
finding address on map. It not provide to create event and share to friends. To
share only location is not enough for people who want to touch with its friends in
daily life. Not send any other type of data such as some message for user it not
possible using existing application.

Not secure.

3.4 Scope of Proposed System

Email is now general use service in smart phones devices. The technical or
non technical person both are use email services in its daily life. So we can use
proper use of email and its feature. Gmail provided by Google now widely used email
service in the world. Google can also provide Google calendar to manage day to day
activity. In these application user can send the invitation to Gmail and it create one
event in its Google calendar.

This application also used Location-Based Services (LBS) are the services that
let us find the device‟s current location. They include technologies like GPS and
Google‟s cell-based location technology. We can specify which location-sensing
technology to use explicitly by name, or implicitly by defining a set of criteria in
terms of accuracy, cost, and other requirements. The Application uses GPS so the
Chirag M. Nagariya(095020693009) Page 8
8
AITS Meet Me Here

user can get information about the Current location and the user can get the best
suited routes to reach at destination location. Upcoming devices are facilitated with
GPS and 3G connectivity which is used in this application which enhances great
scope of use of this application. User can share his/her location to his/her friend to
kwon where is it and reach there using direction provided by Google navigation.

 In system it include create event feature in that user can create event at any
time and send to its friends. So user can see event invitation at any time in
its mail inbox.

 Existing system contain only to share location of friends but it not show it on
map. In new system share location to friends as well as shown on map it also
display route between you and your friend.

 User can also chat with friends using secure way (Use Gmail server).

 Show all details of event such as when where, who is organize all the thing
are shown on your mobile. You not need to check your mail every time.

3.5 Limitation of proposed system

This project only works on devices, which have android operating system.

If internet is disabled then user cannot create event and share to friends that is main
features of this application not run.

If GPS is disabled no locations can be accessed and show the path of event location.
User cannot share photos of place from application.

Chirag M. Nagariya(095020693009) Page 9


9
AITS Meet Me Here

3.6 Static View


What is Object Diagram?

Object diagrams represent an instance of a class diagram. The basic concepts are
similar for class diagrams and object diagrams. Object diagrams also represent the
static view of a system but this static view is a snapshot of the system at a particular
moment.

Object diagrams are derived from class diagrams so object diagrams are
dependent upon class diagrams.

Object diagrams are used to render a set of objects and their relationships as an
instance.

The purpose of a diagram should be understood clearly to implement it


practically. The purposes of object diagrams are similar to class diagrams.

The difference is that a class diagram represents an abstract model consisting of


classes and their relationships. But an object diagram represents an instance at a
particular moment which is concrete in nature.

It means the object diagram is more close to the actual system behavior. The
purpose is to capture the static view of a system at a particular moment.

So the purpose of the object diagram can be summarized as:

 Forward and reverse engineering.


 Object relationships of a system
 Static view of an interaction.
 Understand object behavior and their relationship from practical perspective

Chirag M. Nagariya(095020693009) Page 10


10
AITS Meet Me Here

Object Diagram:

Fig 3.1 - Object Diagram of Meet Me Here

Chirag M. Nagariya(095020693009) Page 11


11
AITS Meet Me Here

3.7 Dynamic View


What is use case?

The Use Case diagram models the users' expectation for using the system. The
people and systems that interact with the target system are called actors. The
features of the system that the actors use are called use cases. Some use cases
interact with other use cases, a relationship modeled using dependency arrows.

The goal of the Use Case diagram is to identify all the features that the clients
expect the system to support, but it does not reveal any details about the
implementation of these features. Use cases can be written several ways but the most
common is to represent a view of the system from outside the system.

Use Case diagrams are valuable because they

 Identify the clients' expectations for the system.


 Identify specific features of the system.
 Identify shared behavior among system features.
 Provide a simple and easily understood way for clients to view their
requirements.

Chirag M. Nagariya(095020693009) Page 12


12
AITS Meet Me Here

i) Home Screen

Fig 3.2 - Use case diagram – Home screen

Chirag M. Nagariya(095020693009) Page 13


13
AITS Meet Me Here

ii) Create Event

Create Event

Input Data

«uses»

«uses»
Tap on Map

Edit Event

Select mail ID
User
«uses»

Uses Contact

Send Mail

Fig 3.3 - Use case diagram - Create Event

Chirag M. Nagariya(095020693009) Page 14


14
AITS Meet Me Here

iii) My Location

Fig 3.4 - Use case diagram – My Location

Chirag M. Nagariya(095020693009) Page 15


15
AITS Meet Me Here

iv) Event Log

Fig 3.5 - Use case diagram – Event Log

Chirag M. Nagariya(095020693009) Page 16


16
AITS Meet Me Here

v) Chat

Fig 3.6 - Use case diagram – Chat

Chirag M. Nagariya(095020693009) Page 17


17
AITS Meet Me Here

vi) Add Friend

Fig 3.7 - Use case diagram – Add friends

Chirag M. Nagariya(095020693009) Page 18


18
AITS Meet Me Here

Chapter 4

Design

Chirag M. Nagariya(095020693009) Page 19


19
AITS Meet Me Here

4.1 System Design

4.1.1 Sequence Diagram

The sequence diagram is used primarily to show the interactions between


objects in the sequential order that those interactions occur. Much like the class
diagram, developers typically think sequence diagrams were meant exclusively for
them. However, an organization's business staff can find sequence diagrams useful
to communicate how the business currently works by showing how various business
objects interact. Besides documenting an organization's current affairs, a business-
level sequence diagram can be used as a requirements document to communicate
requirements for a future system implementation. During the requirements phase of
a project, analysts can take use cases to the next level by providing a more formal
level of refinement. When that occurs, use cases are often refined into one or more
sequence diagrams.

An organization's technical staff can find sequence diagrams useful in


documenting how a future system should behave. During the design phase,
architects and developers can use the diagram to force out the system's object
interactions, thus fleshing out overall system design.

One of the primary uses of sequence diagrams is in the transition from


requirements expressed as use cases to the next and more formal level of
refinement. Use cases are often refined into one or more sequence diagrams. In
addition to their use in designing new systems, sequence diagrams can be used to
document how objects in an existing (call it "legacy") system currently interact. This
documentation is very useful when transitioning a system to another person or
organization.

Chirag M. Nagariya(095020693009) Page 20


20
AITS Meet Me Here

Fig 4.1 - Sequence diagram – Meet Me Here

Chirag M. Nagariya(095020693009) Page 21


21
AITS Meet Me Here

4.1.2 Activity diagram

The Activity diagram models logic-any logic-from work flow to use cases to
methods. It borrows most of its notation from flowcharts, but has added the concept
of concurrency to support many modern applications.

Activity diagrams are valuable because they

 Represent the logic required to implement system behaviors.


 Represent logic at any level the design needs, from system workflow to individual
method implementations.
 Are simple enough to learn quickly.
 Are relatively familiar to users since they are often used in business training and
procedures manuals.

Chirag M. Nagariya(095020693009) Page 22


22
AITS Meet Me Here

i) Create Event

Fig 4.2 - Activity diagram – Create Event

Chirag M. Nagariya(095020693009) Page 23


23
AITS Meet Me Here

ii) My Location

Fig 4.3 - Activity diagram – My Location

Chirag M. Nagariya(095020693009) Page 24


24
AITS Meet Me Here

iii) Event Log

Fig 4.4 Activity diagram – Event Log

Chirag M. Nagariya(095020693009) Page 25


25
AITS Meet Me Here

iv) Chat

Fig 4.5 Activity diagram – Chat

Chirag M. Nagariya(095020693009) Page 26


26
AITS Meet Me Here

v) Add Friend

Fig 4.6 - Activity diagram – Add friend

Chirag M. Nagariya(095020693009) Page 27


27
AITS Meet Me Here

4.1.3 Class diagram

The Class diagram is at the heart of the object modeling process. It models
the definitions of resources essential to the proper operation of the system. All of the
other modeling diagrams discover information about these resources (such as
attribute values, state, and constraints on behavior) that ultimately must make its
way onto the Class diagram. The Class diagram is the source for code generation
(converting a model to code) and the target for reverse engineering (converting
code to a model).

The Class diagram models the resources used to build and operate the system.
Resources represent people, materials, information, and behaviors. Class diagrams
model each resource in terms of its structure, relationships, and behaviors.

Class diagram models resources and relationships between resources. It


defines how many objects may participate in the relationship and may even set rules
defining which objects can participate.

Class diagrams are valuable because they

 Define the essential resources of a system.


 Define relationships between resources.
 Generate code.
 Model code (reverse engineering).
 Provide a focus for all the other diagrams.

Chirag M. Nagariya(095020693009) Page 28


28
AITS Meet Me Here

i) Create event

Fig 4.7 - Class diagram – Create event

Chirag M. Nagariya(095020693009) Page 29


29
AITS Meet Me Here

ii) My Location

Fig 4.8 - Class diagram – My Location

Chirag M. Nagariya(095020693009) Page 30


30
AITS Meet Me Here

iii) Event Log

Fig 4.9 Class diagram- event log

Chirag M. Nagariya(095020693009) Page 31


31
AITS Meet Me Here

iv) Chat

Fig 4.10 -Class diagram – chat

Chirag M. Nagariya(095020693009) Page 32


32
AITS Meet Me Here

4.2 Data Dictionary


Data dictionary is a catalogue a repository of the elements in a system. They
are prepared to meet user requirements to know system elements and their
purposes.

Data dictionary consists of list of the elements composing the data flow
through the system. The major elements are data flows, data stores and processes.
The data dictionary stores detailed description for these elements.

The dictionary is developed during data flow analysis and assists the analysts
involved in determining system requirements.

Data dictionary is one of the most important elements used during system
analysis and design process.

The data dictionary is considered important because –

 To manage detail in large system.


 To communicate a common meaning for all system elements.
 To document the features of the system.
 To facilitate analysis of details in order to evaluate characteristics and determine
whether system changes should be made.
 To locate error and omissions in the system.

Chirag M. Nagariya(095020693009) Page 33


33
AITS Meet Me Here

1. Table Name : EVENT_DETAILS

Brief Description : This table contains type of the users.

Primary Key : _id

Field Data Constraint(s) Description


Type
_id Integer Primary Key, Used as event number.
Auto
Increment
Event_Name Text Not Null Event name Like a sport event,
function.
Event_Date Text Not Null Starting event on that date.
Event_End_Date Text Not Null Ending event on that date.
Start_Time Text Not Null Starting event on that time.
End_Time Text Not Null Ending event on that time.
Desc Text Null Description of event
Address Text Null Event address which describe event
location
Organizer Text Not Null Organizer of event

2. Table Name : EVENT_MEMBER

Brief Description :This table contains event id and contact id which are
invited in event.

Primary Key : No

Field Data Type Constraint(s) Description


Event_id Integer Not Null Used as event id
Contact_id Text Not Null Used for Contact id

Chirag M. Nagariya(095020693009) Page 34


34
AITS Meet Me Here

3. Table Name : LOCATION_INFO

Brief Description : This table contains location information.

Primary Key : No

Field Data Type Constraint(s) Description


Contact_Name Text Not Null
Latitude Text Not Null
Longitude Text Not Null
Time Text Null

Chirag M. Nagariya(095020693009) Page 35


35
AITS Meet Me Here

Chapter 5

Implementation
and

Testing

Chirag M. Nagariya(095020693009) Page 36


36
AITS Meet Me Here

5.1 Input screen


Input Design is the process of the converting user oriented inputs to a
computer based format. Inaccurate Inputted data have the most common sense of
error in data processing. Any ambiguity conceiving at input leads to a total fault in
output. The goal of designing the input data is to make the data entry easy, logical
and error free as possible, Inputs are made using forms and data validation is done
at the time of inputting data.

Chirag M. Nagariya(095020693009) Page 37


37
AITS Meet Me Here

Home Screen Create Event

- This is home screen of application. - First option of home screen is Create


- User can click any one button on event if user click on it , it require
screen. internet connection.
- Create Event button used to create - If internet connection is not available
new event or edit existing event. then it show above dialog box.
- My Location button is used to show - User click OK then dialog box is
current location of user on map. disappear .
- Event log button shows the history of - Then user enable internet connection
all event it either past event or in it allow further operation.
future event.
- Chat button is allow user to chat with
its Gmail friends.
- Add friend button add contact on
contact list of mobile.

Chirag M. Nagariya(095020693009) Page 38


38
AITS Meet Me Here

Create Event

- This is main screen of create event. - Some of the fields are compulsory in
- User can enter details of create such this input screen then it requires
as event title, event start date , some validation.
event end date, time of event, and
address. - If user not enter value in those field
then it show message to the user.

Chirag M. Nagariya(095020693009) Page 39


39
AITS Meet Me Here

Create Event

Chirag M. Nagariya(095020693009) Page 40


40
AITS Meet Me Here

Create Event

- Click on date button it display dialog - Click on time button it show dialog to
to select date. select time.

Chirag M. Nagariya(095020693009) Page 41


41
AITS Meet Me Here

- On click of map button and GPS is - This is system option screen to allow
not enable it show dialog message is user to enable GPS satellites by
GPS in not enable. checking box “Use GPS satellites”

- On click of “Settings” button it show - When user press back button then
“Location and security settings” redirect to Meet Me Here application.
screen to allow user to enable GPS.

Create Event

Chirag M. Nagariya(095020693009) Page 42


42
AITS Meet Me Here

- If GPS is enable then it show this - When user click (Tap) on map it
screen show progress dialog to find address.

- In this screen user tap (click) on - Progress bar show because it require
map it searches that location some time to find address.
address.

Create Event

Chirag M. Nagariya(095020693009) Page 43


43
AITS Meet Me Here

- When address is found it require - After filing all the entry our create
user confirmation. event form is complete then user
click “Send” button and show next
- If address is right then user click screen.
“Yes” otherwise “No”

- If User click “No” button then again


give another chance to user to
select address.

- If user click “Yes” button then


address is added to address text
box show in previous screen.

Create Event

Chirag M. Nagariya(095020693009) Page 44


44
AITS Meet Me Here

- This screen allow user to select list - When user click on “Send” button is
of friend to which event is send. show menu.

- It only display those contact which - In this menu it show available option
have email id. from you can send mail to selected
user.
- “Select All” button select all the
contact from list.

- “Deselect All” button deselect all


selected contact in list.

Create Event
Chirag M. Nagariya(095020693009) Page 45
45
AITS Meet Me Here

- After selecting appropriate mail client - To click on send option mail is send
it generate mail. to user.

- In this mail one file is automatically - Or user may click “Discard” option to
attached discard the mail.

- This is Google calendar file, this file


add event in receivers calendar.

- And also send one link to receiver


side.

Chirag M. Nagariya(095020693009) Page 46


46
AITS Meet Me Here

Create Event

- On receiver side mail contain a link. - If Meet Me Here application install in


receiver device then it show the
- By clicking on that link it show one Meet Me Here option on menu.
menu.
- If user click on this option it add
this event on receivers application
database.

Chirag M. Nagariya(095020693009) Page 47


47
AITS Meet Me Here

Event Inserted Edit Event

- If event is successfully added then it - Click on Menu it show one option that
open Meet Me Here application and is “Edit Event”
show the message “Event inserted
successfully”. - Allow user to edit existing event.

Chirag M. Nagariya(095020693009) Page 48


48
AITS Meet Me Here

Edit Event

- It show list of all the event which are - Show all details in page.
pending and organize by you.
- User can change an y data and send
- User Select one of the event and click to user.
on “Edit” button it back to create
event form page.

- It automatically fill all the data and


allow user to change on it and again
send to its friends.

Chirag M. Nagariya(095020693009) Page 49


49
AITS Meet Me Here

Chirag M. Nagariya(095020693009) Page 50


50
AITS Meet Me Here

This is inbox of user.

When mail is successfully send it one message to receiver “Add to calendar”

If it click on that option then event is successfully added on it Google calendar.

Chirag M. Nagariya(095020693009) Page 51


51
AITS Meet Me Here

Reminder In Mobile

- Give reminder notification in mobile. - In calendar it provide event details as


well as reminder.

Chirag M. Nagariya(095020693009) Page 52


52
AITS Meet Me Here

My Location

- Check whether internet connection is - Check whether GPS is enable or not.


available or not.
- If it is disable then it show above
- If Not available then it show above dialog box.
dialog box.
- If user click “Cancel” then dialog box
is dismiss.

- If user click “Settings” then it show


next screen to enable GPS satellite.

Chirag M. Nagariya(095020693009) Page 53


53
AITS Meet Me Here

My Location

- This is system option screen to allow - If GPS is enable then it show current
user to enable GPS satellites by location of user on map.
checking box “Use GPS satellites”
- If user store it photo in contact then it
- When user press back button then show its photo otherwise it display
redirect to Meet Me Here application. default photo.

Chirag M. Nagariya(095020693009) Page 54


54
AITS Meet Me Here

My Location

- When you click on user photo it show - On pressing Menu button on device it
the information about it. show the available option.

- Such as date and time where you are - “My Location” : to refresh current
last available on map. location.

- By clicking on cross appear at right - “Share Location” : to share your


top corner the balloon is hide. current location to other.

- “Friends Location” : show the friends


location on map if friends is sharing
there location to you.

- “Search” : Search particular place on


map.

Chirag M. Nagariya(095020693009) Page 55


55
AITS Meet Me Here

My Location -> Direction

- By clicking on “Friends Location” it - By clicking on direction it find


show its last known location on map. navigation path to the destination.

- By clicking on its photo its show - It require some time to find then it
above balloon. show above dialog box.

- If You are click on “Direction” show


on balloon then it show its complete
path to reach there.

Chirag M. Nagariya(095020693009) Page 56


56
AITS Meet Me Here

My Location -> Direction

- After finishing its process it show - Zoom level of map.


complete path to reach at friends
location. - It may different from country to
country.
- The above screen show complete
direction guide with total distance.

Chirag M. Nagariya(095020693009) Page 57


57
AITS Meet Me Here

My Location -> Search

- On selecting Menu-> Search option - Enter location


it show above screen.
- And press “Search” button.
- You can enter location name on text
box then press “search” it show that
location.

Chirag M. Nagariya(095020693009) Page 58


58
AITS Meet Me Here

My Location -> Search

- To search place it require some time - After completing searching operation


then it display progress box as it show the location that you want to
above. find.

Chirag M. Nagariya(095020693009) Page 59


59
AITS Meet Me Here

My Location -> Share Location

- By click on “Share Location” it show - Choose appropriate mail client to


the friends list. send mail.

- Select friends that you want to share


location.

- By click on send button it show next


screen.

Chirag M. Nagariya(095020693009) Page 60


60
AITS Meet Me Here

My Location -> Share Location

- It generate mail that contain user - On receiver side it show the mail as
location information on link. above in his inbox.

- By clicking on link in message body


part it show menu option.

Chirag M. Nagariya(095020693009) Page 61


61
AITS Meet Me Here

Insert Location

Chirag M. Nagariya(095020693009) Page 62


62
AITS Meet Me Here

- By clicking on link it show above - When you click on Meet Me Here


menu. option, Meet Me Here application
automatically open and save location
- In this menu you see Meet Me Here information in database.
application name.
- In above screen show the message
- By clicking this option the location that is “Location inserted
information successfully added in successfully”
your database.
- This address is used when you want
to show Friends Location in My
Location->Menu->Friends Location.

Event Log

Chirag M. Nagariya(095020693009) Page 63


63
AITS Meet Me Here

- Event log show the log of event. - It show upcoming event list.

- It classify the log in three type

- 1st Today‟ Event it show only event


which are organized on current date.

- 2nd Upcoming Event show the future


event occurs in your agenda.

- 3rd it show all the event which is


organized in past, present and
future.

- In list you can also see short


description about event.

- It show title, event date, time, and


who is organize.

Event Log

Chirag M. Nagariya(095020693009) Page 64


64
AITS Meet Me Here

- It show all event list. - By long pressing on any event list it


show above menu.
- It contain today‟ event, upcoming
event and others. - The menu contain three option.

- “View” : show detail information of


event.

- “Delete” : it delete event from list.

- “Show on Map” : show path from


your location to event location.

It is help full when you are not know


the event location exactly.

Chirag M. Nagariya(095020693009) Page 65


65
AITS Meet Me Here

Event Log -> View

- On clicking on “View” option on menu - On clicking on menu button it show


it show detail information as above. one mere option that is add more
friends.
- It show event title, who is organizer,
when and where it organized. - This option is worked only if you are
the organizer of event otherwise it
- It also show the number of people will not work.
which are invited on event. It only
see if event is organized by you.

Chirag M. Nagariya(095020693009) Page 66


66
AITS Meet Me Here

Event Log -> Add More Friend

- If you are organizer and want to - It show the list of people that you
invite more friends then it require want to invite.
internet connection to send event
mail. - By clicking on “Send” button it show
next menu.

Chirag M. Nagariya(095020693009) Page 67


67
AITS Meet Me Here

Event Log -> Add More Friend

- Choose appropriate mail client from - Create mail that you want to send.
which you want to send mail.
- Then click on send button to send the
mail.

Chirag M. Nagariya(095020693009) Page 68


68
AITS Meet Me Here

Event Log -> Show on Map

- On clicking on “Show on Map” - It also require internet connection.


option it check GPS connection .
- If it is not available then it show
above dialog box.

Chirag M. Nagariya(095020693009) Page 69


69
AITS Meet Me Here

Event Log -> Show on Map

- It route from user current location - To delete particular event from list
to destination where event is then you press delete option.
organize.
- It gave user confirmation you want
- It show complete guide to travel. to delete.

- If you press “Yes” then it delete


from list and database.

- If not then you press “No”. It


simply hide dismiss the dialog.

Chirag M. Nagariya(095020693009) Page 70


70
AITS Meet Me Here

Chat

- When you click on chat button it first - It show log in dialog box.
check internet connection.
- It uses XMPP server to log in.
- If internet connection is not available
the it show above dialog box. - We can default set Gmail as a chat
server but if you know other Host and
- If internet available then it show next its port then you can use any mail
log in screen. server.

- To log in user require to enter user Id


and password.

Chirag M. Nagariya(095020693009) Page 71


71
AITS Meet Me Here

Chat

- If user not enter user Id and - If user name and password is enter
password or it is incorrect then it then it show progress dialog
show message. because it require some time to
connect with server.

Chirag M. Nagariya(095020693009) Page 72


72
AITS Meet Me Here

Chat

- If user is successfully log in then it - Is you click on recipient list then it


show home screen as above. show number of chat user list.

- In this screen you see Logout button - Select one of them to chat with it.
as top of the screen.

- Next you see recipient to with you


want to chat.

- Next show conversation list between


you and recipient.

- Next show area to enter message.

Chirag M. Nagariya(095020693009) Page 73


73
AITS Meet Me Here

Chat

- Enter message in message area. - In conversation list show “Me” which


are you and other is “cm.nagariya” in
- Click on send button to send this conversation.
message.

Chirag M. Nagariya(095020693009) Page 74


74
AITS Meet Me Here

Add Friend

- To click on Add Friend button it show - Fill the above form to store contact.
above screen to which storage you
want to insert new contact.

- 1st is Phone if you are selecting


these then your contact will be store
on phone memory.

- It contains more details to store.

- If you are log in then it show third


option otherwise not.

Chirag M. Nagariya(095020693009) Page 75


75
AITS Meet Me Here

5.2 Report Layout

A document containing information organized in a narrative, graphic, or tabular


form, prepared on ad hoc, periodic, recurring, regular, or as required basis.

Using Report layout we get many advantages which are as following


 Increased readability
 Increased accessibility
 Structuring and organizing content is easier
 Easily understandable
 Writing with colleagues is easier to manage

Chirag M. Nagariya(095020693009) Page 76


76
AITS Meet Me Here

Time January February March April


st nd
Chart 1 2 3rd 4th 1 st
2nd
3rd 4th 1st 2nd 3rd 4th 1 st
2 nd
3rd 4th
Documentation
(Module-1)
Analysis of
Creating event
Analysis of
Event details
Analysis of
Current location
Analysis of
chat
(Module-2)
Design of create
event
Design of event
details
Design of
Location layout
Design of chat
(Module-3)
Coding of create
event
Coding of event
log
Coding of
Chatting layout
Coding of Location
(Module-4)
All Testing & Error
Solving

Fig 5.1 Timeline of project

Chirag M. Nagariya(095020693009) Page 77


77
AITS Meet Me Here

5.3 Testing

5.3.1 Testing Plan

The Testing Process

Developer tests the software process activities such as Design,


Implementation, and Requirement Engineering. Because, design errors are very
costly to repair once system has been started to operate, therefore, it is quite
obvious to repair them at early stage of the system. Therefore, analysis is the most
important process of any project.

Requirement Traceability

As most interested portion is whether the system is meeting its requirements


or not, for that testing should be planned so that all requirements are individually
tested. Developer checked the output of certain combination of inputs, which gives
desirable results, or not. Strictly stick to your requirements specifications, give you
the path to get desirable results from the system.

Tested Items

Our tested items are like:

 Check for GPS and Internet Connections

 Check for valid Source and Destination points entered by user

 Orientation changes handling

 Transitions between two activities and passing data

 Database connections and updates handling

Testing Schedule

I have tested each procedure back-to-back so that errors and omissions can
be found as early as possible. Once the system has been developed fully I have
tested it on different devices, which differs in configuration.

Chirag M. Nagariya(095020693009) Page 78


78
AITS Meet Me Here

5.3.2 Testing Strategy

Integration & System Testing

The system is first divided in units that are developed and tested for their
functionalities. These units are integrated into a complete system during Integration
phase and tested to check if all modules/units coordinate between each other and
the system as a whole behaves as per the specifications. After successfully testing
the software, it is delivered to the customer.

Black Box Testing Strategy

Black Box Testing is not a type of testing; it instead is a testing strategy,


which does not need any knowledge of internal design or code etc. As the name
"black box" suggests, no knowledge of internal logic or code structure is required.
The types of testing under this strategy are totally based/focused on the testing for
requirements and functionality of the work product/software application. Black box
testing is sometimes also called as "Opaque Testing", "Functional/Behavioral Testing"
and "Closed Box Testing".

The base of the Black box testing strategy lies in the selection of appropriate
data as per functionality and testing it against the functional specifications in order to
check for normal and abnormal behavior of the system. Now a days, it is becoming
common to route the testing work to a third party as the developer of the system
knows too much of the internal logic and coding of the system, which makes it unfit
to test the application by the developer.

In order to implement Black Box Testing Strategy, the tester is needed to be


thorough with the requirement specifications of the system and as a user, should
know, how the system should behave in response to the particular action. us testing
types that fall under the Black Box Testing strategy are: functional testing, stress
testing, recovery testing, volume testing, User Acceptance Testing (also known as
UAT), system testing, Sanity or Smoke testing, load testing, Usability testing,
Exploratory testing, ad-hoc testing, alpha testing, beta testing etc.

White Box Testing Strategy

White box testing strategy deals with the internal logic and structure of the
code. White box testing is also called as glass, structural, open box or clear box
testing. The tests written based on the white box testing strategy incorporate
coverage of the code written, branches, paths, statements and internal logic of the
code etc.

Chirag M. Nagariya(095020693009) Page 79


79
AITS Meet Me Here

In order to implement white box testing, the tester has to deal with the code
and hence is needed to possess knowledge of coding and logic i.e. internal working
of the code. White box test also needs the tester to look into the code and find out
which unit/statement/chunk of the code is malfunctioning.

Advantages of White box testing are

i. As the knowledge of internal coding structure is prerequisite, it becomes very


easy to find out which type of input/data can help in testing the application
effectively.

ii. The other advantage of white box testing is that it helps in optimizing the
code it helps in removing the extra lines of code, which can bring in hidden
defects.

5.3.3 Testing Methods

Software Testing involves executing an implementation of the software with


test data and examining the outputs of the software and its operational behaviour to
check that it is performing as required.

Statistical Testing

Statistical Testing is used to test the program‟s performance and reliability


and to check how it works under operational conditions. Tests are designed to reflect
the actual user inputs and their frequency. The stages involved in the static analysis
for this system are follows.

 Control flow analysis

 Unreachable code

 Unconditional branches into loops

 Data use analysis

 Variable used before initialization

 Variables declared but never used

 Variables assigned twice but never used between assignments

 Possible array bound violations

 Declared variables
Chirag M. Nagariya(095020693009) Page 80
80
AITS Meet Me Here

 Interface analysis

 Parameter type mismatches

 Parameter number mismatches

 Non-usage of the results of functions

 Uncalled functions and procedures

 Storage management faults

 Insufficient memory space

Defect Testing

Defect Testing is intended to find inconsistencies between a program and its


specification. These inconsistencies are usually due to the program faults or defects.

Unit Testing

The developer carries out unit testing in order to check if the particular
module or unit of code is working fine. The Unit Testing comes at the very basic level
as it is carried out as and when the unit of the code is developed or a particular
functionality is built.

Loop Testing

Tester has tested the some conditions in code of application. So they test the
looping in source code of application for finding miss rout or any error or wrong
direction of flow in code.

Structural Testing

Developer has done path testing to exercise every independent execution


path through a component or program. If every independent path is executed then
all statements in the components must have been executed at least once. The
structure of our program is also checked.

Integration Testing

After our individual modules Developer tested out Developer go to the


integrated to create a complete system. This integration process involves building

Chirag M. Nagariya(095020693009) Page 81


81
AITS Meet Me Here

the system and testing the resultant system for problems that arise from component
interactions.

Developer has applied top-down strategy to validate high-level components of


a system before design and implementations have been completed. Because, our
development process started with high-level components and Developer worked
down the component hierarchy.

Performance Testing

Performance testing is designed to test the runtime performance of the


system within the context of the system. These tests Developer performed as
module level as Developer as system level. Individual modules Developers tested for
required performance.

Condition Testing

Condition testing is a test case design method that exercises the logical
conditions contained in a program module. If the condition is incorrect, then as least
one part of the condition is incorrect.

It may include:

 Boolean variable error

 String Index out of Bound error

 Null Pointer Assignment

 Input Output Connection Exceptions

 Images or Map Unloaded errors

 Arithmetic expression error

Developer examined the code to be tested and explicitly list each call to an
external component. In the system, standards tests for GUIs have been performed,
which are as follows.

 The position and related labels for all controls checked.

 All menu functions and sub functions verified for correctness.

 Validations for all inputs done.

 Each menu functions tested, whether it invokes the corresponding functionality


properly.

 Pull down controls was verified for proper functionality.

Chirag M. Nagariya(095020693009) Page 82


82
AITS Meet Me Here

 Whether the non-editable text control is disabling and it was also verified that it
doesn‟t exceed the maximum length.

5.3.4 Test Cases

The purpose of the test cases is to test the various input and see the output
produce any error or not. There are different test cases according to the system. It is
tested with different types of value like single value multiple value and see it can
generate expected output.

 Date related Issue

Bug: Not show the current date of event as mention in


invitation file because of time zone is not consider. The
Google calendar store date with time zone.

Solution: set date with time zone and send to invitation file.

 Friend list

Bug: if user is login to do chat with friends then it not show


chat list.

Solution: By using Buddy list it show the list of friend.

 Take long time to show Route

Bug: To show path between to point it take long time to draw


manually using SAX parsing.

Solution: Head of project give advice to redirect source and


destination point to inbuilt Google Navigation.

 List of mail id

Bug: Show all the list of contact which not have any email id

Solution: Only display contact which contains email id in its


contact.

 GPS & internet connectivity

Expected Result: If connection is not established then system


may not be able to work on location based
services. It shows the message for connecting
to internet.

 Route Check

Bug: If route distance is too long notification is

Chirag M. Nagariya(095020693009) Page 83


83
AITS Meet Me Here

Shown and no path is displayed similar to


Google Map Website.
Solution: Solved.
 Value Testing
Bug: Valid geo-coding can be made by entered
location or not are checked and message is
shown accordingly.
Solution: Set validation if GPS is not get geo point then it not
work further.
 Database check
Expected Result: Only valid and unique city name or latitude-
Longitude is stored in database, message is
shown for already existence in database.
Solution: If available then it update otherwise insert.

5.4 Future Enhancements

In future, it can be made possible to:

- Create event and send to social networking website like “Facebook”.


- Path to specific location can be stored as image for offline access.
- People who are invited will coming or not in event know the organizer.
- Give feedback of event.

Chirag M. Nagariya(095020693009) Page 84


84
AITS Meet Me Here

Chapter 6

About the tool

Chirag M. Nagariya(095020693009) Page 85


85
AITS Meet Me Here

Android features the services that let you find, contextualize, and map physical
locations. Here for Map-based Activities use of Google Maps is made as user interface
element.

Access to the map enables us to control display settings, alter the zoom level, and
pan the display. Using Overlays annotation on map can be done and user input can be
handled to provide map contextualized information and functionality.

This application is made for Android smart phone users to help them to create event
at any where and it easy to those people who are not able to find time to give invitation to
individual person. This application saves its time to give invitation to its friends/colleague to
attend the meeting or present in event at particular location.

6.1 Technology and Literature Review

6.1.1 Introduction to Android

The Open Handset Alliance (OHA), a group of more than 30 technology and
mobile companies, was formed in 2007 to foster creativity and innovation in the
mobile arena. This group includes members like Sprint, T-Mobile, Intel, Broadcom,
Motorola, Samsung, Google, eBay, amongst others.

The main motive of this move was to facilitate openness in mobile software
and thus give customers a diversified software base which is not only less expensive
but also convenient and easy to use. The Android platform has emerged from such a
move. Android is an Operating System that is designed to be used with a variety of
handsets that will be launched in the second half of 2008.

Currently an SDK is hosted by Google, which is a leading player in the


initiative. This SDK allows creation of various Java based programs by using a special
Eclipse plug-in that interfaces with the kit. Android is not only an OS but also
includes a middleware and an array of applications for the users. Some of the
supported features are – a Dalvik Virtual Machine, built in browser and database
support, media, camera, GPS, map and other features.

Android

Android is a mobile operating system running on the Linux kernel. It was


initially developed by Android Inc., a firm later purchased by Google, and lately by

Chirag M. Nagariya(095020693009) Page 86


86
AITS Meet Me Here

the Open Handset Alliance. It allows developers to write managed code in the Java
language, controlling the device via Google-developed Java libraries. The unveiling of
the Android distribution on 5 November 2007 was announced with the founding of
the Open Handset Alliance, a consortium of 47 hardware, software and telecom
companies of a special pre-processor (called the Meta Object Compiler or MOC) to
enrich the language.

Features

 Application framework enabling reuse and replacement of components

 Dalvik virtual machine optimized for mobile devices

 Integrated browser based on the open source WebKit engine

 Optimized graphics powered by a custom 2D graphics library; 3D graphics


based on the OpenGL ES 1.0 specification (hardware acceleration optional)

 SQLite for structured data storage

 Media support for common audio, video, and still image formats (MPEG4,
H.264, MP3, AAC, AMR, JPG, PNG, GIF)

 GSM Telephony (hardware dependent)

 Bluetooth, EDGE, 3G, and Wi-Fi (hardware dependent)

 Camera, GPS, compass, and accelerometer (hardware dependent)

 Rich development environment including a device emulator, tools for


debugging, memory and performance profiling, and a plug-in for the Eclipse
ID

6.1.2 Android Architecture

The following diagram shows the major components of the Android operating
system. Each Section is described in more detail below.

Chirag M. Nagariya(095020693009) Page 87


87
AITS Meet Me Here

Fig 6.1 - Android Architecture

Applications

Android will ship with a set of core applications including an email client, SMS
program, calendar, maps, browser, contacts, and others. All applications are written
using the Java programming language.

Application Framework

By providing an open development platform, Android offers developers the


ability to build extremely rich and innovative applications. Developers are free to
take advantage of the device hardware, access location information, run background
services, set alarms, add notifications to the status bar, and much, much more.
Developers have full access to the same framework APIs used by the core
applications. The application architecture is designed to simplify the reuse of
components; any application can publish its capabilities and any other application
may then make use of those capabilities (subject to security constraints enforced by
the framework). This same mechanism allows components to be replaced by the
user. Underlying all applications is a set of services and systems, including:

Chirag M. Nagariya(095020693009) Page 88


88
AITS Meet Me Here

 A rich and extensible set of Views that can be used to build an application,
including lists, grids, text boxes, buttons, and even an embeddable web
browser

 Content Providers that enable applications to access data from other


applications (such as Contacts), or to share their own data

 A Resource Manager, providing access to non-code resources such as


localized strings, graphics, and layout files.

 A Notification Manager that enables all applications to display custom alerts in


the status bar

 An Activity Manager that manages the lifecycle of applications and provides a


common navigation back stack

6.1.3 Application Component

Libraries

Android includes a set of C/C++ libraries used by various components of the


Android system. These capabilities are exposed to developers through the Android
application framework. Some of the core libraries are listed below:

 System C library - a BSD-derived implementation of the standard C system


library (libc), tuned for embedded Linux-based devices.

 Media Libraries - based on Packet Video's Open CORE; the libraries support
playback and recording of many popular audio and video formats, as well as static
image files, including MPEG4, H.264, MP3, AAC, AMR,JPG, and PNG

 Surface Manager - manages access to the display subsystem and seamlessly


composites 2D and 3D graphic layers from multiple Applications.

 SGL - the underlying 2D graphics engine

 3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries


use either hardware 3D acceleration (where available) or the included, highly
optimized 3D software rasterizer.

 SQLite - a powerful and lightweight relational database engine available to all


applications.

Android Runtime

Android includes a set of core libraries that provides most of the functionality
available in the core libraries of the Java programming language. Every Android
application runs in its own process, with its own instance of the Dalvik virtual

Chirag M. Nagariya(095020693009) Page 89


89
AITS Meet Me Here

machine. Dalvik has been written so that a device can run multiple VMs efficiently.
The Dalvik VM executes files in the Dalvik Executable (.dex) format which is
optimized for minimal memory footprint. The VM is register-based, and runs classes
compiled by a Java

language compiler that have been transformed into the .dex format by the
included "dx" tool. The Dalvik VM relies on the Linux kernel for underlying
functionality such as threading and low-level memory management.

Fig. Conversation from .java to .dex

Linux Kernel

Android relies on Linux version 2.6 for core system services such as security,
memory management, process management, network stack, and driver model. The
kernel also acts as an abstraction layer between the hardware and the rest of the
software stack.

Development Toolkit:

• SDK

• Eclipse

• ADT Plug-in

Android SDK:

The Android SDK includes a comprehensive set of development tools. These


include a debugger, libraries, a handset emulator (based on QEMU), documentation,
sample code, and tutorials. Currently supported development platforms include x86-
architecture computers running. Linux (any modern desktop Linux distribution),Mac
OS X 10.4.8 or later, Windows XP or Vista. Requirements also include Java
Development Kit, Apache Ant, and Python 2.2 or later. The officially supported
integrated development environment (IDE) is Eclipse (3.2or later) using the Android
Development Tools (ADT) Plug-in, though developers may use any text editor to edit

Chirag M. Nagariya(095020693009) Page 90


90
AITS Meet Me Here

Java and XML files then use command line tools to create, build and debug Android
applications.

In 26th October, 2009 the "Éclair" version (2.0) was released which featured
better search, battery usage indicator and VPN control applet. New platform
technologies included:

 Optimized hardware speed

 Support for more screen sizes and resolutions

 New browser UI and HTML5 support

 New contact lists

 Better white/black ratio for backgrounds

 Microsoft Exchange support

 Built in flash support for Camera

 Digital Zoom

 Improved virtual keyboard

 Bluetooth 2.1

Android Applications are packaged in .apk format and stored under /data/app
folder on the Android OS. The user can run the command ADB root to access this
folder as only the root has permissions to access this folder.

ADT Plug-in:

The Android Development Tools (ADT) plug-in for Eclipse adds powerful
extensions to the Eclipse integrated development environment. It allows you to
create and debug Android applications easier and faster. If you use Eclipse, the ADT
plug-in gives you an incredible boost in developing Android applications:

 It gives you access to other Android development tools from inside the Eclipse
IDE. For example, ADT lets you access the many capabilities of the DDMS tool: take
screenshots, manage port-forwarding, set breakpoints, and view thread and process
information directly from Eclipse.

 It provides a New Project Wizard, which helps you quickly create and set up
all of the basic files you'll need for a new Android application.  It automates and
simplifies the process of building your Android application.  It provides an Android
code editor that helps you write valid XML for your Android manifest and resource
files.

Chirag M. Nagariya(095020693009) Page 91


91
AITS Meet Me Here

 It will even export your project into a signed APK, which can be distributed to
users.

Emulator:

The Android SDK includes a mobile device emulator -- a virtual mobile device
that runs on your computer. The emulator lets you prototype, develop, and test
Android applications without using a physical dev. The Android emulator mimics all of
the typical hardware and software features of a typical mobile device, except that it
can place actual phone calls. It provides a variety of navigation and control keys,
which you can "press" using your mouse or keyboard to generate events for your
application. It also provides a screen in which your application is displayed, together
with any other Android applications running.

To let you model and test your application more easily, the emulator supports
Android Virtual Device (AVD) configurations. AVDs let you specify the Android
platform that you want to run on the emulator, as well as the hardware options and
emulator skin fill you want to use. Once your application is running on the emulator,
it can use the services of the Android platform to invoke other applications, access
the network, play audio and video, store and retrieve data, notify the user, and
render graphical transitions and themes.

The emulator also includes a variety of debug capabilities, such as a console


from which you can log kernel output, simulate application interrupts (such as
arriving SMS messages or phone calls), and simulate latency effects and dropouts on
the data channel.

Emulator Limitations:

 No support for placing or receiving actual phone calls. You can simulate
phone calls (placed and received) through the emulator console, however.

 No support for USB connections.

 No support for camera/video capture (input).

 No support for device-attached headphones.

 No support for determining connected state.

 No support for determining battery charge level and AC charging state.

 No support for determining SD card insert/eject.

 No support for Bluetooth.

What Androids Are Made Of

Chirag M. Nagariya(095020693009) Page 92


92
AITS Meet Me Here

When you write a desktop application, you are "master of your own domain".
You launch your main window and any child windows – like dialog boxes – that are
needed. From your standpoint, you are your own world, leveraging features
supported by the operating system, but largely ignorant of any other program that
may be running on the computer at the same time. If you do interact with other
programs, it is typically through an API, such as using JDBC (or frameworks atop it)
to communicate with MySQL or another database. Android has similar concepts, but
packaged differently, and structured to make phones more crash- resistant.

Activities

The building block of the user interface is the activity. You can think of an
activity as being the Android analogue for the window or dialog in a desktop
application. While it is possible for activities to not have a user interface, most likely
your "headless" code will be packaged in the form of content providers or services,
described below.

Content Providers

Content providers provide a level of abstraction for any data stored on the
Device that is accessible by multiple applications. The Android development Model
encourages you to make your own data available to other Applications, as well as
your own – building a content provider lets you do that, while maintaining complete
control over how your data gets accessed.

Intents

Intents are system messages, running around the inside of the device,
notifying applications of various events, from hardware state changes (e.g., an SD
card was inserted), to incoming data (e.g., an SMS message arrived), to application
events (e.g., your activity was launched from the device's main menu). Not only can
you respond to intents, but you can create your own, to launch other activities, or to
let you know when specific situations arise (e.g., raise such-and-so intent when the
user gets within 100 meters of this-and-such location).

Services

Activities, content providers, and intent receivers are all short-lived and can
be shut down at any time. Services, on the other hand, are designed to keep
running, if needed, independent of any activity. You might use a service for checking
for updates to an RSS feed, or to play back music even if the controlling activity is no
longer operating.

Advantages of Android

 Android Software Development Kit the Android SDK includes an emulator,


some tools for performance prowling and debugging. Eclipse IDE is natural
choice for Android developers. Android Development tool (ADT) is a plug-in

Chirag M. Nagariya(095020693009) Page 93


93
AITS Meet Me Here

use to enhance and boost the performance of Eclipse IDE. It provides faster
and easier way of creation and debugging of Android application. Note that
further plug-ins are also available to support other IDEs such as IntelliJ and
NetBeans for the Android developers Dalvik virtual machine It is specially
designed for Android platform and optimized for mobile devices, where
resource constrains is an issue (like low memory, small size, and lower
processing power).

 Dalvik is register based virtual machine and its interpreter is optimized for
faster execution. Dalvik is capable of executing programs written in Java. It
does not understand the java code directly, rather a dx tool is use to convert
java code into byte code (which is then executed by Dalvik). The purpose of
conversion java code into byte code is to optimize the code to be easily
compiled over the limited resourced mobile device. Android support the
execution of multiple instances of Dalvik VM simultaneously.

Graphics support

Android have support for both 2D and high performance 3D graphics (the
OpenGL API is use to provide support for 3D graphics). The classical 3D game Doom
has already been developed for Android; some other powerful 3D application such as
Google Earth and fantastic game Second Life likely to be implemented for Android
mobile.

SQLite

Android use small sized SQLite as an RDMS (approximately equals to 500 Kb)
for database storage. It stores all tables, procedure and other data. SQLite simple
architecture and small size made it very suitable to limited resourced mobile devices.

Connectivity

Android is provided with modern day communication technologies. It supports


Bluetooth, Wi-Fi, UMTS, CDMA, EDGE (Enhanced Data GSM Environment and 3G.

Media Support

Android has got support for different picture formats, including JPEG, BMP,
GIF, PNG etc. H.263 and H.264 are video coding techniques supported by Android.
H.263 is specialized for video conferencing; H.264 is basically MPEG-4 standard, use
to over high video compression. MP3, WAV, AMR, AMR-WB are use to support audio
compression by Android. All audio and video coding technique mention here, are
supported by MPEG-3 and 3GP multimedia container.

GPS, compass, and accelerometer are some other features supported by


Android. The implementation of these features varies from hardware to hardware.

Introducing SQLite

Chirag M. Nagariya(095020693009) Page 94


94
AITS Meet Me Here

SQLite1 is a very popular embedded database, as it combines a clean SQL


interface with a very small memory footprint and decent speed. Moreover, it is public
domain, so everyone can use it. Lots of firms (Adobe, Apple, Google, Sun, Symbian)
and open-source projects (Mozilla, PHP, Python) all ship products with SQLite.

For Android, SQLite is “baked into” the Android runtime, so every Android
application can create SQLite databases. Since SQLite uses a SQL interface, it is
fairly straightforward to use for people with experience in other SQL-based
databases. However, its native API is not JDBC, and JDBC might be too much
overhead for a memory-limited device like a phone, anyway.

Quick SQLite Primer

SQLite, as the name suggests, uses a dialect of SQL for queries (SELECT),
data manipulation (INSERT, et al), and data definition (CREATE TABLE, et al). SQLite
has a few places where it deviates from the SQL-92 standard, no different than most
SQL databases. The good news is that SQLite is so space-efficient that the Android
runtime can include all of SQLite, not some arbitrary subset to trim it down to size.

The biggest difference from other SQL databases you will encounter is
probably the data typing. While you can specify the data types for columns in a
CREATE TABLE statement and while SQLite will use those as a hint, that is as far as
it goes. You can put whatever data you want

In addition, there is a handful of standard SQL features not supported in


SQLite, notably FOREIGN KEY constraints, nested transactions, RIGHT OUTER JOIN
and FULL OUTER JOIN, and some flavours of ALTER TABLE.

Cursor

No matter how you execute the query, you get a Cursor back. This is the
Android/SQLite edition of the database cursor, a concept used in many database
systems. With the cursor, you can do the following:

Find out how many rows are in the result set via getCount()

 Iterate over the rows via moveToFirst(), moveToNext(), and isAfterLast()

 Find out the names of the columns via getColumnNames(), convert those into
column numbers via getColumnIndex(), and get values for the current row for
a given column via methods like getString(), getInt(), etc.

 Re-execute the query that created the cursor, via requery()

 Release the cursor‟s resources via close()

AccountManager

Chirag M. Nagariya(095020693009) Page 95


95
AITS Meet Me Here

Provide access to a centralized registry of the user's online accounts. The user
enters credentials (username and password) once per account, granting applications
access to online resources with "one-click" approval.

Different online services have different ways of handling accounts and


authentication, so the account manager uses pluggable authenticator modules for
different account types. Authenticators (which may be written by third parties)
handle the actual details of validating account credentials and storing account
information. For example, Google, Facebook, and Microsoft Exchange each have their
own authenticator.

 Android Location API and Google Maps

Android Location API

Android provides the location API in the package android. Location which
allows determining the current position. You can register a listener to the location
manager and receive periodic updates about the current location. In addition it is
possible to receive the information if the device enters a area given by a longitude,
latitude and radius (proximity alert).

The class LocationManager provides access to the location service. The class
LocationListener can be registered with the LocationManager and will receive periodic
updates about the location. The class LocationProvider is the superclass of the
different location providers which deliver the information about the currentlocation.
Google Maps

Google provides also a library in the package com.google.android.maps for


using Google Maps in Android. Google Maps support is not part of the standard Open
Source Platform Android and you require an additional key to use them. The class
MapActivity is a activity which the programmer can extend.

MapActivity provides the functionality to get a MapView which can be used to


display the map and takes care of the the network communication required for the
map. The class MapController can be used to interact with the MapView, e.g. by
moving it.

A Geopoint is a position described via latitude and longitude and the class
Overlay can be used to drawn on the map, for example position markers.

This service is available for the following platforms.

 Android

 iOS (iPhone, iPod Touch, iPad)

 Windows Mobile (NOT Windows Phone 7 as of Dec 17 2010)

 Nokia/Symbian (S60 3rd edition only)

Chirag M. Nagariya(095020693009) Page 96


96
AITS Meet Me Here

 Symbian OS (UIQ v3)

 BlackBerry

 Phones with Java-Platform (MIDP 2.0 and up), for example the Sony Ericsson
K800i

 Palm OS (Centro and newer)

 Palm webOS (Palm Pre and Palm Pixi)

Google Maps for Android

Cell phones are being increasingly used for navigation assistance. However,
text driving instructions are sometimes confusing to follow. While navigation devices
have become a billion dollar industry, Google Maps Navigation for Android 2.0 is free.

Features provided in the application:

 Search in plain English

 Search by voice

 Traffic view

 Search along route

 Satellite view

 Street View

 Car dock mode

Chirag M. Nagariya(095020693009) Page 97


97
AITS Meet Me Here

6.2 Eclipse
Most people know Eclipse as an integrated development environment (IDE) for Java.
Today it is the leading development environment for Java with a market share of approx.
65%.

Eclipse is created by an Open Source community and is used in several different


areas, e.g. as a development environment for Java or Android applications. Eclipse roots go
back to 2001.

The Eclipse project is governed by the Eclipse Foundation. The Eclipse Foundation is
a non-profit, member supported corporation that hosts the Eclipse projects and helps to
cultivate both an open source community and an ecosystem of complementary products and
services.

The Eclipse IDE can be extended with additional software components. Eclipse calls
these software components "plug-ins". Several Open Source projects and companies have
extended the Eclipse IDE.

It is also possible to use Eclipse as a basis for creating general purpose applications.
These applications are known as Eclipse Rich Client Platform (Eclipse RCP) applications

Chirag M. Nagariya(095020693009) Page 98


98
AITS Meet Me Here

7. Learning during Project Training


During project training, we get lots of experience related to real life of software
developer. In that duration, we learn many things with programming on live project.

Between JAN 2012 to APR 2012, we were done our application and other many task
related to live project.

List of such task:

 Using view pager, it shows images with multi touch zooming functionality.

In this Module, we first implement the multi touch zooming functionality. After
that we create code for moving the image one by one using view pager.

 View pager demo application there is two view pager top side and bottom side.

In this application when user swap bottom view pager it automatically swap top
view pager with its relevant content.

This is very hard application because it uses fragment and fragment is difficult
manage. Fragment functionality is started from android version 3.0 (Honeycomb)
but our senior want to implement on android version 2.1 (Éclair). During developing
this task our senior help us a lot. Without there interest we can never perform this
type of application.

And there is many more small or big task performs during project training
that gives us experience how to complete project on time and what is pressure of
live application.

Chirag M. Nagariya(095020693009) Page 99


99
AITS Meet Me Here

8. Conclusion
 This project was first experience for us in the software industries; hence it
possesses very much importance in our career. We learnt basics of „software
development Life Cycle‟ during our stay at “VirtueInfo Web Technologies”. We cane
across important documents of projects and get idea about importance of
documentation in software industries.

 As the company follows the proper way to the project, it was an experience of
systematically going through the project phases, planning the project and
implementing the same. Since the requirements of the project were clearly
fabricated, the first step was modularization of application.

 Meet Me Here is a type of Internet and Location Based Service application, which
gives facilities to create event and show locations.

 From this project we came to know how to work with Surviving technologies with in
deadline and work with team structure. We came to know what to do and what not
to do to make project unbeaten. It also gives me benefits to understand how real
worlds Project carried out in IT Firm.

 I worked with some of the Team Leaders who were having lots of experience in the
same field. I got idea about their responsibilities and their working attitude. So
overall it was greater learning experience for me.

Chirag M. Nagariya(095020693009) Page 100


100
AITS Meet Me Here

9. Bibliography

 http://www.developer.android.com

 www.vogella.com

 http://www.stackoverflow.com

 https://www.github.com

 Android™ Wireless Application Development 2nd Edition

 R1_Professional Android 2 Application Development

Chirag M. Nagariya(095020693009) Page 101


101

S-ar putea să vă placă și