0% found this document useful (0 votes)
147 views

Android: G.Pullareddy Engineering College, Kurnool

This document summarizes a paper presented on the Android operating system. It discusses Android's history and development as an open source project led by Google. The key building blocks of an Android application are activities, broadcast receivers, services, and content providers. Activities display the user interface, broadcast receivers listen for system-wide messages, services run in the background without a UI, and content providers manage shared data. The document outlines some of Android's core features like its use of SQLite for storage, support for connectivity technologies, and ability to access additional hardware.

Uploaded by

sonusrinu
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
147 views

Android: G.Pullareddy Engineering College, Kurnool

This document summarizes a paper presented on the Android operating system. It discusses Android's history and development as an open source project led by Google. The key building blocks of an Android application are activities, broadcast receivers, services, and content providers. Activities display the user interface, broadcast receivers listen for system-wide messages, services run in the background without a UI, and content providers manage shared data. The document outlines some of Android's core features like its use of SQLite for storage, support for connectivity technologies, and ability to access additional hardware.

Uploaded by

sonusrinu
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 11

PAPER ON

ANDROID

PRESENTED BY

G.PULLAREDDY ENGINEERING COLLEGE,


KURNOOL
J.SANDEEP D.SATISH
KUMAR
III E.C.E IIIE.C.E
[email protected]
[email protected]
ABSTRACT This paper on Android
deals with the history of the Android, the
early prototypes, basic building blocks of
The unveiling of the an android application and the features of
Android platform on was announced with the android.
the founding of the Open Handset
Alliance, a consortium of 48 hardware,
software, and telecom companies devoted
to advancing open standards for mobile
devices. Google has made most of the
Android platform available under the
Apache free-software and open source
license.
Android is a freely
downloadable open source software stack
for mobile devices that includes an
operating system, middleware and key
applications based on Linux and Java.
Google developed Android
collaboratively as part of the Open
Handset Alliance, a group of more than 30
mobile and technology companies working
to open up the mobile handset
environment. Android's development kit
supports many of the standard packages
used by Jetty, and so, due to that fact and
Jetty's modularity and lightweight
footprint, it was possible to port Jetty to it
so that it will be able to run on the Android
platform.
Introduction • Storage Android uses SQLite to
store all its junk-- I mean,
Android is a software platform and
information.
operating system for mobile devices, based
on the Linux kernel, and developed by • Connectivity Android supports a
Google and later the Open Handset wide variety of technologies,
Alliance. It allows developers to write including Bluetooth, WiFi,
managed code in the Java language, GSM/EDGE, and EV-DO.
controlling the device via Google-
developed Java libraries. Applications • Messaging MMS and SMS are
written in C and other languages can be available for Android, as well as
compiled to ARM native code and run, but threaded text messaging. So you
this development path isn't officially can send as many texties as you
supported by Google. like.
Android is available as open source.
• Web Browser Android comes pre-
Google threw open the entire source code
loaded with the Web Kit
(including network and telephony stacks)
application. Remember, if you
that were not available previously, under
don't like it, you can always switch
an Apache license. Certain parts that relate
it out for something else later on
to a specific hardware can't be made open
thanks to the open source nature of
and are not considered part of the Android
the Google Android backend.
platform. With Apache License, vendors
are free to add proprietary extensions • Java Virtual Machine Software
without submitting those back to the open you write in Java can be compiled
source community. While Google's in Dalvik Byte codes (say that five
contributions to this platform are expected times fast. I keep ending up with
to remain open-sourced, the branches "Danish light bulb".) These can
could explode using varieties of licenses. then be put into a Dalvik Virtual
Features of Android Machine. Basically more robust
applications are supported than on
• Handset layouts Android can
some other Mobile Operating
adapt to traditional smart phone
Systems.
layouts, as well other VGA, 2D,
and 3D graphics libraries.
• Media Support Android supports as a single class that extends the Activity
a wide range of audio, video, base class. Your class will display a user
media, and still formats. MPEG-4, interface composed of Views and respond
OGG, and AAC are just a few of to events. Most applications consist of
these. Unfortunately the Media multiple screens. For example, a text
Player as its known right now is messaging application might have one
pretty basic, although more robust screen that shows a list of contacts to send
offerings on are the horizon from messages to, a second screen to write the
3rd Party developers. message to the chosen contact, and other
screens to review old messages or change
• Additional Hardware Support
settings. Each of these screens would be
Got a touch screen you want to put
implemented as an activity. Moving to
to its full use? No problem.
another screen is accomplished by a
Android is capable of utilizing
starting a new activity. In some cases and
outside hardware like GPS,
activity may return a value to the previous
accelerometers, and all that other
activity -- for example an activity that lets
fun stuff.
the user pick a photo would return the
chosen photo to the caller.
Building blocks to an Android
application
Intent and Intent Filters

