Many new updates happened for Android developers lately after Google I/O. Initially there was no restriction on some features but now they have updated them with some restrictions.
We have covered new features and the old features as well with new restrictions.
Here are the old features with new restrictions:
• Background Execution Limits
Whenever an app runs in the background, it consumes some of the device’s limited resources, like RAM. This can result in an impaired user experience, especially if the user is using a resource-intensive app, such as playing a game or watching a video.
To lower the chance of these problems, Android O places limitations on what apps can do while users aren’t directly interacting with them. Apps are restricted in two ways:
Background Service Limitations: When an app’s service is running in the background might consume device resources which may lead to bad user experience, to avoid these type of issues Android system applies a number of limitations on background services, this does not apply to foreground services, which are more noticeable to the user.
Broadcast Limitations: Apps targeted Android O can not use their manifest to register for implicit broadcasts. They can still register for these broadcasts at runtime, and they can use the manifest to register for explicit broadcasts targeted specifically at their app.
Note: The restrictions are applied by default applied to apps which are targeting Android O and in terms of other applications users can enable these restrictions from the Settings screen even if the app has not targeted Android O.
• Android Background Location Limits
Considering battery usage and user experience , background apps which are using Android locations APIs to fetch the user’s location will receive location updates less frequently when the app is being used in a device running Android O, developers who are using Fused Location Provider (FLP), Geofencing, GNSS Measurements, Location Manager, Wi-Fi Manager will get affected by this change.
• Notifications
-
Notification Badges
Notification Badges are the new way of notifying users regarding the new notifications arrived for a particular app, this will display badges on app icons in supported launchers which show notifications associated with one or more notification channels in an app, which the user has not yet dismissed or acted on.
-
Notification Channels
Using Notification channels developers can group their application’s notifications by category so that the user can apply few characteristics basing on the notification category. When you target Android O, you must implement one or more notification channels to display notifications to your users. If you don’t target Android O, your apps behave the same as they do on Android 7.0 when running on Android O devices.
Google says that the following characteristics can be applied to notification channels and that when the user assigns one of these, it will be applied channel- wide and they are as follows
- Importance
- Sound
- Lights
- Vibration
- Show on lock screen
- Override do not disturb
Here are some new features:
• New in UI and Styling
There are bunch of new features of UI and Styling are introduced in Android O and are as follows
1. Fonts
Android introduced fonts in XML through which we can use custom fonts as resources, You can add your custom font file in res/font/ folder to bundle fonts as resources and can access as a normal resource file and Android Support Library 26 introduce support for APIs to request fonts from a provider application instead of bundling files into your project which helps in reducing your application size
To use these font features on devices running Android API version 14 and higher, a developer needs to use the Support Library 26.
2. Auto Sizing Textviews
By using Support Library 26 Beta developers can now instruct to their app’s Textview to automatically increase or decrease the size to fit perfectly within the boundaries of the Textview.
3. Adaptive Icons
Adaptive icons can display app’s launcher icons in a variety of shapes across different devices for instance in Google Nexus the launcher icon might be in circular and in some Samsung device it might be squircle. Google says that with Android O, each device can provide a mask for the icon, which the OS can use to render all icons with the same shape. This will likely be embraced by OEMs(Original Equipment Manufacturer) who would like to have some unique looking home screens.
4. Autofill Framework
This framework will help the user by pre-filling the user information and user can save time as Filling out forms is a time-consuming and error-prone task. Users can easily get frustrated with apps that require these type of tasks. The Autofill Framework improves the user experience by providing the following benefits:
Less time spent in filling fields Autofill saves users from re-typing information.
Minimize user input errors Typing is prone to errors, especially on mobile devices. Removing the necessity of typing information also removes the errors that come with it.
• Picture in Picture Mode
In Android 7.0, Android TV users can now watch a video in a pinned window in a corner of the screen when navigating within or between apps whereas it was not available to other devices whereas from Android O Picture in Picture is available to all the devices, not just the Android TV.
• Kotlin For Android
Java is the mostly used programming language for the development of Android, When you run a Java application, the app is compiled into a set of instructions called Bytecode and runs in a virtual machine. Many alternative Languages has been introduced to also run on the JVM through which the resulting app looks the same for the JVM
JetBrains, known for IntelliJ IDEA (Android Studio is based on IntelliJ), has introduced the Kotlin language.Kotlin is a statically-typed programming language that runs on the JVM. It can also be compiled to JavaScript source code.
Why Kotlin For Android?
- Interoperability with Java
- Intuitive and easy to read
- Good Android Studio Support
- Safe to avoid entire classes of errors such as null pointer exceptions.
- Less to write compared to Java
- Safe to avoid entire classes of errors such as null pointer exceptions.
- Versatile for building server-side applications, Android apps or frontend code running in the browser.
Stay tuned for more new updates on Android.
Check out these articles to catch the latest trends in mobile apps:
Knowledge thats worth delivered in your inbox