Android Flashcards
What is API level?
API level marks Android API version – version of libraries
and classes which are available to
programmers
Can different versions of Android have the same API level?
Yes they can. This means that 2.3.3 to 2.3.7 didn’t have API changes visible to
developers, but just enhancements and bugfixes
What is Android?
Android is SW platform designed for mobile devices.
What does Android consists of?
More than OS, it is a software stack, consisted of:
1) Os
2) Basic libraries and runtime environment
3) Application framework
4) Applications
For what purpose is software platform designed?
1) Take into the account limitations of mobile platforms, such as low
processing power, memory, battery…
2) Support large spectrum of mobile devices
Why do programmers care about API level?!
1) Higher API level – more functionalities
2) Programmer must choose and declare API level in
application during programming
3)
Why do programmers care about API level?!
1) Higher API level – more functionalities
2) Programmer must choose and declare API level in
application during programming
3) API level determines which devices will be compatible
with the application
What is the first, and what is the last API level?
First API level was 1, and last is 27(Oreo) - with newest Pie emerging.
What are the three API levels that progrmmer can define inside Android Manifest (XML file)?
Those are:
1)minSdkVersion
2)targetSdkVersion
3)maxSdkVersion
What is minSdkVersion?
It is the minimum version on which app can execute. Android will not allow
installation on device with smaller API version than minSdkVersion. It is
recommended to define this value, otherwise Android will assume API version 1
What is targetSdkVersion?
It is API version on which application was built and tested, if not
defined, Android assumes that it is equal to minSdkVersion
What is maxSdkVersion?
Not necessary, even not recommended to be defined, as it limits
max API version
What to do if we want functionality from the newer API level on device
with older Android version?
Android support libraries – external
libraries which are added to the project and provide required API level
and behaviour
Of what consists Android platform?
It is software stack that consists of:
1) Java API
2) C/C++ libraries
3) Android Runtime
4) HAL - Hardware Abstraction Level
5) Linux Kernel
What are System apps?
They are set of basic applications:
1) Email
2) SMS messages
3) Calendar
4) Browser
5) Maps
6) Contacts
*Preinstalled applications don’t have any special status compared to the applications user installs
*These applications are written in Java programming language.
What is Java API?
It is a set of Android OS functionalities:
1) View System
2) Resource Manager
3) Notification Manager
4) Activity Manager
5) Content Provider
*Developers who are developing Android apps have access to the same set of functions used by system apps.
What is the role of View System?
App development, including lists, alignments, text
fields, buttons…
What is the role of Resource Manager?
Provides access to the resources outside code
(localized strings, images, xml layouts)
What is the role of Notification manager?
Allows applications to show notifications in status
line
What is the role of Activity Manager?
Manages application lifecycle and provides
common navigation stack.
What is the role of Content Provider?
Allows applications to access data from other
applications, or data sharing
What are C/C++ libraries?
Libraries that are used by Android system components.
* Numerous system components and services are developed in C/C++
* It is possible to develop apps using C/C++, but then you must use
Android NDK
What is API?
Data structures, utilities, file access, network access
What is Android runtime (ART)?
Starting with Android 5.0,
API 21, runtime environment used by apps and
services in Android
* Every application executes inside its own process in
separate VM under ART
* ART environment executes Dex bytecode, which is
optimized for small memory print