Monday, 17 November 2014

Android 5.0, Lollipop

A sweet new take on Android

  • Material Design

  • A bold, colorful, and responsive UI design for consistent, intuitive experiences across all your devices
    • Responsive, natural motion, realistic lighting and shadows, and familiar visual elements make it easier to navigate your device
    • Vivid new colors, typography, and edge-to-edge imagery help to focus your attention
  • Notifications

    New ways to control when and how you receive messages - only get interrupted when you want to be
    • View and respond to messages directly from your lock screen. Includes the ability to hide sensitive content for these notifications
    • For fewer disruptions, turn on Priority mode via your device’s volume button so only certain people and notifications get through. Or schedule recurring downtime like 10pm to 8am when only Priority notifications can get through
    • With Lollipop, incoming phone calls won’t interrupt what you’re watching or playing. You can choose to answer the call or just keep doing what you’re doing
    • Control the notifications triggered by your apps; hide sensitive content and prioritize or turn off the app’s notifications entirely
    • More intelligent ranking of notifications based on who they’re from and the type of communication. See all your notifications in one place by tapping the top of the screen
  • Battery

    Power for the long haul
    • A battery saver feature which extends device use by up to 90 mins
    • Estimated time left to fully charge is displayed when your device is plugged in
    • Estimated time left on your device before you need to charge again can now be found in battery settings
  • Security

    Keep your stuff safe and sound
    • New devices come with encryption automatically turned on to help protect data on lost or stolen devices
    • SELinux enforcing for all applications means even better protection against vulnerabilities and malware
    • Use Android Smart Lock to secure your phone or tablet by pairing it with a trusted device like your wearable or even your car
  • Device Sharing

    More flexible sharing with family and friends
    • Multiple users for phones. If you forget your phone, you still can call any of your friends (or access any of your messages, photos etc.) by simply logging into another Android phone running Lollipop. Also perfect for families who want to share a phone, but not their stuff
    • Guest user for phones and tablets means you can lend your device and not your info
    • Screen pinning: pin your screen so another user can access just that content without messing with your other stuff
  • New Quick Settings

    Get to the most frequently used settings with just two swipes down from the top of the screen
    • New handy controls like flashlight, hotspot, screen rotation and cast screen controls
    • Easier on/off toggles for Wi-Fi, Bluetooth, and location
    • Manually adjust your brightness for certain conditions. Then, adaptive brightness will kick in based on ambient lighting
  • Connectivity

    A better internet connection everywhere and more powerful Bluetooth low energy capabilities
    • Improved network handoffs resulting in limited interruption in connectivity. For example, continue your video chat or VoIP calls without interruption as you leave the house and switch from your home Wi-Fi back to cellular
    • Improved network selection logic so that your device connects only if there is a verified internet connection on Wi-Fi
    • Power-efficient scanning for nearby Bluetooth low energy (“BLE”) devices like wearables or beacons
    • New BLE peripheral mode
  • Runtime and Performance

    A faster, smoother and more powerful computing experience
    • ART, an entirely new Android runtime, improves application performance and responsiveness
      • Up to 4x performance improvements
      • Smoother UI for complex, visually rich applications
      • Compacting backgrounded apps and services so you can do more at once
    • Support for 64 bit devices, like the Nexus 9, brings desktop class CPUs to Android
      • Support for 64-bit SoCs using ARM, x86, and MIPS-based cores
      • Shipping 64-bit native apps like Chrome, Gmail, Calendar, Google Play Music, and more
      • Pure Java language apps run as 64-bit apps automatically
  • Media

    Bolder graphics and improved audio, video, and camera capabilities
    • Lower latency audio input ensuring that music and communication applications that have strict delay requirements provide an amazing realtime experience
    • Multi-channel audio stream mixing means professional audio applications can now mix up to eight channels including 5.1 and 7.1 channels
    • USB Audio support means you can plug USB microphones, speakers, and a myriad of other USB audio devices like amplifiers and mixers into your Android device
    • OpenGL ES 3.1 and Android extension pack brings Android to the forefront of mobile graphics putting it on par with desktop and console class performance
    • A range of new professional photography features for Android Lollipop that let you
      • Capture full resolution frames around 30 fps
      • Support raw formats like YUV and Bayer RAW
      • Control capture settings for the sensor, lens, and flash per individual frame
      • Capture metadata like noise models and optical information
    • State of the art video technology with support for HEVC to allow for UHD 4K video playback, tunneled video for high quality video playback on Android TV and improved HLS support for streaming
  • OK Google

    Easy access to information and performing tasks
    • Even if your screen is off, you can say "OK Google" on devices with digital signal processing support such as Nexus 6 and Nexus 9
    • Talk to Google on the go to get quick answers, send a text, get directions and more
  • Android TV

    Support for living room devices
    • User interface adapted for the living room
    • Less browsing, more watching with personalized recommendations for content like movies and TV shows
    • Voice search for Google Play, YouTube and supported apps so you can just say what you want to see
    • Console-style Android gaming on your TV with a gamepad
    • Cast your favorite entertainment apps to your big screen with Google Cast support for Android TV devices
  • Accessibility

    Enhanced low vision and color blind capabilities
    • Boost text contrast or invert colors to improve legibility
    • Adjust display to improve color differentiation
  • Now in 68+ languages

    15 new additions
    • Basque, Bengali, Burmese, Chinese (Hong Kong), Galician, Icelandic, Kannada, Kyrgyz, Macedonian, Malayalam, Marathi, Nepali, Sinhala, Tamil, Telugu
  • Device set up

    Get up and running in no-time
    • Tap & go: instant set up of your new Android phone or tablet by simply tapping it to your old one (requires NFC)
    • Whenever you get a new Android phone or tablet, you can bring over your apps from Google Play automatically from any of your old Android devices
  • And a whole lot more

    • Tap & pay: easily manage multiple payment apps by quickly switching between them
    • Print preview and page range support
    • Revamped display for battery, Bluetooth, data usage, and Wi-Fi settings and new search functionality in settings
    • New device level feedback for Nexus devices in Settings > about phone > send feedback
    • Easier sharing with
      • Improved ranking of your options within the share menu
      • Android Beam: lets you share a file with someone nearby by gently tapping the two devices together
    • Where supported by the hardware, your device will wake up as soon as you pick it up or tap the screen twice
    • Improved hardware keyboard accessory support including support for multilingual, emoji input, search key, and improved app and system key chords

