Documente Academic
Documente Profesional
Documente Cultură
A
Seminar Report
Submitted in partial fulfillment of
The requirements for the
Degree of Bachelor in Technology
Under B.P.U.T
By
1401205056
March - 2017
As we all know that the world is in transition to mobile computing from desktop pc and
laptops. There are almost six billion users around the globe. The mobile phones around us
are the combination of hardware and the software. The hardware is the hard part of device
and the software are the governor of the hardware. There are different OS for mobile among
them I going to pick up three of them. They are android OS, iOS and windows phone OS.
Android OS is an open source operating system used use in android mobiles. The iOS is an
operating system developed by apple corporation and used in apple products like
iPad,iPhone etc. Windows mobile operating system developed by Microsoft itself and
embedded by many different
Mobile companies like Nokia. The purpose behind picking of these three OS is to find out
the popularity of these three in terms of inflexibility. Here the flexibility means how easy
people find using mobile devices containing different OS. What is the feature that they love
it on these phones. For this I have figure out to collect opinions of people within DWIT
premises. The collection of opinions will be arranged using Google sheet (radio buttons
type) .The research materials will be websites accompanied with android ,apple and
windows
The conclusion more like which one has the easiest interface of the user and how they have
proven themselves as the best.The conclusion will be totally based on my research and
check whether the conclusion I have drawn has relevant meaning or not.
ACKNOWLEDGEMENT
I would also like to thank our all teachers of Dept.Of CSE & IT, for their valuable
suggestions and guidance.
I acknowledge with immense pleasure for the sustained interest, encouraging attitude and
constant inspiration rendered by Prof. M.K. BHUYAN, H.O.D, CSE & IT , . His
continued drive for better quality in everything that happens at B.I.E.T and selfless
inspiration has always helped me to move ahead.
I would also thankful to all my batch mates for their help and cooperation, to make this
work success.
At the nib, I bow my head in gratitude at the omnipresent Almighty God for all his kindness.
I still seek his blessings to proceed further.
ABSTRACT.i
ACKNOWLEDGEMENT...............................................................................ii
TABLE OF CONTENT..iii
1.INTRODUCTION
2.THE BIRTH OF ANDROID......................................................................
2.1.HISTORY........................................................................................
2.2.OPEN HANDSET ALLIANCE..
2.3.HARDWARE
3.ADVANTAGES & DISADVANTAGES
4.FEATURES
5.ARCHITECTURE
6.DEVELOPING APPLICATION..
7.SECURITY.
8.CONCLUSION..
9.REFERENCE
1.INTRODUCTION
Android is a software stack for mobile devices that includes an operating system,
middleware and key applications. Android is a software platform and operating system for
mobile devices based on the Linux operating system and developed by Google and the Open
Handset Alliance. It allows developers to write managed code in a Java-like language that
utilizes Google-developed Java libraries, but does not support programs developed in native
code.
The unveiling of the Android platform on 5 November 2007 was announced with the
founding of the Open Handset Alliance, a consortium of 34 hardware, software and telecom
companies devoted to advancing open standards for mobile devices. When released in 2008,
most of the Android platform will be made available under the Apache free-software and
open-source license.
In July 2005, Google acquired Android Inc., a small startup company based in Palo
Alto, CA. Android's co-founders who went to work at Google included Andy Rubin
(co-founder of Danger), Rich Miner (co-founder of Wildfire Communications, Inc),
Nick Sears (once VP at T-Mobile), and Chris White (one of the first engineers at
WebTV). At the time, little was known about the functions of Android Inc. other
than they made software for mobile phones.
2.3.Hardware
Google has unveiled at least three prototypes for Android, at the Mobile World
Congress on February 12, 2008. One prototype at the ARM booth displayed several
basic Google applications. A 'd-pad' control zooming of items in the dock with a
relatively quick response.
A prototype at the Google IO conference on May 28, 2008 had a 528 MHz
Qualcomm processor and a Synaptics capacitive touch screen, and used the UMTS
cellular standard. It had 128 MB of RAM and 256 MB of flash, showing that
Android's memory requirements are reasonable. The demo was carried out using a
3.6 Mbit/s HSDPA connection.
Google Play Store App free Download for Android Millions of Apps
The best part of the Android is the availability of millions of applications. Google
Play store is reported as worlds largest mobile store. It has almost everything from
Movies to games and much more. These things can be easily downloaded and access
Through Android phone.
One can easily get access to their notification of any kind of SMS, emails or calls on
Their home screen or the notification panel of the android phone. Its UI makes easy
For the user to view more Android notification at once. The user can view all the
notification on the top bar.
Android operating system has plenty of widgets.The widget makes the userexperience
Much better and helps in doing multitasking. You can add any depending upon the
Features you want on your home screen. You can see notification ,messages,and
Much more use without even opening application.
Disadvantages
Applications are freely available in the Google play store. But still, these application
Start showing tons of advertisement on the notification bar and over the application.
This advertisement is very irriating and creates the huge problem in managing android.
4.FEATURES
4.1.Application Framework
4.3.Integrated Browser
Google made a right choice on choosing WebKit as open source web browser. They
added a two pass layout and frame flattening. Two pass layout loads a page
without waiting for blocking elements, such as external CSS or external
JavaScript and after a while renders again with all resources downloaded to the
device. Frame flattening converts founded frames into single one and loads
into the browser. These features increase speed and usability browsing the
internet via mobile phone.
4.4.Optimized Graphics
4.5.SQLite
4.6.Handset Layouts
4.7.Data Storage
SQLite is used for structured data storage .SQLite is a powerful and lightweight
relational database engine available to all applications.
4.8.Connectivity
SMS, MMS, and XMPP are available forms of messaging including threaded text
messaging.
4.10.Web Browser
Software written in Java can be compiled into Dalvik bytecodes and executed in the
Dalvik virtual machine, which is a specialized VM implementation designed for
mobile device use, although not technically a standard Java Virtual Machine.
4.12.Media Support
4.14.Development Environment
Includes a device emulator, tools for debugging, memory and performance profiling,
a plugin for the Eclipse IDE. There are a number of hardware dependent
features, for instance, a huge media and connections support, GPS, improved
support for Camera and simply GSM telephony. A great work was done for the
developers to start work with Android using device emulator, tools for
debugging and plugin for Eclipse IDE.
5.ARCHITECTURE
The following diagram shows the major components of the Android operating system.
Each section is described in more detail below.
Architecture Of Android
5.1.Linux Kernel
5.2.Libraries
In the next level there are a set of native libraries written in C/C++, which are
responsible for stable performance of various components. For example, Surface
Manager is responsible for composing different drawing surfaces on the mobile
screen. It manages the access for different processes to compose 2D and 3D graphic
layers.OpenGL ES and SGL make a core of graphic libraries and are used
accordingly for 3D and 2D hardware acceleration. Moreover, it is possible to use 2D
and 3D graphics in the same application in Android. The media framework was
provided by PacketVideo, one of the members of OHA. It gives libraries for a
playback and recording support for all the major media and static image files.
FreeType libraries are used to render all the bitmap and vector fonts. For data
storage, Android uses SQLite. As mentioned before, it is extra light rational
management system, which locates a single file for all operations related to database.
WebKit, the same browser used by Apples Safari, was modified by Android in order
to fit better in a small size screens.
5.3.Android Runtime
At the same level there is Android Runtime, where the main component Dalvik
Virtual Machine is located. It was designed specifically for Android running in
limited environment, where the limited battery, CPU, memory and data storage are
the main issues. Android gives an integrated tool dx, which converts generated
byte code from .jar to .dex file, after this byte code becomes much more efficient to
run on the small processors.
5.4.Application Framework
The Activity Manager manages the life circle of the applications and provides a
common navigation back stack for applications, which are running in different
processes. The Package Manager keeps track of the applications, which are installed
in the device. The Windows Manager is Java programming language abstraction on
the top of lower level services that are provided by the Surface Manager.
The Telephony Manager contains of a set of API necessary for calling applications.
Content Providers was built for Android to share a data with other applications, for
instance, the contacts of people in the address book can be used in other applications
too. The Resource Manager is used to store localized strings, bitmaps, layout file
descriptions and other external partsof the application. The View System generates a
set of buttons and lists used in UI. Other components like Notification manager is
used to customize display alerts and other functions.
5.5.Application Layer
At the top of Android Architecture we have all the applications, which are used by
the final user. By installing different applications, the user can turn his mobile phone
into the unique, optimized and smart mobile phone. All applications are written
using the Java programming language.
6.DEVELOPING APPLICATION
6.1.1.Activity
User interface component, which corresponds to one screen at time. It means that
for the simple application like Address Book, the developer should have one
activity for displaying contacts, another activity component for displaying more
detailed information of chosen name and etc.
6.1.2.Intent Receiver
Wakes up a predefined action through the external event. For example,for the
application like Email Inbox, the developer should have intent receiver and
register his code through XML to wake up an alarm notification, when the user
receives email.
6.1.3.Service
A task, which is done in the background. It means that the user can start an
application from the activity window and keep the service work, while browsing
other applications. For instance, he can browse Google Maps application while
holding a call or listening music while browsing other applications.
6.1.4.Content Provider
A component, which allows sharing some of the data with other processes and
applications. It is the best way to communicate the applications between each
other.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.
6.2.AndroidManifest.xml
The AndroidManifest.xml file is the control file that tells the system what to do with
all the top-level components (specifically activities, services, intent receivers, and
content providers described below) you've created. For instance, this is the "glue"
that actually specifies which Intents your Activities receive.
A developer should predefine and list all components, which he wants to use in the
specific AndroidManifest.xml file. It is a required file for all the applications and
is located in the root folder. It is possible to specify all global values for the package,
all the components and its classes used, intent filters, which describe where and
when the certain activity should start, permissions and instrumentation like
security control and testing.
6.3.Application Lifecycle
In Android, every application runs in its own process, which gives better
performance in security, protected memory and other benefits. Therefore, Android is
responsible to run and shut down correctly these processes when it is needed.
Possible scenario: A user talks to his friend via mobile phone and he is asked
to browse the internet (a talk is hold for a moment), find a picture of him in his
Picasa Album, send it via Email back to his friend and resume a talk.
At this point, as a user holds a talk and opens a web browser, the system creates
a new process and new web browser activity is launched in it. Again, the state
of the last activity is saved (W):
After that, the user browses the internet, finds his picture in Picasa album and
saves it to particular folder. He does not close a web browser, instead he opens
a folder to find saved picture. The folder activity is launched in particular
process:
At this point, the user finds his saved picture in the folder and he creates a
request to open an Email application. The last state F is saved. Now assume
that the mobile phone is out of the memory and there is no room to create a
new process for Email application. Therefore, Android looks to kill a process. It
can not destroy Folder process, as it was used previously and could be reused
again, so it kills Web Browser process as it is not useful anymore and locates a
new Email process instead:
The user opens Email application and sends a picture to his friend via email. Now he
wants to go back to the Talk application and to resume a talk to his friend. Because
of the previously saved states, this work is done fast and easily. In this example,
Email application is popped out and the user sees a previous Folder application:
Next, the user goes back to Web Browser application. Unfortunately, web browser
process was killed previously so the system has to kill another process (in our case it
is Email application process, which is not used anymore) in order to locate Web
Browser process and manage the stack memory:
and finally:
Now the user comes back to the Talk application and resumes his talk with his
friend.Because of the saved states, going back procedure is fast and useful, because
it remembers previous activities and its views.
This example shows, that it does not matter how many applications and processes
are active or how much available memory is left, Android it manages fast and
without a user interaction.
6.4.Application Framework
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.
1. 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
2. Content Providers that enable applications to access data from other applications
(such as Contacts), or to share their own data
5. An Activity Manager that manages the life cycle of applications and provides a
common navigation backstack
6.5.Library
7.SECURITY
Android applications run in a sandbox, an isolated area of the system that does not have
access to the rest of the system's resources, unless access permissions are explicitly granted
by the user when the application is installed.
Since 2012, a "Verify Apps" feature scans apps for malicious behavior. Originally only
doing so during installation, Verify Apps received an update in 2014 to "constantly" scan
apps, and in 2017 the feature was made visible to users through a menu in Settings.
Before installing an application, the Google Play store displays a list of the requirements an
app needs to function. After reviewing these permissions, the user can choose to accept or
refuse them, installing the application only if they accept. In Android 6.0 "Marshmallow",
the permissions system was changed; apps are no longer automatically granted all of their
specified permissions at installation time. An opt-in system is used instead, in which users
are prompted to grant or deny individual permissions to an app when they are needed for the
first time. Applications remember the grants, which can be revoked by the user at any time.
The new permissions model is used only by applications developed for Marshmallow using
its software development kit (SDK), and older apps will continue to use the previous all-or-
nothing approach. Permissions can still be revoked for those apps, though this might prevent
them from working properly, and a warning is displayed to that effect.
Full permission control is only possible with root access to the device.
Google uses Google Bouncer malware scanner to watch over and scan applications
available in the Google Play Store. It is intended to flag suspicious apps and warn users of
any potential threat with an application before they download it. Android version 4.2 Jelly
Bean was released in 2012, with enhanced security features, including a malware scanner
built into the system, which works in combination with Google Play but can scan apps
installed from third party sources as well, and an alert system which notifies the user when
an app tries to send a premium-rate text message, blocking the message unless the user
explicitly authorises it. Several security firms, such as Lookout Mobile Security, AVG
Technologies, and McAfee, have released antivirus software for Android devices. This
software is ineffective as sandboxing also applies to such applications, limiting their ability
to scan the deeper system for threats.
In August 2013, Google announced Android Device Manager, a website that allows users to
remotely track, locate, and wipe their Android device, with an Android app for the service
released in December.
8.CONCLUSION
I've learned through my research that Android is a much more diverse operating system than
iOS and Windows Phone Mobile. Android has grown rapidly over the past 4 years becoming
the most used smartphone operating system in the world. It's because Android
doesn't release 1 phone from 1 company with 1 new OS every year, but countless phones
from numerous companies, adding their own twist, throughout the year, developing
gradually day-by-day. Android's ability to customize is unparalleled compared to Apple's
and Microsoft's software allowing the user to change and customize nearly every aspect of
Android which most iPhone and Windows 7 users wouldn't dream possible. I am not one to
say that Android is better or worse than one OS, but is unique and incomparable to other
mobile operating systems.
REFERENCES