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 […]

Final preview of Android 8.1 now available

Posted by Dave Burke, VP of Engineering

Starting today we’re rolling out an update to the Android 8.1 developer preview,
the last before the official launch to consumers in December. Android 8.1 adds
targeted enhancements to the Oreo platform, including optimizations for
Android Go (for devices with 1GB or less of memory) and a
Neural Networks API to accelerate on-device machine
intelligence. We’ve also included a few smaller enhancements to Oreo in response
to user and developer feedback.

If you have a device enrolled in the Android Beta Program, you’ll receive the
update over the next few days. If you haven’t enrolled yet, just visit the Android Beta site to enroll and get the
update.

At the official release in December we’ll bring Android 8.1 to all supported
Pixel and Nexus devices worldwide — including Pixel 2 and Pixel 2
XL
, Pixel, Pixel XL, Pixel C, Nexus 5X, and Nexus 6P. Watch for
announcements soon.

What’s in this update?

This preview update includes near-final Android 8.1 system images for Pixel and
Nexus devices, with official APIs (API level 27), the latest optimizations and
bug fixes, and the November 2017 security patch updates. You can use the images
for compatibility testing or to develop using new Android 8.1 features like the
Neural
Networks API
and others.

The Neural Networks API provides accelerated computation and inference for
on-device machine learning frameworks like TensorFlow Lite — Google’s
cross-platform ML library for mobile — as well as Caffe2 and others. TensorFlow
Lite is now
available to developers
, so visit the TensorFlow
Lite open source repo
for downloads and docs. TensorFlow Lite works with the
Neural Networks API to run models like MobileNets,
Inception v3, and Smart
Reply
efficiently on your mobile device.

Also, for Pixel 2 users, the Android 8.1 update on these devices enables Pixel
Visual Core
— Google’s first custom-designed co-processor for image
processing and ML — through a new developer option. Once enabled, apps using
Android Camera API can capture HDR+ shots through Pixel Visual Core. See the release
notes
for details.

Get your apps ready

With the consumer launch coming in December, it’s
important to test your current app now. This ensures that users transition
seamlessly to Android 8.1 when it arrives on their devices.

Just enroll your eligible device in Android Beta to get the latest update,
then install your app from Google Play and test. If you don’t have a Pixel or
Nexus device, you can set up an Android 8.1 emulator for testing instead. If you
notice any issues, fix them and update your app in Google Play right away —
without changing the app’s platform targeting.

When you’re ready, take advantage of new features and APIs in Android 8.1. See
the developer
preview site
, the API 27 diff
report
, and the updated
API reference
for details.

Speed your development with Android Studio

To build with Android 8.1, we recommend updating to Android
Studio 3.0
, which is now available from the stable
channel
. On top of the new app performance
profiling tools
, support for the Kotlin
programming language
, and Gradle build optimizations, Android Studio 3.0
makes it easier to develop with Android Oreo features like Instant
Apps
, XML
Fonts
, downloadable
fonts
, and adaptive
icons
.

We also recommend updating to the Android
Support Library 27.0.0
, which is available from Google’s
Maven repository
. See the version
notes
for details on what’s new.

Publish your updates to Google Play

Google Play is open for apps compiled against or targeting API 27. When you’re
ready, you can publish your APK updates in your alpha, beta, or production
channels.

To make sure your app runs well on Android 8.1 as well as older versions, we
recommend using Google Play’s beta
testing feature
to run an alpha test on small group of users. Then run a
much open beta test on a much larger group of users. When you’re ready to launch
your update, you can use a staged
rollout
in your production channel. We’re looking forward to seeing your app
updates!

Give us your feedback

As always, your feedback is crucial, so please keep it coming!.
We’ve set up different hotlists where you can report Android
platform issues
, app
compatibility issues
, and third-party
SDKs and tools issues
. We also have a dedicated hotlist for Neural
Networks API issues
.

You can also give us feedback through the Android
Developer community
or Android Beta
community
as we work towards the consumer release in December.

Getting Our Community Help in Real Time

By Guy Rosen, VP of Product Management When someone is expressing thoughts of suicide, it’s important to get them help as quickly as possible. Facebook is a place where friends and family are already connected and we are able to help connect a person in distress with people who can support them. It’s part of […]

CategoriesUncategorized