Monday, 9 June 2014

Android Architecture

Android Architecture – The Key Concepts of Android OS

Being an Android user you may know how the basic functions such as making a call, sending a text message, changing the system settings, install or uninstall apps etc. Well! All Android users know these, but not enough for a developer. Then what else details are a developer required to know about Android, I’ll explain. To be a developer, you should know all the key concepts of Android. That is, you should know all the nuts and bolts of Android OS.
Here we start:

Android Architecture Diagram:

Android architecture- Diagram
The above figure shows the diagram of Android Architecture. The Android OS can be referred to as a software stack of different layers, where each layer is a group of sveral  program components. Together it includes operating system, middleware and important applications. Each layer in the architecture provides different services to the layer just above it. We will examine the features of each layer in detail.

Linux Kernel

The basic layer is the Linux kernel. The whole Android OS is built on top of the Linux 2.6 Kernel with some further architectural changes made by Google.  It is this Linux that interacts with the hardware and contains all the essential hardware drivers. Drivers are programs that control and communicate with the hardware. For example, consider the Bluetooth function. All devices has a Bluetooth hardware in it. Therefore the kernel must include a Bluetooth driver to communicate with the Bluetooth hardware.  The Linux kernel also  acts as an abstraction layer between the hardware and other software layers. Android uses the Linux for all its core functionality such as Memory management, process management, networking, security settings etc. As the Android is built on a most popular and proven foundation, it made the porting of Android to variety of hardware, a relatively painless task.

Libraries

The next layer is the Android’s native libraries. It is this layer that enables the device to handle different types of data. These libraries are written in c or c++ language and are specific for a particular hardware.
Some of the important native libraries include the following:
Surface Manager: It is used for compositing window manager with off-screen buffering. Off-screen buffering means you cant directly draw into the screen, but your drawings go to the off-screen buffer. There it is combined with other drawings and form the final screen the user will see. This off screen buffer is the reason behind the transparency of windows.
Media framework: Media framework provides different media codecs allowing the recording and playback of different media formats
SQLite: SQLite is the database engine used in android for data storage purposes
WebKit: It is the browser engine used to display HTML content
OpenGL: Used to render 2D or 3D graphics content to the screen

Android Runtime

Android Runtime consists of Dalvik Virtual machine and Core Java libraries.
Dalvik Virtual Machine
It is a type of JVM used in android devices to run apps and is optimized for low processing power and low memory environments. Unlike the JVM, the Dalvik Virtual Machine doesn’t run .class files, instead it runs .dex files. .dex files are built from .class file at the time of compilation and provides hifger efficiency in low resource environments. The Dalvik VM allows multiple instance of Virtual machine to be created simultaneously providing security, isolation, memory management and threading support. It is developed by Dan Bornstein of Google.
Core Java Libraries
These are different from Java SE and Java ME libraries. However these libraries provides most of the functionalities defined in the Java SE libraries.

