You are on page 1of 9

SYNOPSIS

City Restaurants guide



Introduction to Project

An application which lets you know about the various Hotels and Restaurants in town
(Belgaum). It gives you the vast details about the type of restaurant, various cuisines available
there along with its proper location mentioning the landmark places nearby to it.

It allows the user to navigate through the various details available on site. Some of its
extravagant features are that it provides you with the images of the restaurants selected from the
list available on the site. It allows the user with the complete food menu of that particular
restaurant or hotel.

It provides the user with overall average expense of 2 persons visiting the restaurant. The user
gets the complete idea of the ambience and the atmosphere of the particular selected restaurant
by having a glance at the images present on site.

The most amazing feature is that the user can read the reviews of the people who have visited the
place by providing a link to the blog page such as twitter and facebook, by which the user can
decide whether the selected restaurant is suitable according to its needs.
It also provides the contact details of the various hotels and restaurants in town, if the user is
interested to reserve a table prior to the time of visit.



Literature Survey
Android is a complete operating environment based upon the Linux V2.6 kernel. Initially, the
deployment target for Android was the mobile-phone arena, including smart phones and lower-
cost flip-phone devices. However, Android's full range of computing services and rich functional
support have the potential to extend beyond the mobile-phone market. Android can be useful for
other platforms and applications. In this article, get an introduction to the Android platform and
learn how to code a basic Android application.

The BlackBerry and iPhone, which have appealing and high-volume mobile platforms, are
addressing opposite ends of a spectrum. The BlackBerry is rock-solid for the enterprise business
user. For a consumer device, it's hard to compete with the iPhone for ease of use and the "cool
factor." Android, a young and yet-unproven platform, has the potential to play at both ends of the
mobile-phone spectrum and perhaps even bridge the gulf between work and play.

Today, many network-based or network-capable appliances run a flavor of the Linux kernel. It's
a solid platform: cost-effective to deploy and support and readily accepted as a good design
approach for deployment. The UI for such devices is often HTML-based and viewable with a PC
or Mac browser. But not every appliance needs to be controlled by a general computing device.
Consider a conventional appliance, such as a stove, microwave or bread maker. What if your
household appliances were controlled by Android and boasted a color touch screen? With an
Android UI on the stove-top, the author might even be able to cook something.


A brief history of Android
The Android platform is the product of the Open Handset Alliance, a group of organizations
collaborating to build a better mobile phone. The group, led by Google, includes mobile
operators, device handset manufacturers, component manufacturers, software solution and
platform providers, and marketing companies. From a software development standpoint, Android
sits smack in the middle of the open source world.

The first Android-capable handset on the market was the G1 device manufactured by HTC and
provisioned on T-Mobile. The device became available after almost a year of speculation, where
the only software development tools available were some incrementally improving SDK
releases. As the G1 release date neared, the Android team released SDK V1.0 and applications
began surfacing for the new platform.
To spur innovation, Google sponsored two rounds of "Android Developer Challenges," where
millions of dollars were given to top contest submissions. A few months after the G1, the
Android Market was released, allowing users to browse and download applications directly to
their phones. Over about 18 months, a new mobile platform entered the public arena.

The Android platform
With Android's breadth of capabilities, it would be easy to confuse it with a desktop operating
system. Android is a layered environment built upon a foundation of the Linux kernel, and it
includes rich functions. The UI subsystem includes:

Windows, Views, Widgets for displaying common elements such as edit boxes, lists, and drop-
down lists
Android includes an embeddable browser built upon WebKit, the same open source browser
engine powering the iPhone's Mobile Safari browser.

Android boasts a healthy array of connectivity options, including WiFi, Bluetooth, and wireless
data over a cellular connection (for example, GPRS, EDGE, and 3G). A popular technique in
Android applications is to link to Google Maps to display an address directly within an
application. Support for location-based services (such as GPS) and accelerometers is also
available in the Android software stack, though not all Android devices are equipped with the
required hardware. There is also camera support.

