LAST - Sheet1 Flashcards
Mobile operating system based on Linux
Android
Originally developed by Android Inc.
Android
Google purchased Android Inc. in ___
2005
___ is open and free
Android OS
Open Source
Larger Developer and Community Reach
Increased Marketing
Inter App Integration
Reduced Cost of Development
Higher Success Ratio
Rich Development Environment
Android
Android =
0.7334999999999999
Android Versions and their Names
Cupcake
Donut
Eclair
Froyo
Gingerbread
Honeycomb
Ice Cream Sandwich
Jellybean
KitKat
Lollipop
Marshmallow
Nougat
Oreo
Pie
Android 10
Android 11
Android 12
Both versions are first commercial versions
Android 1.0 and 1.1 (Unnamed)
Officially released publicly in 2008 and 2008
Android 1.0 and 1.1 (Unnamed)
The first android commercial version was placed on ____
HTC dream device.
These versions were released without codename
Android 1.0 and 1.1 (Unnamed)
Google Maps
Camera
Gmail, Contacts and Google Synchronization
Web Browser
Wireless supports - WiFi and Bluetooth
Android 1.0 (alpha);
Add Save attachment in message
Provides reviews and details when user search business on maps
Android 1.1 (beta):
Released in April 2009.
Android 1.5 (CupCake)
The first released codename with official name.
Android 1.5 (CupCake)
It brought features in UI design and update several new features
Android 1.5 (CupCake)
New upload service on Youtube and Picasa like Uploading Videos and Photos
Supporting in MPEG-4, Video recording
Improving Web Browser-Copy and Paste facility
Android 1.5 (CupCake)
Released in Sept 2009
Android 1.6 (Donut)
It supports large screen size
Providing Gallery and Camera features
Improve speed in system apps
Android 1.6 (Donut)
Released in Oct 2009 and 2.1 version released in Dec 2009.
Android 2.0 and 2.1 (Eclair)
Update UI
Support Live Wallpaper
Support Bluetooth 2.1
Improve Google map
Minor API Changes
Android 2.0 and 2.1 (Eclair)
Released in May 2010.
Android 2.2 (Froyo)
Support Animated GIF
WiFI Support Hotspot functionality
Speed improvements
Upload file support in browser
Support numeric and alphanumeric password
Android 2.2 (Froyo)
Released in December 2010
Android 2.3 and 2.4 (Gingerbread)
It was officially announced in Nexus S android phone which is Google co-developed with Samsung
Android 2.3 and 2.4 (Gingerbread)
Improve Copy-Paste Facility
Updated UI design
Social Networking Supports
Easy use of keyboard
Android 2.3 and 2.4 (Gingerbread)
was released in February 2011 quickly followed by 3.1 and 3.2 in July and August, 2011.
Android 3.0, 3.1, and 3.2 (Honeycomb)
____ was released in February 2011
Android 3.0
Gmail App improvements
Updated 3D UI
Media Sync from SD Card
Google eBooks
Google Talk Video Chat
Support Adobe Flash in Browser
High-performance WiFi Connections and Lock
Chinese handwriting
Android 3.0, 3.1, and 3.2 (Honeycomb)
Released in October 2011.
Android 4.0 (Ice-Cream Sandwich)
It was Google’s attempt to synthesize Honeycomb
Android 4.0 (Ice-Cream Sandwich)
Improved text input and spelling check
WiFi direct
Photo Decor facility
Improve in keyboard correction
Face Lock
Improve in video recording resolution
Camera performance
Up to 16 tabs in web browser
Android 4.0 (Ice-Cream Sandwich)
Released in July 2012
Android 4.1, 4.2 and 4.3 (Jelly Bean)
‘Google now’ is the main feature.
Android 4.1, 4.2 and 4.3 (Jelly Bean)
Voice Search
Smooth UI
Improve camera application
Security enhancement
Voice typing
Multiple user accounts on tablet only
4k resolution support
Supporting Bluetooth Low Energy
Bi-directional text and other language support
Support USB audio
Lock screen improvement
Set the volume of incoming calls and showing message alert
Native emoji support
Android 4.1, 4.2 and 4.3 (Jelly Bean)
Released in September 2013
Android 4.4 (Kitkat)
Screen Recording
KitKat adds a feature in ‘Google now’. Its name is ‘OK Google’. “OK Google” allows access google now to the user without touching your mobile phone
GPS Support
Offline music support
UI updates for google map navigation and alarm
Also, introduce Emoji’ to google keyboard
Android 4.4 (Kitkat)
KitKat adds a feature in ‘Google now’. Its name is ____. _____allows access google now to the user without touching your mobile phone
‘OK Google’
Released in November 2014.
Android 5.0 and 5.1 (Lollipop)
Support ART(Android RunTime)
Android 5.0 and 5.1 (Lollipop)
Save battery on some device
Improvement in UI
New material design
Bug fixes
Multiple sim card support
High definition voice call
Android 5.0 and 5.1 (Lollipop)
Released in May 2015
Android 6.0 (Marshmallow)
Fingerprint authentication
USB Type C support
Save battery - ‘Sleep Mode’
App permission model-OPT (send request for permission)
New Emoji’s
Android 6.0 (Marshmallow)
Released in August 2016.
Android 7.0 (Nougat)
It was announced with native split-screen mode and data saver feature.
Android 7.0 (Nougat)
Provide multitasking
Providing multi-window mode
Improve in storage manager
Display touch improvement
Android 7.0 (Nougat)
Released in August 2017.
Android 8.0 (Oreo)
Support PIP(Picture-in-Picture)
Multi-display support
Google Play support
Adaptive Icons
Improve notification system
Android 8.0 (Oreo)
Released in August 2018
Android 9.0 (Pie)
A “screenshot” button has been added
A new “Lockdown” mode for biometrics
Support for display cutouts
Adaptive Batter prediction
Adaptive brightness modifies screen brightness based on user habits
Android 9.0 (Pie)
Released in September 3 2019.
Android 10
Known as “Queen Cake”, internally as Quince Tart
Android 10
New permissions to access location in background and to access photo, video, and audio files
Sharing shortcuts, which allow sharing content with a contact directly
Dynamic depth format for photos, which allow changing background blur after taking a photo
New system-wide dark theme/mode
Android 10
Released in September 8, 2020.
Android 11
Known as “Red Velvet Cake”
Android 11
Native Screen Recording
Muting notifications during video
Increase touch sensitivity
Notification History
Auto-revoke app permissions
Android 11
Released in October 4, 2021.
Android 12
Known as “Snow Cone”
Android 12
Scrolling Screenshots
AppSearch
Improved Auto-Rotate
Easier WiFi Sharing
One-Handed Mode
Rich Content Insertion
Overview Suggestions
Game Mode APIs
Android 12
Released in August 15, 2022
Android 13
Known as “Tiramisu”
Android 13
Improved Security Features
New Reading Mode
Digital Car Keys
Native LE Bluetooth Support
Additional Material You Theme Options
QR Code Scanner Support
Android 13
Released in October 4, 2023
Android 14
Known as “Upside Down Cake”
Android 14
Smarter Scaling and Large Fonts
Notification Flashes
Restrictions for Photo and Video Access
Protected Pin
Data Protection
Regional Preferences
Predictive Back Gestures
Health Connect
Android 14
Released in August 13, 2024.
Android 15
Known as “Vanilla Ice Cream”
Android 15
SQL
Media
Connectivity
Messaging
Mobile Applications
Multi touch
Android Features
A software stack of components to support a mobile device needs
Android Architecture
_______ contains a Linux Kernel, collection of c/c++ libraries which is exposed through an application framework services, runtime and application.
Android software stack
Applications
Android Framework
Android Runtime
Platform Libraries
Linux Kernel
Android software stack
is the main component in android to provide its operating system functions to mobile.
Linux Kernel
which is responsible for running a mobile application
Dalvik Virtual Machine (DVM)
Prerequisites of Android Studio
JDK
Android Studio
lets you carry out a wide range of actions, including running your app and launching Android tools
toolbar
helps you navigate through your project and open files for editing. It provides a more compact view of the structure visible in the Project window
navigation bar
is where you create and modify code. Depending on the current file type, the editor can change. For example, when viewing a layout file, the editor displays the Layout Editor
editor window
runs around the outside of the IDE window and contains the buttons that allow you to expand or collapse individual tool windows
tool window bar
give you access to specific tasks like project management, search, version control, and more. You can expand them and collapse them
tool windows
displays the status of your project and the IDE itself, as well as any warning or messages
status bar
Connect your Android Phone to the computer
Make sure USB Debugging is enabled (you can do this by enabling Developer options first)
Run on real Device
Navigate to Device Manager and select Create Device
Select your screen size and kind of phone
Select Android SDK version
Run on Emulator
are the essential building blocks of an Android application.
Application Components
Application components are loosely coupled by the application manifest file ___that describes each component of the application and how they interact
AndroidManifest.xml
These components are loosely coupled by the application manifest file AndroidManifest.xml that describes each component of the application and how they interact
Application Components
They dictate the UI and handle the user interaction to the smart phone screen
Activities
They handle background processing associated with an application
Services
They handle communication between Android OS and applications
Broadcast Receivers
They handle data and database management issues
Content Providers
An _____ represents a single screen with a user interface, in-short ____ performs actions on the screen.
Activity
An activity is implemented as a subclass of Activity class as follows –
public class MainActivity extends Activity{}
is a component that runs in the background to perform long-running operations.
service
might play music in the background while the user is in a different application, or it might fetch data over the network without blocking user interaction with an activity.
service
A service is implemented as a subclass of Service class as follows –
public class MyService extends Service{}
simply respond to broadcast messages from other applications or from the system.
Broadcast Receivers
implemented as a subclass of BroadcastReceiver class and each message is broadcaster as an Intent object
broadcast receiver
BroadCast Receiver Syntax
public class MyReceiver extends Broadcast Receiver{
public void onReceive(context,intent){}
}
component supplies data from one application to others on request.
content providers
A content provider component supplies data from one application to others on request. Such requests are handled by the methods of the ____ class.
ContentResolver
The data may be stored in the file system, the database or somewhere else entirely
content providers
is implemented as a subclass of ContentProvider class and must implement a standard set of APIs that enable other applications to perform transactions.
content providers
represents a portion of user interface in an Activity
Fragment
UI elements that are drawn on-screen including buttons, lists forms etc.
Views
view hierarchies that control screen format and appearance of the views
Layouts
messages wiring components together
Intents
external elements, such as strings, constants and drawable pictures
Resources
configuration file for the application
Manifest
are the additional files and static content that your code uses, such as bitmaps, layout definitions, user interface strings, animation instructions, and more
Resources
are always maintained separately in various sub-directories under res/ directory of the project
resources
Android Resources are always maintained separately in various sub-directories under ___ directory of the project
res/
XML files that define Property animations
animator/
XML files that define property animations. They are saved in res/anim/ folder and accessed from the R.anim class
anim/
XML files that define property animations. They are saved in ___ folder and accessed from the ___ class
res/anim/, R.anim
XML files that define Tween animations.
anim/
____ can also be saved in this directory, but the animator/directory is preferred for property animations to distinguish between the two types
Property animations
XML files that define a state list of colors.
color/
XML files that define a state list of colors. They are saved in __ and accessed from the ___ class
res/color/, R.color
images like .png, .jpg, .gif or XML files that are compiled into bitmaps, state lists, shapes, animation drawable.
drawable/
images like .png, .jpg, .gif or XML files that are compiled into bitmaps, state lists, shapes, animation drawable. They are saved in __ and accessed from the ___ class
res/drawable/, R.drawable
Bitmap files (PNG, .9.png, JPG, or GIF) or XML files that are compiled into the following drawable resource subtypes
drawable/
Bitmap files
Nine-patches (re-sizeable bitmaps)
State lists
Shapes
Animation drawables
Other drawables
Bitmap files (PNG, .9.png, JPG, or GIF) or XML files that are compiled into the following drawable resource subtypes:
XML files that define a user interface layout.
layout/
XML files that define a user interface layout. They are saved in ____ and accessed from the ___class.
res/layout/, R.layout
XML files that define application menus, such as an Options Menu, Context Menu, or Sub Menu.
menu/
XML files that define application menus, such as an Options Menu, Context Menu, or Sub Menu. They are saved in ___ and accessed from the ___class
res/menu/, R.menu
Arbitrary files to save in their raw form.
raw/
Arbitrary files to save in their raw form. You need to call ______ with the resource ID, which is _____ to open such raw files.
Resources.openRawResource(), R.raw.filename
Arbitrary files to save in their raw form. To open these resources with a raw _____, call Resources.openRawResource() with the resource ID, which s R.raw.filename.
InputStream
However, if you need access to the original filenames and file hierarchy, consider saving resources in the ____instead of res/raw/. Files in assets/ aren’t given a resource ID, so you can only read them using ___-
asset/ directory, AssetManager
XML files that contain simple values, such as strings, integers, and colors
values/
Whereas XML resource files in other res/ subdirectories define a single resource based on the XM filename, files in the values/ directory describe multiple resources
values/
For a file in values/ directory, each child of the ____ element defines a single resource. For example, a <string> element creates an R.string resource, and a <color> element creates an R.color resource</color></string>
<resources>
</resources>
Because each resource is defined with its own XML element, you can name the file whatever you want and place different resource types in one file.
t
arrays.xml for resources arrays
Typed arrays
colors.xml for
Color Values
dimens.xml for
Dimension Values
strings.xml for
String values
styles.xml for
Styles
Arbitrary XML files that can be read at runtime by calling Resources.getXML().
xml/
xml/ - Arbitrary XML files that can be read at runtime by calling ____.
Resources.getXML()
Arbitrary XML files that can be read at runtime by calling Resources.getXML(). Various XML configuration files must be saved here, such as a ____
Search configuration.
Font files with extensions such as TTF, OTF, or TTC, or XML files that include a <font-family> element.</font-family>
font/
when your Android application is compiled, a R class gets generated, which contains resource IDs for all the resources available in your res/ directory. You can use R class to access that resource using sub-directory and resource name or directly resource ID
Accessing Resources in Code
when your Android application is compiled, a _class gets generated, which contains resource IDs for all the resources available in your res/ directory.
R
when your Android application is compiled, a R class gets generated, which contains resource IDs for all the resources available in your ___ directory.
res/
You can use ___ to access that resource using sub-directory and resource name or directly resource ID
R class
to access
res/drawable/myimage.png and set an ImageView, you will use following cod
ImageView imageView = (ImageView) findViewById(R.id.myimageview);
imageView.setImageResource(R.drawable.myimage);
Consider next example where
res/values/strings.xml has following definition –
<?xml version=”1.0” encodding=”utf-8”?>
<resources>
<string>Hello, World!</string>
</resources>
you can set the text on a TextView object with ID msg using a resource ID as follows –
TextView msgTextView (TextView) findViewById(R.id.msg);
msgTextView.setText(R.string.hello);
Consider a layout
res/layout/activity_main.xml with the following definition –
<?xml version=”1.0” encodding=”utf-8”?>
<LinearLayout>
<TextView></TextView>
<button></button>
</LinearLayout>
This application code will load this layout for an Activity, in the onCreate() method as follows –
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
Consider the following resource XML
res/values/strings.xml file that includes a color resource and a string resource –
Now you can use these resources in the following layout file to set the text color and text string as follows –
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
<?xml version=”1.0” encodding=”utf-8”?>
<EditText></EditText>
is one screen of the Android app’s user interface
Android activity
may contain one or more activities, meaning one or more screens.
Android app
tarts by showing the main activity, and from there the app may make it possible to open additional activities
Android app
Activity Life Cycle
Created -> Started -> Resumed -> Paused -> Stopped -> Destroyed
Any Android activity goes through a certain ___ during its life inside the Android app
life cycle