This Week’s Links
Fast Pair Update
Last year we announced Fast Pair, a set of specs that make it easier to connect Bluetooth headsets and speakers to Android devices. This week, Google announced that they’re making it easier for people to connect Fast Pair compatible accessories to devices associated with the same Google Account.
Android ContraintLayout 2.0: ConstraintLayoutStates
With the introduction of ConstraintLayout 2.0, there is an interesting new feature called
ConstraintLayoutStates. ConstraintLayoutStates allows you to create a layout with different states and switch between them easily. In this post, read about a clean way to switch between these different states.
VSCode New File Shortcut Stops Working
In this post, Donn talks about how his VS Code started reporting this error recently any time he pressed CMD+N (New File). If shortcut keys stop working, read about Donn’s solution.
Introduction to Fairness in Machine Learning
A few months ago, Google announced our AI Principles, a set of commitments we are upholding to guide our work in artificial intelligence (AI) going forward. To help practitioners take on the challenge of building fairer and more inclusive AI systems, Google developed a short, self-study training module on fairness in machine learning.
Fully Automated Continuous Deployment on Android with Bitrise
Deploying mobile applications tends to be a fairly different process than when it comes to web applications. On the web we can push updates and fixes regularly without the concern of versioning, and at the same time our users can access these changes almost instantly from within their browser. While you can automate updates, there are a number of different things to think about when it comes to the automatic deployment of mobile applications from a third-party service.
A Guide to Object Detection with Fritz: Build a Pet Monitoring App in Android with Machine Learning
Whether it is detecting plant damage for farmers, tracking vehicles on the road, or monitoring your pets — the applications for object detection are endless. In this post, learn how you can use real-time object detection to create an app that detects and recognizes pets — all in less than 30 minutes using the Fritz SDK.
Write an Android Studio Plugin Part 2: Persisting data
In the second part of a two part series, this article looks at how create a very basic plugin for Android Studio and we wrote our first action. In today’s article learn how persist data in your plugin.
Client-Generated IDs vs. Server-Generated IDs
After giving a talk at software development conference and making a serious mistake when answering one of the follow-up questions, this post was written to go as deep as the author can into the world of identifiers, unique identifiers and the trade-offs between client-generated and server-generated identifiers.
Constraint Layout Performance
Many of developers use Constraint Layout in each possible view, but this is a mistake in a few aspects. In this article compare Constraint Layout with others layouts and when you’d better use specific layout.
Caster.io: Build a Google Assistant App with DialogFlow: Detecting, interacting and sending conversations between surfaces using Firebase Cloud Functions and DialogFlow
There are more than 500 million devices that support the Google assistant. However, not all of them are the same, some don’t have screens, others don’t have audio, etc.For a really responsive action, you need to make sure your action supports the highest percentage of devices but also uses the maximum of the capabilities of each one. For those cases, its necessary to check the capability of the surface where the action has been triggered and return a response that is valid for that surface, or request from the user to send the conversation to a device that supports that required capability
Caster.io: Build a Google Assistant App with DialogFlow: Reading the stored data in the user storage using Firebase Cloud Functions and DialogFlow
During a conversation with your action, you can temporarily store the data in the conversationToken. For the Node.js client, the token can easily be accessed from the
conv.data object. This allows the developer to retain data between intents. To store data between conversations you can use the userStorage. However, to store the data you need to ask for consent from the user. Once granted the data can be retrieved in a new conversation.
Oboe is a C++ library which makes it easy to build high-performance audio apps on Android. It was created primarily to allow developers to target a simplified API that works across multiple API levels back to API level 16 (Jelly Bean).
A powerful, dynamic, and fun theme engine. Named after Octopus Cyanea which is adept at camouflage and not only can change color frequently, but can also change the patterns on and texture of its skin.