You are on page 1of 38

MOBILE AND APPLICATION DEVELOPMENT

Android Programming

Developed By
Zahid Javed Lecture # 1
WHAT IS ANDROID?
 Android is a open-source mobile operating system.
 Variant of Linux hence providing extensive security, modularity and
productivity at the mobile device level.
 Android is developed and maintained by the organization called “ Open
Headset Alliance” (OHA).
 OHA was established in 2007 with google foremost member.
 OHA includes a lot of prominent hardware and software companies.
 Android was created by a company called Android Inc.
 Google acquired this company in 2005.
 Google make it Open Source and Android gained a big momentum.
 Android has the market share of around 85% in 2016.

Developed by Zahid Javed


WHAT IS OHA?

Developed by Zahid Javed


SUPPORTS WIRELESS NETWORK

Developed by Zahid Javed


WHAT IS ANDROID?
 Android is a mobile operating system developed by Google. It is used by
several smartphones and tablets. Examples include the Sony Xperia,
the Samsung Galaxy, and the Google Nexus One.

 The Android operating system (OS) is based on the Linux kernel.


Unlike Apple's iOS, Android is open source, meaning developers can
modify and customize the OS for each phone. Therefore, different
Android-based phones often have different graphical user interfaces
GUIs even though they use the same OS.

Developed by Zahid Javed


WHAT IS “DALVIK” ?
 Android phones typically come with several built-in applications and
also support third-party programs. Developers can create programs for
Android using the free Android software developer kit (SDK). Android
programs are written in Java and run through a Java virtual machine
JVM that is optimized for mobile devices. The "Dalvik" JVM was used
through Android 4.4 and was replaced by Android Runtime or "ART" in
Android 5.0. Users can download and install Android apps from Google
Play and other locations.

Developed by Zahid Javed


WHAT IS ANDROID RUNTIME?

Developed by Zahid Javed


ABOUT INFO ANDROID
 If you are unsure what operating
system your phone or tablet uses, you
can view the system information by
selecting "About" in the Settings
menu. This is also a good way to check
if your device meets an app's system
requirements.

Developed by Zahid Javed


ANDROID VERSIONS

Developed by Zahid Javed


Developed by Zahid Javed
ANDROID VERSIONS

Developed by Zahid Javed


ANDROID VERSIONS

Developed by Zahid Javed


LATEST EDITION OF ANDROID VERSIONS

To be
announced

Link for More Info


https://en.wikipedia.org/wiki/Android_version_history

Developed by Zahid Javed


VIRTUAL MACHINE
VMOS is a virtual machine app on Android, that
can run another Android OS as the guest
operating system. Users can optionally run the
guest Android VM as a rooted Android OS. The
VMOS guest Android operating system has
access to the Google Play Store and other Google
apps. VMOS was the first virtual machine for
Android to support Google Play services and
other Google apps.

Developed by Zahid Javed


VIRTUAL MACHINE FOR ANDROID
 Android applications also run on a JVM.
 There are two special virtual machines used in Android:
 Dalvik Virtual Machine (DVM) and
 Android RunTime (ART).
 These are specialized JVMs which can run on low system resources.
 The .apk files (executables of Android apps) actually run on these
virtual machines.
 In AOT, apps are compiled during installation hence they load faster
with lower CPU usage.
 On the other hand, JIT compilation provides lower storage space
consumption with relatively longer loading times.

Developed by Zahid Javed


PROGRAMMING LANGUAGES USED FOR
DEVELOPING ANDROID APPS
 The recommended and convenient way of developing Android apps is using Java
programming language.
 Although Java is a general purpose tool, it is used in conjunction with Android
Software Development Kit (SDK) in Android Studio environment to develop
apps.
 Another official way is using C++ with the Native Development Kit (NDK).
 This option is used for developing apps with low level instructions such as timing
sensitive drivers.
 With C++ and NDK, we can directly run the app on the Android kernel hence
increasing efficiency in exchange of code length and development cost.
 There also exist third-party tools like Xamarin, Crodova and React Native for
developing apps.

Developed by Zahid Javed


FEATURES OF ANDROID
1. Voice-search
 This feature lets the user search by recording the voice message instead
of typing it. Example- If we want to call XYZ person, we just have to
speak and the call will be directed to the XYZ person, performing multi-
tasking. With this feature, we can watch a video and also play games
simultaneously.
2. Screen-capture
 We can capture the screen using this feature.

3. Multiple Language Support


 English is the default language but now we can use any local language.
Also, Android supports multiple languages.

Developed by Zahid Javed


FEATURES OF ANDROID
4. Gestures
 With the help of gestures, we can use the phone without even touching it.
5. Tethering
 With this feature, we can share internet connections through the
wired./wireless hotspot.
6. Media Support
 Android supports the following media H.263, H.264, MPEG-4, AMR, AMR-
WB, AAC, HE-AAC, MP3, JPG, PNG, etc.
7. Storage
 SQLite is an open-source relational database that is inbuilt in Android.
8. Auto-correct
 This feature suggests words and corrects grammatical mistakes.

Developed by Zahid Javed


FEATURES OF ANDROID
9. Sensors
 Almost, every mobile phone has inbuilt sensors that sense the motion of
the phone. Some of the inbuilt sensors are an accelerometer, heart rate,
magnetic field sensor, gyroscope.

Developed by Zahid Javed


FRAMEWORKS FOR ANDROID DEVELOPMENT
There are many tools available for Android development. Some of the best
Android development tools are listed below:

Developed by Zahid Javed