Historically, two areas where mobile applications have struggled to keep pace with their desktop
counterparts are graphics/media, and data storage methods. Android addresses the graphics
challenge with built-in support for 2-D and 3-D graphics, including the OpenGL library. The
data-storage burden is eased because the Android platform includes the popular open source
SQLite database. Figure 1 shows a simplified view of the Android software layers.

Figure 1. Android software layers



Application architecture
As mentioned, Android runs atop a Linux kernel. Android applications are written in the Java
programming language, and they run within a virtual machine (VM). It's important to note that
the VM is not a JVM as you might expect, but is the Dalvik Virtual Machine, an open source
technology. Each Android application runs within an instance of the Dalvik VM, which in turn
resides within a Linux-kernel managed process, as shown below.

Figure 2. Dalvik VM



An Android application consists of one or more of the following classifications:

Activities
An application that has a visible UI is implemented with an activity. When a user selects an
application from the home screen or application launcher, an activity is started.

Services
A service should be used for any application that needs to persist for a long time, such as a
network monitor or update-checking application.

Content providers
You can think of content providers as a database server. A content provider's job is to manage
access to persisted data, such as a SQLite database. If your application is very simple, you might
not necessarily create a content provider. If you're building a larger application, or one that
makes data available to multiple activities or applications, a content provider is the means of
accessing your data.

Broadcast receivers
An Android application may be launched to process a element of data or respond to an event,
such as the receipt of a text message.
An Android application, along with a file called AndroidManifest.xml, is deployed to a device.
AndroidManifest.xml contains the necessary configuration information to properly install it to
the device. It includes the required class names and types of events the application is able to
process, and the required permissions the application needs to run. For example, if an application
requires access to the network to download a file, for example this permission must be
explicitly stated in the manifest file. Many applications may have this specific permission
enabled. Such declarative security helps reduce the likelihood that a rogue application can cause
damage on your device.

Required tools
The easiest way to start developing Android applications is to download the Android SDK and
the Eclipse IDE. Android development can take place on Microsoft Windows, Mac OS X, or
Linux.

Coding in the Java language within Eclipse is very intuitive; Eclipse provides a rich Java
environment, including context-sensitive help and code suggestion hints. Once your Java code is
compiled cleanly, the Android Developer Tools make sure the application is packaged properly,
including the AndroidManifest.xml file.

It's possible to develop Android applications without Eclipse and the Android Developer Tools
plug-in, but you would need to know your way around the Android SDK.
The Android SDK is distributed as a ZIP file that unpacks to a directory on your hard drive.
Since there have been several SDK updates, it is recommended that you keep your development
environment well organized so you can easily switch between SDK installations. The SDK
includes:
android.jar
Java archive file containing all of the Android SDK classes necessary to build your application.

documention.html and docs directory

The SDK documentation is provided locally and on the Web. It's largely in the form of
JavaDocs, making it easy to navigate the many packages in the SDK. The documentation also
includes a high-level Development Guide and links to the broader Android community.

Samples directory
The samples subdirectory contains full source code for a variety of applications, including
ApiDemo, which exercises many APIs. The sample application is a great place to explore when
starting Android application development.

Tools directory
Contains all of the command-line tools to build Android applications. The most commonly
employed and useful tool is the adb utility (Android Debug Bridge).

usb_driver
Directory containing the necessary drivers to connect the development environment to an
Android-enabled device, such as the G1 or the Android Dev 1 unlocked development phone.
These files are only required for developers using the Windows platform.

Software Requirements
Android SDK
Eclipse
ADT Plugin
Tomcat Apache Server

Hardware Requirements
The Intel Pentium IV processor and above
Minimum of 2 GB RAM
Minimum hard disk capacity of 10 GB and above
Android Cell Phone

Languages

Java for Android
Java Servlets
Java Server Pages
JDBC

References
Websites:

http://www.java.sun.com
http://www.java.sun.com/j2ee
http://www.jguru.com
Books:

Advanced Programming for the Java 2 Platform by: Calvin Austin & Monica Pawlan.
Java 2 Complete Reference.
CodeNotes for J2EE by: Rob McGovern

You might also like