Skip to main content

Android O New Features Overview

This post assumes, you are an experienced developer who wants to get started with the latest version of Android.

Android O is not a huge update to the OS and application framework like M but it still has many useful features for both developer and an user.

Android O has focus on below areas.
  • Notification redesigned
  • Picture-in-Picture(PIP) 
  • Visual adaption for different devices 
  • Battery life improved
  • Setting app reorganized
Notification redesigned:
Android O notification changes includes more easy and manageable way to manager your notification behavior and settings. It includes:
  • Notification Channel: Notification channel allows you to create user customizable channel for each type of notification you wanna display. A single application can have multiple channel, a separate channel for each type of notification you wanna display. Having said this, you can create s separate channel for audio & image notification. User can disable specific notification channel instead of disabling all notification for the app.
  • Notification Badges: Android O provides support for displaying notification badge on application icon. Notification badge contains all the notification for which user has not reacted yet. User can long press on the icon to show all the notifications.
  • Notification Timeout: You can set a timeout in a notification by using setTimeoutAfter() method.
Apart from all this Android O has added few more notification features like notification can be smoozed, dismisable listener(by this now you can get listener of whether user has dismissed notification or it's been removed by system) and it proves more styling support for notification.

Picture-in-Picture(PIP): PIP is a type of multi-window mode. This allows you to show kind of video which you playing with the media player component and show it in a small corner of the screen, rest of the screen is in active, user can navigate between apps whilst video will keep running. 

Visual adaption for different devices:
Adaptive launcher icon feature allows to display a verity of shapes across different devices. Having said this, an adaptive launcher icon can display a round shape on OEM devices whilst a rectangle shape on other devices.

To create adaptive icon in xml, you need to create a drawable files and use below codes

    <background android:drawable="@color/ic_background"/>
    <foreground android:drawable="@mipmap/ic_foreground"/>

Now you need to use this resource in AndroidManifest.xml inside application roundIcon properties.


Battery Life: One of the most important focus of Android O feature is Battery Life. In this version Google has targeted background services. Earlier we could setup a background services for listening for system broadcast messages. Now you need to use JobScheduler API for these kind of task. you now don't need to listening for the message constantly instead jobScheduler will be fire on periodically.

Setting app reorganized: Setting app has been reorganized. There is new suggestion section at the top of the Setting app where popular setting appears.


Popular posts from this blog

Display video from specific folder with rounded shape thumbnail

Hi friends ,This is complete post, about how to display video form specific folder and display it with rounded shape and play it on click event. For Rounded shape I have used custom ImageView.
Now have a look on code part.
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android=""
    android:stretchMode="columnWidth" >

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=""

Custom Android SeekBar Developement

Before starting coding for Custom SeekBar,You must have good concept of following topics. 1.Layer List 2.Animation List 3.Selector Layer List:A LayerDrawableis a drawable object that manages an array of other drawables. Each drawable in the list is drawn in the order of the list—the last drawable in the list is drawn on top.
<layer-listxmlns:android=""> <item android:id="@android:id/background" android:drawable="@drawable/seekbar_total"/> <itemandroid:id="@android:id/secondaryProgress"> <clipandroid:drawable="@drawable/seekbar_buffer"/> </item> <itemandroid:id="@android:id/progress"> <clipandroid:drawable="@drawable/seekbar_played"/> </item> </layer-list> Animation List:A AnimationDrawable is a drawable object that is used to create frame-by-frame animation.It's oneshotelement should be true if u want loop animation otherwise false.

Custom Volley-Gson request implementation

This page covers Volley-Gson integration and also Volley custom Request. We assume that, you are familiar with Volley and Gson.

Volley has some inbuilt request which you can use, if your response is a String, Image, or JSON, in that case, you don't need to implement a custom Request.  To use Gson with Volley, we need to implement a custom request.
To make a custom request, you need to perform following operation.
Extend Request<T> class, where T is the type of parsed response or expected response. Implement the abstract methods parseNetworkResponse() and deliverResponse().  parseNetworkResponse:  A response contains parse response of a given type i.e Gson.

    protected Response<T> parseNetworkResponse(NetworkResponse response) {
        try {
            String json = new String(
          , HttpHeaderParser.parseCharset(response.headers));
            if (BuildConfig.IS_DEBUG)
                Log.d(TAG, "Response :: " + …