Friday, August 28, 2015

The Evaluation of Android API levels

In the search of knowledge in android, I had this worrying question on my mind for a while. That is what are the significant highlights in android API levels and how could they impact to my development. So I search through the internet and found valuable information on android site. But it takes some time to read all these changes so I thought I need to summarize those changes so one can get a bird view on this.(Actually I have listed what I think as important. So I didn’t listed all the changes. Go to this link and you will find all the changes.)


Platform version
API Level
New Additions
Android 1.0
1
Begin of a new era
2
      For T-Mobile G1
3
Cupcake
      SlidingDrawer / HorizontalScrollView
      OnScreen soft keyboard
      Speech recognition via RecognizerIntent
      LocationManager - Applications can get location change updates via Intent
      WebView - Touch start/end/move/cancel DOM event support
      Redesigned Sensor Manager APIs
      GLSurfaceView - convenience framework for creating OpenGL  applications
      Broadcast Intent for app update install succeeded - for smoother app  upgrade experience

4
Donut
      New android.view.animation
      Quick Search Box
      New gesture API
      New android.speech.tts
      New SmsManager
      New DisplayMetrics
      New <supports-screens>
      New <uses-feature> 
      Battery usage indicator
      updated OpenCore 2 media engine
5
Eclair
      ANT support
      New APIs for sync adapters
      Bluetooth Support
      Live Wallpapers
8
Froyo
      android:installLocation install app in external storage
      New android:backupAgent
      generalized backup service on Cloud
      New OpenGL ES 2.0
      Dalvik JIT compiler
      Portable hotspot
      V8 JavaScript engine
      New UI modes "car mode" and "night mode" 
      New ScaleGestureDetector
      The layout attribute fill_parent is renamed to match_parent
      android.permission.SET_TIME — allows an application to set the system time.

9
Gingerbread
      SIP based VOIP android.net.sip (Internet Calling)
      NFC (Near Field Communication)
      gyroscope, rotation vector, linear acceleration, gravity, and barometer
      Multiple cameras support by Camera API 
      New DownloadManager system service
      New  system facility StrictMode
      Support for overscroll
      Text selection controls
      Notification text and icon styles(New TextAppearance.StatusBar.EventContent, TextAppearance.StatusBar.EventContent.Title,TextAppearance.StatusBar.Icon, and TextAppearance.StatusBar.Title)
      supports extra-large screen sizes
      New AlarmClock
      New  Criteria class
      New  StorageManager
10
Gingerbread


      NFC upgrades
11
Honeycomb
      Introducing Fragments
      An application will crash if it does not call through to the super implementation of its Activity.onPause() method.
      Action bar instead of tittle bar
      Support for multi core architecture
      Loader: A framework component that facilitates asynchronous loading of data in combination with UI components to dynamically load data without blocking the main thread. See the Loaders developer guide
      Drag and drop functionality
      HTTP live streaming
      support for Media/Picture Transfer Protocol (MTP/PTP) over USB
      System clipboard
      JsonReader and JsonWriter
      Media sync from SD card
12
Honeycomb
      Exposes an API to its built-in RTP (Real-time Transport Protocol) stack
      homescreen widgets resizeable
      New  LruCache class
      USB APIs
      MTP/PTP APIs

13
Honeycomb
      New resource qualifiers(sw320dp, sw720dp, w720dp, h1024dp)
      tabs are typically presented in the UI using the new ActionBar.newTab()
14
Ice Cream Sandwitch
      Social APIs in contacts provider
      New user profile
      Contact usage feedback
      New calendar API to change data which are stored in Calendar Provider
      New Voicemail Provider
      Camera class now includes APIs for detecting faces and controlling focus and metering areas
      Android Beam
      Wi-Fi peer-to-peer (P2P) connections
      Explore-by-touch mode
      New  VpnService
      New  view group GridLayout
      New  view TextureView
      Navigation bar
      Updated V8 JavaScript compiler
15
Ice Cream Sandwitch
      social stream API in contacts provider
16
Jelly bean
      Isolated services android:isolatedProcess="true" 
      New getMyMemoryState(ActivityManager.RunningAppProcessInfo)
      New intent protocol to directly launch the live wallpaper
      App stack navigation using android:parentActivityName
      The AudioEffect class now supports additional audio pre-processing types when capturing audio
      Android Beam™ now supports large payload transfers over Bluetooth
      The new InputManager class allows you to query the set of input devices
      Extends vsync timing across all drawing and animation done by the Android framework
      Expandable Notification
      Lights out and full screen mode
17
Jelly bean
      Daydream 
      Allows users to add app widgets to the lock screen
      Multiple user spaces on shareable devices such as tablets
      Right-to-left (RTL) UIs and reading direction, such as Arabic and Hebrew
      Nested fragments. Nested fragments are only supported when added to a fragment dynamically
      Renderscript Compute which is the first computation platform ported to run directly on a mobile device GPU
      Wireless display solution that complies with the Miracast
      HDR camera scene mode

18
Jelly bean
      Behavioral changes( load an intent in a different user profile)
      Java interfaces and native support for OpenGL ES 3.0.
      Mipmapping for drawables.
      ViewOverlay class
      Optical background layouts for 9 patch images.
      New rotationAnimation field in WindowManager while screen rotation
      New service class, NotificationListenerService 
      The Trace class
      Android sandbox reinforced with SELinux
      Keystore provider and APIs that allow applications to create exclusive-use keys

19
KitKat
      WebView support for new HTML5 features, and support for remote debugging
      New android.print framework
      The Telephony content provider (the "SMS Provider") allows apps to read and write SMS and MMS messages on the device
      Host card emulation (emulates NFC cards for data exchange)
      New NFC reader mode
      Rate the current track from the remote controller
      New android.transition framework facilitate animations between different states of your user interface
      Built-in step sensors
      System bars partially translucent with new themes, Theme.Holo.NoActionBar.TranslucentDecorand Theme.Holo.Light.NoActionBar.TranslucentDecor.
      In WebView, apps targeting earlier versions will have JS URLs evaluated directly and any result of the evaluation will not replace the current page content. Apps targetting KITKAT or later that load a JS URL will have the result of that URL replace the content of the current page
      New API, ActivityManager.isLowRamDevice(), lets you tune your app's behavior to match the device's memory configuration.
      A new storage access framework
      Full screen immersive mode
      A new tool called procstats helps you analyze the memory resources your app uses
Android 4.4W

      For Android Wear(Android watch)
21
Lollipop
      Material Design
      Screen capturing and screen sharing capabilities with android.media.projection APIs
      Java interfaces and native support for OpenGL ES 3.1.
      New android.hardware.camera2 API to facilitate fine-grain photo capture and image processing
      Act as a Bluetooth LE peripheral device
      improvements in battery life.(project volta)
      new JobScheduler API that lets you optimize battery life by defining jobs for the system to run asynchronously at a later time or under specified conditions (such as when the device is charging)
      New screen pinning API
      Render PDF document pages into bitmap images for printing by using the new PdfRenderer class
      New ART runtime to support a mix of ahead-of-time (AOT), just-in-time (JIT), and interpreted code
      platform support for 64-bit architectures(Nexus 9's NVIDIA Tegra K1)
      New  tilt detector and a heart rate sensor
22
Lollipop
      Multiple SIM card support
Android 6.0
23
M
      App linking
      Automatic full data backup and restore for apps.
      Authenticate users by using fingerprint scans on supported devices
      Support for the Hotspot 2.0 Release 1 spec on Nexus 6 and Nexus 9 devices





So This only a small summary on Android API levels. Hope this may help to someone. :-)