Android Things Developer Preview 6

Posted by Wayne Piekarski,
Developer Advocate for IoT

The next release of Android Things Developer Preview 6 (DP6) is here with lots
of new features and bug fixes. Android Things is Google’s platform that enables
Android Developers to create Internet of Things (IoT) devices with support for
powerful applications such as video and audio processing and on-board machine
learning with TensorFlow. For the specifics on what is new, visit the release
notes
. Here are a few of the highlights of what is in DP6.

IoT launcher

DP6 includes a new IoT launcher that allows the user to see the current state of
the device and change settings using a touch screen or USB input devices.
Settings such as configuring the WiFi, finding the build ID, and checking for
updates is now something that can be done interactively, making it even easier
to get started. This launcher is visible when no other developer-provided IOT_LAUNCHER
Activity is present.

Graphics acceleration defaults

Android Things uses the open-source SwiftShader library, a
CPU-based implementation of the OpenGL ES APIs. This enables common OpenGL
support across all platforms, even those with no GPU hardware. However, many
simple 2D UIs render faster if the drawing is done directly to the framebuffer
and OpenGL emulation is not used. In DP6, OpenGL rendering is disabled by
default to ensure that most apps run with the fastest UI possible. If you need
OpenGL support for 3D rendering, WebView, or TextureView, then explicitly enable
it in your AndroidManifest.xml according to the documentation:

<activity

    ...
    android:hardwareAccelerated="true">

API 27 and Google Play Services

DP6 is now based on the latest Android 8.1 developer preview, with API level 27.
Most of the standard Android samples now work on DP6. For example, the Camera2Basic
sample using the Camera2 API and TextureView now works on both NXP and Raspberry
Pi based devices (with the hardwareAccelerated flag set to true). Google Play
Services has been updated to support SDK version 11.6, supporting all the latest
features
.

Command-line flashing tool

We heard from developers that flashing and configuring a board using fastboot
can be tedious, so the Android Things
Console
now brings a new and simpler way of flashing device images. Instead
of using fastboot and adb commands manually, a new interactive command-line
android-things-setup-utility
is now provided. This tool makes it much easier to get started with Android
Things, and automates the download and flashing process.

Android Things Console updates

DP6 introduces the new partition scheme that will be used for the upcoming
production release. Due to the new partition layout, the over-the-air update
(OTA) system cannot update existing DP5.1 or earlier devices. Developers will
need to go to the Android
Things Console
, and download and flash a new DP6 build. The Console UI has
also been changed for DP6 features, and will only allow you to create new builds
based on DP6. If you have any older existing builds, they are still available
for download but will not support OTA updates. Developers are encouraged to move
all work to DP6.

GPIO pin naming

The interactive IoT launcher shown at boot now includes an I/O pinout section
where you can discover the labels of all the pins. The pin naming used by the
i.MX7 has been changed, and you should update your code to use this new naming
convention. See the i.MX7
documentation
for the complete list of pin names.

Settings and Device Update APIs

New APIs have been added to Android Things that control the configuration
of the local device and device updates. UpdateManager
gives developers control over when updates and reboots can be performed,
ensuring the device is available for the user when needed. DeviceManager
controls factory reset, reboot, and device locales. APIs are also provided for
settings such as ScreenManager
to control the screen, and TimeManager
to control the clock and time zone.

Peripheral command-line tool

We now provide a command-line tool pio
that gives developers access to the Peripheral API via the adb shell. Developers
can interactively test GPIO, PWM, UART, I2C, SPI, and future interfaces from an
adb shell, which is useful for debugging and automated testing.

Feedback

DP6 includes significant changes and improvements to the platform. Please send
us your feedback by filing bug
reports
and feature
requests
, as well as asking any questions on Stack
Overflow
. To start using DP6, use the Android Things Console to
download system images and flash existing devices, or use the android-things-setup-utility.
More information about the changes are available in the release
notes
. You can also join Google’s IoT
Developers Community
on Google+, a great resource to get updates and discuss
ideas. Also, we have our new hackster.io
community
, where everyone can share the amazing projects they have built. We
look forward to seeing what you build with Android Things!