FRAMEWORKS FOR ANDROID DEVELOPMENT
1. Corona SDK
 This tool helps us to build 2-D applications. Moreover, it uses the Lua
language, which is simple than C/C++. Game developers mostly use this
framework.

https://www.androidaut
hority.com/writing-
your-first-android-
game-623386/

Developed by Zahid Javed


FRAMEWORKS FOR ANDROID DEVELOPMENT
2. Android Studio
 Android Studio is the official IDE for Android application development.
Also, it helps to build high-quality applications. Android beginners are
recommended this application.

Developed by Zahid Javed


FRAMEWORKS FOR ANDROID DEVELOPMENT
23. Phone – Gap
 The creation of mobile apps for each device – Android, Windows, and iOS– is an
enormous task, requiring expertise, numerous languages, and frameworks. With
modern web-based technologies and languages, such as CSS, HTML, and
JavaScript, PhoneGap makes this job a lot more simple. PhoneGap produces,
develops and deploys mobile apps for smartphones on all platforms by bridging
the gap between web and mobile applications. PhoneGap is an open-source
distribution project by Adobe which under the stewardship of the Apache
Software Foundation was renamed, Apache Cordova.

Developed by Zahid Javed


FRAMEWORKS FOR ANDROID DEVELOPMENT
23. Phone – Gap
 Adobe and Apache sponsor this framework. Moreover, it allows the users
to keep watch on changes made while working and running programs.

Developed by Zahid Javed


FRAMEWORKS FOR ANDROID DEVELOPMENT
What is Cordova?
 Cordoba is a platform to build native mobile apps using CSS, HTML5,
and Java. The platform has previously named phone Gap. The skills and
resources required to build native mobile apps for various mobile
platforms are lacking in most businesses. In other words, it functions as a
container for running a CSS, HTML, JS Web applications usually can’t
use the features of native devices such as the Accelerometer, camera,
Contacts, GPS, etc. By using reliable frames, such as Cordova, an
organization will speed up the development of hybrid mobile apps further.

Developed by Zahid Javed


FRAMEWORKS FOR ANDROID DEVELOPMENT
1. PhoneGap is Adobe Systems ‘ cross-platform mobile development system
to build mobile platform-independent applications. It is using standard web
technologies such as JavaScript, HTML, and CSS to connect web apps to
mobile devices.
2. Created originally by Nitobi Software and later bought from Adobe
Systems, PhoneGap is created on the Apache Cordova open-source project.
Adobe Systems has published and named Apache Cordova the open-source
version of the software.

Developed by Zahid Javed


FRAMEWORKS FOR ANDROID DEVELOPMENT
4. Geny – Motion
 Geny Motion helps us to develop and test applications in a faster and
safer environment and it uses OpenGL which helps applications to run
efficiently.
5. App Builder
 Using this framework, users with no coding skills can build applications
and web apps and also, it uses a drag and drop interface to create
applications.

Developed by Zahid Javed


FRAMEWORKS FOR ANDROID DEVELOPMENT
6. Flutter
Flutter is an open-source UI software development kit created by Google. It
is used to develop applications for Android, iOS, Linux, Mac, Windows,
Google Fuchsia, and the web from a single codebase. The first version of
Flutter was known as codename "Sky" and ran on the Android operating
system

Developed by Zahid Javed


FRAMEWORKS FOR ANDROID DEVELOPMENT

Developed by Zahid Javed


FRAMEWORKS FOR ANDROID DEVELOPMENT
ABOUT FLUTTER

Developed by Zahid Javed


FRAMEWORKS FOR ANDROID DEVELOPMENT
ABOUT FLUTTER

Developed by Zahid Javed


FRAMEWORKS FOR ANDROID DEVELOPMENT
FLUTTER LIMITATIONS
Lack of Third-Party Libraries and Widgets
Flutter is not too old unlike its contemporaries and lacks the presence of third-party
libraries.
Code Pushing
Code push allows developers to instantly push patches to their apps without going
through the usual app store release process.
TVs, Watches & Cars
You can’t use Flutter to build apps for tvOS, watchOS, CarPlay, or Android Auto.
There’s some limited support for Wear OS (formerly Android Wear).

Developed by Zahid Javed


ANDROID DEVICES IN THE MARKET
Android devices come in all shapes and sizes. As of late November
2011, the Android OS powers the following types of devices:
 Smartphones

 Tablets

 E-reader devices

 Netbooks

 MP4 players

 Internet TVs

Developed by Zahid Javed


AN INTRODUCTION TO THE QUASAR FRAMEWORK
https://quasar.dev/introduction-to-quasar

Developed by Zahid Javed


AN INTRODUCTION TO THE QUASAR FRAMEWORK
 It’s based on Vue.js (Framework)
 You get a state-of-the-art UI (that follows Material Guidelines) for your
websites and apps out of the box
 Best support for desktop and mobile browsers (including iOS Safari!) out of
the box
 Best-in-class support for each build mode (SPA, SSR, PWA, Mobile app,
Desktop app & Browser Extension) and the best developer experience
through a tight integration with our own CLI
 It’s easily customizable (CSS) and extendable (JS)

 It’s the most performance-focused framework

 It’s tree-shakable automatically

 Incredible community on our Forum and Discord chat

 Has a regular release cycle inclusive of new features

 Gets quick fixes and listens to the community’s requests


Developed by Zahid Javed
AN INTRODUCTION TO THE QUASAR FRAMEWORK

Developed by Zahid Javed


ANDROID DEVICES IN THE MARKET
Smartphones Tablets

E-reader devices

Developed by Zahid Javed


ANDROID DEVICES IN THE MARKET

Developed by Zahid Javed

You might also like