There are four building blocks to an Android uses a special class called Intent

Android application: to move from screen to screen. Intent


describes what an application wants done.
• Activity
The two most important parts of the intent
• Broadcast Intent Receiver
data structure are the action and the data to
• Service
act upon. Typical values for action are
• Content Provider MAIN (the front door of the application),
VIEW, PICK, EDIT, etc. The data is

Activity expressed as a URI. For example, to view


contact information for a person, you
Activities are the most common of the
would create intent with the VIEW action
four Android building blocks. An activity
and the data set to a URI representing that
is usually a single screen in your
person.
application. Each activity is implemented
There is a related class called an Intent Notification Manager to alert the user if
Filter. While an intent is effectively a something interesting has happened.
request to do something, an intent filter is Broadcast Receivers are registered in
a description of what intents an activity (or AndroidManifest.xml, but you can also
Broadcast Receiver, see below) is capable register them from code using
of handling. An activity that is able to Context.registerReceiver (). Your
display contact information for a person application does not have to be running for
would publish an Intent Filter that said that its BroadcastReceivers to be called; the
it knows how to handle the action VIEW system will start your application, if
when applied to data representing a necessary, when a BroadcastReceiver is
person. Activities publish their Intent triggered. Applications can also send their
Filters in the AndroidManifest.xml file. own intent broadcasts to others with
. The new activity is informed of the Context.sendBroadcast ().
intent, which causes it to be launched. The
process of resolving intents happens at run SERVICE
time when start Activity is called, which
offers two key benefits: A Service is code that is long-lived and

• Activities can reuse runs without a UI. A good example of this

functionality from other is a media player playing songs from a

components simply by making a play list. In a media player application,

request in the form of an Intent there would probably be one or more


activities that allow the user to choose
• Activities can be replaced
songs and start playing them. However, the
at any time by a new Activity with
music playback itself should not be
an equivalent Intent Filter
handled by an activity because the user
BROADCAST INET RECEIVER
will expect the music to keep playing even
after navigating to a new screen. In this
You can use a Broadcast Receiver when
case, the media player activity could start a
you want code in your application to
service using Context.startService () to
execute in reaction to an external event, for
run in the background to keep the music
example, when the phone rings, or when
going. The system will then keep the
the data network is available, or when it's
music playback service running until it has
midnight. Broadcast Receivers do not
finished. Note that you can connect to a
display a UI, although they may use the
service (and start it if it's not already
running) with the Context.bindService () that can be read by other applications.
method. When connected to a service, you Android uses a different system on
can communicate with it through an Android, all application data are private to
interface exposed by the service. For the that application. However, Android also
music service, this might allow you to provides a standard way for an application
pause, rewind, etc. to expose its private data to other
applications. This section describes the
CONTENT PROVIDER many ways that an application can store
Applications can store their data in files, and retrieve data, expose its data to other
an SQLite database, or any other applications, and also how you can request
mechanism that makes sense. A content data from other applications that expose
provider, however, is useful if you want their data.
your application's data to be shared with Android provides the following
other applications. A content provider is a mechanisms for storing and retrieving
class that implements a standard set of data:
methods to let other applications store and
retrieve the type of data that is handled by
that content provider. Preferences
Not every application needs to have all A lightweight mechanism to
four, but your application will be written store and retrieve key/value
with some combination of these. pairs of primitive data types.
All the components needed for android This is typically used to store
application should listed in an xml file application preferences.
called AndroidManifest.xml. This is an
Files
XML file where you declare the
components of your application and what You can store your files on the

their capabilities and requirements are. device or on a removable


storage medium. By default,
other applications cannot access
Storing, Retrieving and Exposing Data these files.

A typical desktop operating system Databases