Innovation often comes from the heart of America

In 1882, by dint of hard work and partnership, electricity reached the Appleton Paper and Pulp Company in Appleton, Wisconsin, nine years before electricity would light up the nation’s White House. Company executive Henry J. Rogers and his colleagues had managed the seemingly impossible, using technology and innovation to harness the Fox River’s turbulent waters,…

The post Innovation often comes from the heart of America appeared first on The Official Microsoft Blog.

Facebook Social Good Forum: Announcing New Tools and Initiatives for Communities to Help Each Other

By Naomi Gleit, VP Social Good Today at the second annual Social Good Forum, we announced new tools and initiatives to help people keep each other safe and supported on Facebook. Mentorship and Support, a new product where mentees and mentors come together to connect and interact directly with each other and progress through a […]

Investing to grow right here at home

At a time when space is at a premium and many companies are looking for room to grow, we recognize that our 500-acre campus in Redmond, Washington, is a unique asset. Neighboring a vibrant urban core, suburban towns, lakes, mountains and miles of forest, it’s one of Microsoft’s crown jewels. And as we continue to…

The post Investing to grow right here at home appeared first on The Official Microsoft Blog.

Microsoft builds and integrates Azure Location Based Services directly into the cloud

Microsoft believes that advances in technology will solve many of the problems created in the industrial era and help make society safer, more sustainable, efficient and inclusive. For example, as enterprises harness the power of the Internet of Things (IoT) to connect their physical assets to the cloud, they are dramatically reducing energy usage and…

The post Microsoft builds and integrates Azure Location Based Services directly into the cloud appeared first on The Official Microsoft Blog.

Delve deeper into Android development with our new course!

Posted by Jocelyn Becker, Senior Program Manager, Google Developer Training

If you know the basics of building Android apps and want to delve deeper, take a
look at our new Advanced
Android Development
course built by the Google Developers Training team.

Do you want to learn how to use fragments, add widgets for your app, and fine
tune your app’s performance? Make your app available to a diverse user base
through localization and accessibility features? Use sensors in your app? How
about creating custom views, drawing directly to the screen and running
animations?

Each lesson in our new course takes you through building an app that illustrates
an advanced concept, from incorporating maps into your app to using a
SurfaceView to draw outside the main UI thread.

This course is intended for experienced Java programmers who already know the
fundamentals of building Android apps. It is a follow-on course to our Android
Developer Fundamentals
course. The course is intended to be taught as
instructor-led training. However, all the materials are published online and are
available to anyone who wants to learn more advanced concepts of Android
development.

We have published detailed written tutorials,
concept
guides
, slide decks, and most importantly, a treasure trove of apps in
GitHub
. You can find links to everything at developers.google.com/training/android-advanced.

Educational institutions worldwide are invited to use this course to teach your
students. Individual developers are welcome (and encouraged) to work through the
tutorials to learn on their own.

Each lesson presents a different, advanced topic, and you can teach or learn
each topic independently of the others.

Build apps as you learn how to use sensors, add places to your app, and draw
directly to a canvas. And much more!

The new course covers:

  • using fragments
  • building widgets
  • using sensors
  • measuring and improving application performance
  • localizing your app
  • making your app accessible
  • adding location, places and maps to your apps
  • creating custom views
  • drawing to the canvas
  • drawing to a SurfaceView off the main thread
  • running animations

Learn more at developers.google.com/training/android-advanced.

The Mythical UX Designer – Five Common Misconceptions

Exploring the truth about the type of people who do UX. Ah, the UX designer. A mythical figure in high demand these days. Sought after for their skills in empathizing with customers, designing digital products that people love, and their peculiar love of collaboration. Their natural habitat is anywhere there are interfaces to problem solve […]