Lecture # 01
Lecture # 01
Android
Programming
Prepared By : Arslan Ali Mansab
Android Overview
Architecture
Application Components
Android-Resources
Android-Activities
Agenda Android-Servies
Android-Broadcast Receivers
Android-Content Providers
Android-Fragments
Android-Intents/Filters
Android
Overview
What is Android?
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.
Android Connectivity
GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and
WiMAX.
Storage
SQLite, a lightweight relational database, is used for data storage
purposes.
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.
Android
V8 JavaScript engine supporting HTML5 and CSS3.
Multi-touch
Android has native support for multi-touch which was initially made
available in handsets such as the HTC Hero.
Multi-tasking
User can jump from one task to another and same time various
application can run simultaneously.
Resizable widgets
Widgets are resizable, so users can expand them to show more content
or shrink them to save space.
Android
message data to their users on Android devices, without needing a
proprietary sync solution.
Wi-Fi Direct
A technology that lets apps discover and pair directly, over a high-
bandwidth peer-to-peer connection.
Android Beam
A popular NFC-based technology that lets users instantly share, just by
touching two NFC-enabled phones together.
applications
You will be glad to know that you can start your Android
application development on either of the following
Android IDEs
There are so many sophisticated Second point is that all the required tools to develop
Technologies are available to Android applications are freely available and can be
develop android applications, downloaded from the Web. Following is the list of software's
the familiar technologies, which you will need before you start your Android application
are predominantly using tools as programming.
follows
Android Studio Java JDK5 or later version
Eclipse IDE(Deprecated) Android Studio
Android - Architecture
Android operating system is a stack of software components which is roughly divided into five
sections and four main layers as shown below in the architecture diagram.
Linux kernel Libraries
At the bottom of the layers is Linux On top of Linux kernel there is a set
- Linux 3.6 with approximately 115 of libraries including open-source
patches. This provides a level of Web browser engine WebKit, well
abstraction between the device known library libc, SQLite database
hardware and it contains all the which is a useful repository for
essential hardware drivers like storage and sharing of application
camera, keypad, display etc. Also, data, libraries to play and record
the kernel handles all the things audio and video, SSL libraries
that Linux is really good at such as responsible for Internet security
networking and a vast array of etc.
device drivers, which take the pain
out of interfacing to peripheral
hardware.
Android Libraries
This category encompasses those Java-based libraries that are specific to
Android development. Examples of libraries in this category include the
application framework libraries in addition to those that facilitate user
interface building, graphics drawing and database access. A summary of some
key core Android libraries available to the Android developer is as follows −
android.app − Provides access to the application model and is the cornerstone of all
Android applications.
The Dalvik VM makes use of Linux core features like memory management and multi-
threading, which is intrinsic in the Java language. The Dalvik VM enables every
Android application to run in its own process, with its own instance of the Dalvik
virtual machine.
The Android runtime also provides a set of core libraries which enable Android
application developers to write Android applications using standard Java
programming language.
Application Framework
The Application Framework layer provides many higher-level services to applications in
the form of Java classes. Application developers are allowed to make use of these
services in their applications.
The Android framework includes the following key services −
Activity Manager − Controls all aspects of the application lifecycle and activity
stack.
Content Providers − Allows applications to publish and share data with other
applications.
Resource Manager − Provides access to non-code embedded resources such as
strings, color settings and user interface layouts.
Notifications Manager − Allows applications to display alerts and notifications to
the user.
View System − An extensible set of views used to create application user
interfaces.
Android - Application Components
Application components are the essential building blocks of an Android
application. These components are loosely coupled by the application
manifest file AndroidManifest.xml that describes each component of the
application and how they interact.
There are following four main components that can be used within an
Android application −
Activities Services
They dictate the UI and handle the user They handle background processing
interaction to the smart phone screen. associated with an application.