Affiliate links on Android Authority may earn us a commission. Learn more.
Google I/O 2015 review for Android Developers
Google I/O 2015 has come and gone, and as expected, left us with a ton of exciting new features, announcements and products, from the entirety of the Googleplex, including Android, Chrome, Search and ATAP. There is a lot of information from this years conference, and we have sifted through this information avalanche, and filtered out the most important stuff for Android Developers.
We will dive deeper into many of these technologies in the coming weeks. At the barest minimum, Android developers should watch the I/O 2015 Keynote, What’s new in Android and What’s new in Android Developer Tools videos. They all contain vital information regarding currently available and upcoming features.
Without further ado, some of the most important announcements in I/O 2015 for Android developers include:
Android Studio 1.3
- NDK C/C++ Support. Complete support provided for C/C++ code, including syntax highlighting, code linking and more.
- New simultaneous visual layout builder and layout editor. While editing a layout xml file, the “Preview” image now also doubles as a visual layout editor.
- Improved gradle build performance. We were shown scenarios, where the time spent in a gradle build was halved, from 10.2 secs to 5.0 secs in one test, and from 54 secs to 5.9 secs in another.
- Use of Vector images (.svg) when developing/designing, and the IDE would automatically generate bitmap images for all the different resolutions on build.
Android Design Support Library
App Permissions
Full App backup
Currently, app developers can backup user data through Google Cloud services. However, the app developer has to write the code that persists and retrieves the user data. This means that when a user installs your app on a new device, he must start-up your app, and login, before your app fetches the saved data. With full backup however, the backup and restore of user data is done automatically. If the user installs your app on another device, app data is synchronized automatically, and should be available to the user immediately he opens the app. Nifty. Of course, the app developer can specify what files and folders should be backed up, using include (or exclude) tags in the AndroidManifest.xml, but that is all. To take advantage of this, the app must also be built with the “targetSdkVersion” set to 23(Android M). More information is available on the Android Developer site.
Multiple Device testing with Cloud Test Lab
App Invites
New API that helps users share apps/invite other users to use an app. This is great news for developers, since it helps users share your app via word of mouth with specific other users (their friends, family or colleagues that they expect will like the app). The invites are sent either over SMS or email, with a direct install button. There is a website with detailed instructions and sample code.
DataBindings
This is one of those tools that’s really difficult to explain. You have to see it in action to actually appreciate its brilliance and potential usefulness.
At its most basic, this is a method that helps bind data in an application to specific views in a layout file. For example, if you have a class called User, that has constants firstName and lastName. You could have two TextViews in your layout, called firstNameView and lastNameView, that display the corresponding User values. With data binding, you can describe this relationship in the layout xml file.
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable name="user" type="com.example.User"/>
</data>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{user.firstName}"/>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{user.lastName}"/>
</LinearLayout>
</layout>
This is a support library, and would be available to all Android versions from 2.1 upwards. It is still very much experimental, and there is a guide available
Google Cloud Messaging 3.0
Honourable Mentions
Some other exciting stories from I/O include
- Now on tap and App Indexing – App Indexing helps you get your app found in Google Search, while Now on tap is Google Now with contextual awareness.
- Voice interactions – Now your app can interact more fully with the user when making voice commands, by asking for confirmations/clarifications and more
- Fingerprints API – Can verify a user through fingerprint, with the UI completely controlled by your app. Your app can also present a lock screen to the user, forcing him/her to unlock the device before continued use (actually available in Lollipop). Sample FingerprintDialog and ConfirmCredential code available on github.
- App Linking – Enable your app automatically be launched by default for web domains that you own/control. More information available on the M Preview website.
- New developer guides/tutorials – There is a new developer tutorial series/channel/community available containing best practices, guides and correct ways of implementing many Android APIs.
Many of the I/O sessions and talks are available on the Google Developers youtube channel. Be sure to check them out for more information. Also, get started developing for Android M, with the developer preview
We will be running more in-depth articles in the coming weeks, discussing these new features in detail, including howtos and tutorials. Do you feel we left out any vital Android developer announcements? Share with the community using the comments section below.