provides a common file system that any The Android APIs contain
application can use to store and read files support for SQLite. Your
application can create and use a restrictions on the specific operations that
private SQLite database. Each a particular process can perform, and per-
database is private to the URI permissions for granting ad-hoc
package that creates it. access to specific pieces of data.
System Architecture
Content Providers
A central design point of the
A content provider is a optional
Android security architecture is that no
component of an application that exposes
application, by default, has permission to
read/write access to an application's
perform any operations that would
private data, subject to whatever
adversely impact other applications, the
restrictions it wants to impose. Content
operating system, or the user. This
providers implement a standard request
includes reading or writing the user's
syntax for data, and a standard access
private data such as contacts or e-mails,
mechanism for the returned data. Android
reading or writing another application's
supplies a number of content providers for
files, performing network access, keeping
standard data types, such as personal
the device awake, etc.
contacts.
An application's process is a secure
Network sandbox. It can't disrupt other applications,
except by explicitly declaring the
Don't forget that you can also use
permissions it needs for additional
the network to store and retrieve data.
capabilities not provided by the basic
sandbox. These permissions it requests can
Security and Permissions in Android
be handled by the operating in various
ways, typically by automatically allowing
Android is a multi-process system,
or disallowing based on certificates or by
where each application (and parts of the
prompting the user. The permissions
system) runs in its own process. Most
required by an application are declared
security between applications and the
statically in that application, so they can be
system is enforced at the process level
known up-front at install time and will not
through standard Linux facilities, such as
change after that.
user and group IDs that are assigned to
applications. Additional finer-grained
security features are provided through a
"permission" mechanism that enforces
Application Signing A basic Android application has no
permissions associated with it, meaning it
All Android applications (.apk files) must can not do anything that would adversely
be signed with a certificate whose private impact the user experience or any data on
key is held by their developer. This the device. To make use of protected
certificate identifies the author of the features of the device, you must include in
application. The certificate does not need your AndroidManifest.xml one or more
to be signed by a certificate authority: it is <uses-permission> tags declaring the
perfectly allowable, and typical, for permissions that your application needs.
Android applications to use self-signed The permissions provided by the Android
certificates. The certificate is used only to system can be found at Manifest.
establish trust relationships between permission. Any application may also
applications, not for wholesale control define and enforce its own permissions, so
over whether an application can be this is not a comprehensive list of all
installed. The most significant ways that possible permissions.
signatures impact security is by A particular permission may be enforced at
determining who can access signature- a number of places during your program's
based permissions and who can share user operation:
IDs. • At the time of a call
into the system, to prevent
User IDs and File Access an application from
executing certain functions.
Each Android package (.apk) file installed
• When starting an
on the device is given its own unique
activity, to prevent
Linux user ID, creating a sandbox for it
applications from launching
and preventing it from touching other
activities of other
applications (or other applications from
applications.
touching it). This user ID is assigned to it
• Both sending and
when the application is installed on the
receiving broadcasts, to
device, and remains constant for the
control who can receive
duration of its life on that device.
your broadcast or who can
Using Permissions
send a broadcast to you.
• When accessing and viewing a list of permissions
operating on a content (android:label) or details on a single
provider. permission ( android:description). The

• Binding or starting a label should be short, a few words

service describing the key piece of functionality


the permission is protecting. The
description should be a couple sentences
Declaring and Enforcing Permissions
describing what the permission allows a
holder to do. Our convention for the
To enforce your own permissions, you
description is two sentences, the first
must first declare them in your
describing the permission, the second
AndroidManifest.xml using one or more
warning the user of what bad things can
<permission> tags.
happen if an application is granted the
permission.
The <protection Level> attribute is
required, telling the system how the user is Applications Developed on Android

to be informed of applications requiring Platforms

the permission, or who is allowed to hold


• In September 2008, Motorola
that permission, as described in the linked
confirmed that it was working on
documentation.
hardware products that would run
The <permission Group> attribute is
Android.
optional, and only used to help the system
display permissions to the user. You will • Huawei Technologies is planning
usually want to set this to either a standard to launch smart phones that would
system group (listed in run Android in Q1 2009.
android.Manifest.permission_group) or in
more rare cases to one defined by yourself. • Lenovo is working on an Android-

It is preferred to use an existing group, as based mobile phone that supports

this simplifies the permission UI shown to the Chinese 3G TD-SCDMA

the user. standard.

Note that both a label and description


• HTC is planning a "portfolio" of
should be supplied for the permission.
Android based phones to be
These are string resources that can be
released summer of 2009.
displayed to the user when they are
• Sony Ericsson is planning to
release an Android based handset
in the summer of 2009.

• Samsung plans to offer a phone


based on Google’s Android
operating system in the second
quarter of 2009.

• GiiNii Movit Mini is a Internet


device based on Google's Android
operating system

Conclusion

Finally we concluded that the Androids


platform which has developed by Google
is going to play major role in Mobile
applications because as it is an open source
and it is also easy to develop mobile
applications using Android as because in
order to develop these applications all the
APIs are available and these APIs are as
same as java APIs which are easy to
understand.
References
 Licenses Android Open Source Project. Open Handset Alliance.
http://source.android.com/license. Retrieved on 22 October 2008.

 Open Handset Alliance (5 November 2007). Industry Leaders


Announce Open Platform for Mobile Devices. Press release.
http://www.openhandsetalliance.com/press_110507.html.
Retrieved on 5 November 2007.

 Google's Android parts ways with Java industry group.


http://www.news.com/8301-13580_3-9815495-39.html.

 General Android
http://code.google.com/android/kb/general.html#c. Retrieved on
29 August 2008.

 Native C application for Android


http://benno.id.au/blog/2007/11/13/android-native-apps.

You might also like