Chapter I
Chapter I
Google and the Open Handset Alliance In 2007, a group of handset manufacturers,
wireless carriers, and software developers (notably, Google) formed the Open Handset
Alliance, with the goal of developing the next generation of wireless platform. Unlike
existing platforms, this new platform would be nonproprietary and based on open
standards, which would lead to lower development costs and increased profits. Mobile
software developers would also have unprecedented access to the handset features,
allowing for greater innovation. As proprietary platforms such as RIM BlackBerry and
Apple iPhone gained traction, the mobile development community eagerly listened for
news of this potential game-changing platform.
Android is an open source and Linux-based operating system for mobile devices such as
smartphones and tablet computers. Android was developed by the Open Handset
Alliance, led by Google, and other companies. This tutorial will teach you basic Android
programming and will also take you through some advance concepts related to Android
application development.
Android offers a unified approach to application development for mobile devices which
means developers need only develop for Android, and their applications should be able to
run on different devices powered by Android.
The first beta version of the Android Software Development Kit (SDK) was released by
Google in 2007 where as the first commercial version, Android 1.0, was released in
September 2008.
The source code for Android is available under free and open source software licenses.
Google publishes most of the code under the Apache License version 2.0 and the rest,
Linux kernel changes, under the GNU General Public License version 2.
SMARTPHONE FUTURE :-
Overview of the Operating Systems used on different
mobile devices :-
Popular Mobile Operating Systems
1. Android OS (Google Inc.)
The Android mobile operating system is Google's open and free software stack that includes an operating system, middleware
and also key applications for use on mobile devices, including smartphones. Updates for the open source Android mobile
operating system have been developed under "dessert-inspired" version names (Cupcake, Donut, Eclair, Gingerbread,
Honeycomb, Ice Cream Sandwich) with each new version arriving in alphabetical order with new enhancements and
improvements.
Bada is a proprietary Samsung mobile OS that was first launched in 2010. The Samsung Wave was the first smartphone to
use this mobile OS. Bada provides mobile features such as multipoint-touch, 3D graphics and of course, application
The BlackBerry OS is a proprietary mobile operating system developed by Research In Motion for use on the company’s
popular BlackBerry handheld devices. The BlackBerry platform is popular with corporate users as it offers synchronization with
Microsoft Exchange, Lotus Domino, Novell GroupWise email and other business software, when used with the BlackBerry
Enterprise Server.
Apple's iPhone OS was originally developed for use on its iPhone devices. Now, the mobile operating system is referred to as
iOS and is supported on a number of Apple devices including the iPhone, iPad, iPad 2 and iPod Touch. The iOS mobile
operating system is available only on Apple's own manufactured devices as the company does not license the OS for third-
party hardware. Apple iOS is derived from Apple's Mac OS X operating system.
A joint open source mobile operating system which is the result of merging two products based on open source technologies:
Maemo (Nokia) and Moblin (Intel). MeeGo is a mobile OS designed to work on a number of devices including smartphones,
netbooks, tablets, in-vehicle information systems and various devices using Intel Atom and ARMv7 architectures.
The Palm OS is a proprietary mobile operating system (PDA operating system) that was originally released in 1996 on the
Pilot 1000 handheld. Newer versions of the Palm OS have added support for expansion ports, new processors, external
memory cards, improved security and support for ARM processors and smartphones. Palm OS 5 was extended to provide
support for a broad range of screen resolutions, wireless connections and enhanced multimedia capabilities and is called
Garnet OS.
7. Symbian OS (Nokia)
Symbian is a mobile operating system (OS) targeted at mobile phones that offers a high-level of integration with
communication and personal information management (PIM) functionality. Symbian OS combines middleware with wireless
communications through an integrated mailbox and the integration of Java and PIM functionality (agenda and contacts). Nokia
has made the Symbian platform available under an alternative, open and direct model, to work with some OEMs and the small
community of platform development collaborators. Nokia does not maintain Symbian as an open source development project.
8. webOS (Palm/HP)
WebOS is a mobile operating system that runs on the Linux kernel. WebOS was initially developed by Palm as the successor
to its Palm OS mobile operating system. It is a proprietary Mobile OS which was eventually acquired by HP and now referred
to as webOS (lower-case w) in HP literature. HP uses webOS in a number of devices including several smartphones and HP
TouchPads. HP has pushed its webOS into the enterprise mobile market by focusing on improving security features and
management with the release of webOS 3.x. HP has also announced plans for a version of webOS to run within the Microsoft
Windows operating system and to be installed on all HP desktop and notebook computers in 2012.
Windows Mobile is Microsoft's mobile operating system used in smartphones and mobile devices – with or without
touchscreens. The Mobile OS is based on the Windows CE 5.2 kernel. In 2010 Microsoft announced a new smartphone
It is developed by Google and later the OHA (Open Handset Alliance). Java language is mainly used
to write the android code even though other languages can be used.
The goal of android project is to create a successful real-world product that improves the mobile
experience for end users.
There are many code names of android such as Lollipop, Kitkat, Jelly Bean, Ice cream Sandwich,
Froyo, Ecliar, Donut etc which is covered in next page.
It's a consortium of 84 companies such as google, samsung, AKM, synaptics, KDDI, Garmin,
Teleca, Ebay, Intel etc.
It was established on 5th November, 2007, led by Google. It is committed to advance open
standards, provide services and deploy handsets using the Android Plateform.
The history and versions of android are interesting to know. The code names of android ranges
from A to J currently, such
as Aestro, Blender, Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream
Sandwitch, Jelly Bean, KitKat and Lollipop. Let's understand the android history in a sequence.
1) Initially, Andy Rubin founded Android Incorporation in Palo Alto, California, United States in
October, 2003.
2) In 17th August 2005, Google acquired android Incorporation. Since then, it is in the subsidiary
of Google Incorporation.
3) The key employees of Android Incorporation are Andy Rubin, Rich Miner, Chris
White and Nick Sears.
4) Originally intended for camera but shifted to smart phones later because of low market for
camera only.
5) Android is the nick name of Andy Rubin given by coworkers because of his love to robots.
The code names of android ranges from A to N currently, such as Aestro, Blender,
Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwitch,
Jelly Bean, KitKat, Lollipop and Marshmallow. Let's understand the android history
in a sequence.
Features of Android
Features of Android
With Android operating system (OS) KitKat version 4.4 rolling out to mobile devices across the globe,
Google is on to something—Android is now more popular than iOS or the Windows phone. The OS
tends to garner rave reviews for its ease of use and open source, but many iOS or Windows phone users
argue that their preferred operating system can do just as much. In some respects that’s true, but here are
10 features unique to Android’s OS.
2) Alternate Keyboards
Android supports multiple keyboards and makes them easy to install; the SwiftKey, Skype, and 8pen
apps all offer ways to quickly change up your keyboard style. Other mobile operating systems either
don’t permit extra keyboards at all, or the process to install and use them are tedious and time-
consuming.
3) Infrared Transmission
The Android operating system supports a built-in infrared transmitter, allowing you to use your phone or
tablet as a remote control.
4) No-Touch Control
Using Android apps such as Wave Control, users can control their phones touch-free, using only
gestures. Have messy hands but need to turn off your screen or change a song? Simple. This could prove
especially useful if you’re driving, so you can keep both eyes on the road.
5) Automation
The Tasker app lets you not only control app permissions but also automate them. Do you only want
your location services to be active during the day? Want to create a customized way to start your
music—for example, with a voice command and at a certain volume? Tasker can help.
9) Widgets
Apps are versatile, but sometimes you want information at a glance instead of having to open an app and
wait for it to load. Android widgets let you display just about any feature you choose, right on the home
screen—including weather apps, music widgets, or productivity tools that helpfully remind you of
upcoming meetings or approaching deadlines.
Android is a powerful operating system competing with Apple 4GS and supports
great features. Few of them are listed below −
1 Beautiful UI
2 Connectivity
GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and
WiMAX.
3 Storage
4 Media support
H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, AAC 5.1, MP3,
MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP.
5 Messaging
6 Web browser
7 Multi-touch
Android has native support for multi-touch which was initially made
available in handsets such as the HTC Hero.
8 Multi-tasking
User can jump from one task to another and same time various
application can run simultaneously.
9 Resizable widgets
Widgets are resizable, so users can expand them to show more content
or shrink them to save space.
10 Multi-Language
11 GCM
12 Wi-Fi Direct
A technology that lets apps discover and pair directly, over a high-
bandwidth peer-to-peer connection.
13 Android Beam
1.5 Cupcake 3
1.6 Donut 4
2.1 Eclair 7
2.2 Froyo 8
4.4 KitKat 19
5.0 Lollipop 21
6.0 Marshmallow 23
Python is an object-oriented and high-level programming language with combined dynamic semantics
mainly for web and app development. It offers dynamic typing and dynamic binding option so it is
highly attractive in the field of Application Development. Python helps developers in reading and
translating code much easier than any others languages and it also reduces the cost of program
maintenance and development.
Unlike its beginning, python is now used to create a large application used for various commercial
system applications. The internet has gained popularity as reliance on Python has grown even more. The
web-oriented transaction system of the New York Stock Exchange (NYSE), Google’s search engine,
YouTube, these all web applications and platforms depend on Python.
Apart from python, there are more other language used such as –
2. Java
ames A. Gosling, a former computer scientist with Sun Microsystems developed Java in the mid-1990s.
Java is used to create complete applications which may run on a single computer or be distributed
among servers and clients in a network and it can also be used to build a small application module
or applet for use as part of a webpage.
After learning PHP you will be able to create dynamic websites, web applications, and all types of
mobile apps.
PHP can be considered for many other uses as well such as creating GUI, Create Facebook apps, Image
processing, content management systems, Creating PDFs, code project management tools, etc.
4. js
Buildfire.js uses the BuildFire SDK and Javascript to allow developers to build mobile apps with the
support of BuildFire backend at an unprecedented rate.
BuildFire already has 70% of the common business use cases, therefore, developers just need to
construct a specific process that is unique to the client, rather than build the whole thing from the
beginning.
BuildFire.js is easy to learn and operates with the existing framework, high potential and scalable.
5. C++
C++ features low-level memory manipulation with a general purpose object-oriented programming
language.
Regarding mobile apps, C++ has been doing unusually well since it helps to develop cross-platform
mobile apps easily with its consolidating debugging experience and powerful environment. It can be
used to design and build amazing apps for Android, Windows, and iOS.
C++ gives you access to smoothly code games, apps, and commercial software.
6. Swift
It was released by Apple Inc. in June 2014 for iOS and Linux. It is the basic programming language
used for developing iOS and OS X apps.
Swift is only available for iOS development but since it operates on Linux and is open source, it can be
used by anyone. SlideShare iOS app is one well-known example of Swift and is completely built with
Swift language.
7. Objective – C
Learning and creating a mobile app through Objective – C is really easy as it is simple to use, uses
dynamic run-time, dynamic typing, and last but not the least, one can use C++ and C while using
Objective C.
8. JavaScript
It is a high-level expound programming language. JavaScript is a multi-patterned language supporting
object-oriented and functional programming.
Creating mobile apps with JavaScript is possible but on one condition, it has to be used with CSS,
HTML, and AJAX.
One has to code the app once and it can be released on all platforms such as Android, iOS, and
Windows. Thus, making the creation of a mobile app no big deal for JavaScript.
9. C#
From server applications, games, mobile apps to web services, you can pretty much create everything in
C#. The expectations of the experts and the developers in C# has been completely changed by the
“Xamarin” platform. Xamrin is an app building tool that makes it uncomplicated for C# users to create
apps for Android and iOS users.
10. HTML5
The ‘5’ here means the fifth version of HTML (Hyper Text Markup Language). HTML5 is used to
display content on the internet.
The use of a powerful framework such as PhoneGap is the only requirement for one to create an
Android as well as iOS apps in HTML5.
HTML5 is responsive and smooth working on all devices in both the cases, may it be the creation of
mobile apps in HTML5 or in combination with APIs.
11. Pearl
The combination of pearl 5 and 6 brings Pearl as a whole. It is a high-level dynamic programming
language which uses features from other languages like AWK, C Sed, etc.
Pearl is used for a lot of applications such as website development, games development, app
development, bioinformatics, automation, and many others.
Pearl is easier than before regarding Development of Android Apps since Google has its APK available
for Pearl developers.
12. Rust
This language is still on its way to being more mature. There are developers who are creating Mobile
apps using Rust. John Gallagher is amongst the one who has created an iOS app in Rust.
13. Kotlin
It is a concise, compact, and understandable language, completely compatible with Java. It’s simple
syntax and main focus on mobile development has attracted many developers.
The main features of this language include easily understandable, compact code, high level of security.
It uses native language for creating Android apps.
14. Corona
Corona is built on the programming language LUA. It works on an uncomplicated process that makes it
easier for the developers to create Mobile apps.
The basic version of Corona is available for free and offers a great advantage in creating Android and
apps.
15. QML
Power If you want high performance, the CPUwill use Smartphones and tablets run on batteries, which
a lot of electricity. The TDP of a powerful means they have to use power as efficiently as
desktop computer can range from 100 to possible. It would not be feasible to provide raw,
600 watts, or more. That's why high- constant CPU power to a device powered by such
performance computers are plugged into a wall: a small battery. So the newest smartphone will not
they use a lot of power. They also generate a lot give you as much power as a top-of-the-line
of heat, often requiring large heat sinks (passive desktop computer — in the foreseeable future,
cooling) as well as fans or liquid cooling anyway. Mobile devices are getting more
(active). powerful every day, but traditional computers will
always have the performance edge due to
consistent access to more electricity.
Cost Prices for a computer can vary widely, The price of a smartphone is often folded into the
depending on its capabilities, storage, and cost of a multi-year contract with a mobile
features. A mid-range computer usually costs services provider, such as Verizon or AT&T.
between $500 and $800, and some of that cost Refurbished smartphones can usually be
can be offset if you already own peripherals purchased on sites such as EBay or Amazon for
such as a monitor, keyboard, and mouse. More $100-$300, and a flagship smartphone, brand new,
powerful computers will cost you between can cost as much as $800. Tablets, depending on
$1000 and $3000, or more. size, usually cost between $300 and $700.
Storage Consumer hard drive capacities already exceed Most smartphones and tablets come with between
one terabyte (TB) and they continue to increase 8 GB and 64 GB of built-in storage. In some
in size. Even the most basic computer comes cases, an expansion slot may be available for an
with a 250 gigabyte (GB) hard drive today. This additional memory chip providing removable
applies to both desktop and laptop computers. storage. Smartphones and tablets will offer less
Netbooks such as the Google Chromebook, storage capacity than a computer, and their
which is designed primarily for working within components cannot be modified like a computer's.
a web browser, sometimes offer only 16 or 32 It's a good idea to know how much storage you
GB of space. You can always add additional require before purchasing your device, and factor
internal hard disks to your desktop computer, as that into your decision.
long as you have available drive bays and
interface connections available. An external
hard disk can be added to desktop, laptop,
and netbookcomputers.
Connectivity Desktop computers generally come Smartphones and tablets can connect to Wi-Fi
with Ethernet capability, either on networks for Internet access. Also, smartphones
the motherboard or a discrete NIC. Most can connect to a mobile data network, and many
desktop computers require a peripheraldevice, tablets offer mobile data connectivity as an option.
such as a USB Wi-Fi adapter, to connect to These tablets can also usually make phone calls on
wireless networks. Most laptops include both your mobile network. Mobile data comes at a
Wi-Fi and Ethernet networking as a standard premium, however: most mobile data plans offer a
feature. set amount of data that you can use per month,
offering additional data at an expensive, metered
fee. Speed and consistency of mobile data
connections depends on the technology used by
your specific device and mobile network.
Operating Operating systems designed for computers and Mobile operating systems
system laptops are full-featured. They are designed to (primarily Android, iOS, and Windows Mobile)
take advantage of fast CPUs, large amounts of are specialized for a specific set of devices. By
disk space, and high amounts of RAM. Also, default, they don't offer you complete access to
they take advantage of the features of modern your system hardware (Administrator or "root"
chipsets that are not available on most mobile access). They also have stricter hardware
devices. requirements because the ecosystem of mobile
apps and devices is strongly connected to specific
hardware features on the newest hardware. In
other words, you can't run the newest apps on an
older mobile OS and the newest mobile OS won't
run on a significantly old device.
Data Entry A computer uses a keyboard for data entry that Smartphones feature an on-screen touch keyboard
and user most users are familiar with and comfortable that is much smaller than that of a standard
input using. The mouse is also available for easy computer. The smaller keyboard can make typing
scrolling and clicking. more difficult for users, especially for those who
have big fingers. Some smartphones feature a
slide-out keyboard, with actual keys to press.
Again, this keyboard is much smaller than a
standard computer keyboard and can still be
difficult for some users.