Application Framework

These are the blocks that our applications directly interacts with. These programs manage the basic functions of phone like resource management, voice call management etc. As a developer, you just consider these are some basic tools with which we are building our applications.
Important blocks of Application framework are:
Activity Manager: Manages the activity life cycle of applications
Content Providers: Manage the data sharing between applications
Telephony Manager: Manages all voice calls. We use telephony manager if we want to access voice calls in our application.
Location Manager: Location management, using GPS or cell tower
Resource Manager: Manage the various types of resources we use in our Application

Applications

Applications are the top layer in the Android architecture and this is where our applications are gonna fit. Several standard applications comes pre-installed with every device, such as:
  • SMS client app
  • Dialer
  • Web browser
  • Contact manager
As a developer we are able to write an app which replace any existing system app. That is, you are not limited in accessing any particular feature. You are practically limitless and can whatever you want to do with the android (as long as the users of your app permits it). Thus Android is opening endless opportunities to the developer.

Wednesday, 4 June 2014

Android Version history

Android version history

From Krishna sharma

Global Android version distribution since December 2009. As of May 2014, Android 4.x Jelly Bean is the most widely used Android version, operating on around 61% of Android devices worldwide.
The version history of the Android mobile operating system began with the release of the Android beta in November 2007. The first commercial version, Android 1.0, was released in September 2008. Android is under ongoing development by Google and the Open Handset Alliance (OHA), and has seen a number of updates to its base operating system since its initial release.
Since April 2009, Android versions have been developed under a confectionery-themed code name and released in alphabetical order:
  • Cupcake (1.5)
  • Doughnut (1.6)
  • Eclair (2.0–2.1)
  • Froyo (2.2–2.2.3)
  • Gingerbread (2.3–2.3.7)
  • Honeycomb (3.0–3.2.6)
  • Ice Cream Sandwich (4.0–4.0.4)
  • Jelly Bean (4.1–4.3)
  • KitKat (4.4–4.4.3)
On 3 September 2013, Google announced that 1 billion activated devices now use the Android OS worldwide. The most recent major Android update was KitKat 4.4, which was released to commercial devices on 22 November 2013, via an OTA update.

Thursday, 29 May 2014

Android Basic History

Android (operating system)

Android

Android robot.svg

Android.svg

Android 4.4.2.png
Android 4.4.2 home screen
Company / developer Google
Open Handset Alliance
Written in C (core), C++, Java (UI)
OS family Unix-like
Working state Current
Source model Open source and in most devices with proprietary components
Initial release September 23, 2008
Latest release 4.4.2 KitKat / December 9, 2013; 5 months ago
Marketing target Smartphones
Tablet computers
Available in Multi-lingual (46 languages)
Package manager Google Play, APK
Supported platforms 32-bit ARM, MIPS, x86
Kernel type Monolithic (modified Linux kernel)
Userland Bionic libc, mksh shell, native core utilities with a few from NetBSD
Default user interface Graphical (Multi-touch)
License Apache License 2.0
Modified Linux kernel under GNU GPL v2
Official website www.android.com         
Android is an operating system based on the Linux kernel with a user interface based on direct manipulation, designed primarily for touchscreen mobile devices such as smartphones and tablet computers, using touch inputs, that loosely correspond to real-world actions, like swiping, tapping, pinching, and reverse pinching to manipulate on-screen objects, and a virtual keyboard. Despite being primarily designed for touchscreen input, it also has been used in televisions, games consoles, digital cameras, and other electronics.
As of 2011, Android has the largest installed base of any mobile OS and as of 2013, its devices also sell more than Windows, iOS and Mac OS devices combined. As of July 2013 the Google Play store has had over 1 million Android apps published, and over 50 billion apps downloaded. A developer survey conducted in April–May 2013 found that 71% of mobile developers develop for Android.
Android's source code is released by Google under open source licenses, although most Android devices ultimately ship with a combination of open source and proprietary software. Initially developed by Android, Inc., which Google backed financially and later bought in 2005, Android was unveiled in 2007 along with the founding of the Open Handset Alliance—​a consortium of hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices.
Android is popular with technology companies which require a ready-made, low-cost and customizable operating system for high-tech devices. Android's open nature has encouraged a large community of developers and enthusiasts to use the open-source code as a foundation for community-driven projects, which add new features for advanced users or bring Android to devices which were officially released running other operating systems. The operating system's success has made it a target for patent litigation as part of the so-called "smartphone wars" between technology companies.