You are on page 1of 12

Mobile Application Development

Session: Spring 2021


Kaleem Nawaz Khan
Lecturer
Department of Computer Science

University of Engineering and Technology, Mardan


Today’s Agenda
ØAndroid Architecture
ØAndroid Developer Community
ØRequired Tools
ØAndroid: API level VS. Android version
Android Architecture
Android Architecture
Linux kernel
ØAt the bottom of the layers is Linux - Linux 3.6 with approximately 115 patches.
ØThis provides a level of abstraction between the device hardware and it contains all
the essential hardware drivers like camera, keypad, display etc.
ØAlso, the kernel handles all the things that Linux is really good at such as networking
and a vast array of device drivers, which take the pain out of interfacing to peripheral
hardware.
Android Architecture
Libraries
ØOn top of Linux kernel there is a set of libraries including:
Øopen-source Web browser engine WebKit and well known library libc,
ØSQLite database which is a useful repository for storage and sharing of application data,
Ølibraries to play and record audio and video, and
ØSSL libraries responsible for Internet security etc.
ØIt also provides Java-based libraries that are specific to Android development
Øandroid.view − The fundamental building blocks of application user interfaces.
Øandroid.widget − A rich collection of pre-built user interface components such as
buttons, labels, list views, layout managers, radio buttons etc.
Øandroid.webkit − A set of classes intended to allow web-browsing capabilities to be
built into applications.
Android Architecture
Android Runtime
ØThis section provides a key component called Dalvik Virtual Machine which is a kind
of Java Virtual Machine specially designed and optimized for Android.
Ø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.
Android Architecture
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 Architecture
Applications
ØYou will find all the Android application at the top layer.
ØYou will write your application to be installed on this layer only.
ØExamples of such applications are Contacts Books, Games etc.
Android Developer Community
ØThe Android Developers Blog (https://android-developers.googleblog.com/)
provides a wealth of articles on Android development.
ØGoogle Developer Training
ØGoogle I/O Codelabs
ØAndroid Testing Codelab
ØGoogle Testing Blog
Required Tools
ØYou will be glad to know that you can start your Android application development
on either of the following operating systems −
ØMicrosoft Windows XP or later version.
ØMac OS X 10.5.8 or later version with Intel chip.
ØLinux including GNU C Library 2.7 or later.
ØSecond point is that all the required tools to develop Android applications are freely
available and can be downloaded from the Web. Following is the list of software's
you will need before you start your Android application programming.
ØJava JDK (Java Development Kit) latest version
ØAndroid SDK (Software Development Kit)
Required Tools
ØJava JDK
ØThe JDK allows developers to create Java programs that can be executed and run by the
JVM and JRE.
ØThe JVM is the Java platform component that executes programs.
ØThe JRE is the on-disk part of Java that creates the JVM.
ØAndroid SDK
ØThe Android SDK is a collection of software development tools and libraries required to
develop Android applications.
ØIt is a software development kit developed by Google for the Android platform.
ØIt allows you to create Android apps, and you don't need to be an expert to use it.
ØAndroid SDK can be run stand-alone (by using command-prompt), or with the other IDE
like Eclipse or Android Studio
Android: API level VS. Android version
ØThe Android platform provides a framework API that applications can use to
interact with the underlying Android system. The framework API consists of:
ØA core set of packages and classes
ØA set of XML elements and attributes for declaring a manifest file
ØA set of XML elements and attributes for declaring and accessing resources
ØA set of Intents
ØA set of permissions that applications can request, as well as permission enforcements
included in the system
ØEach successive version of the Android platform can include updates to the Android
application framework API that it delivers.
ØAPI is for development, so the changes in new API version are more "inside". But
new version of Android usually adds more features for users, that are "visible".

You might also like