This Week’s Links
Fragmented Podcast – Ep #114: Architecture Components with Akshay Chordiya
In this episode Donn (@donnfelker) and Kaushik (@kaushikgopal) talk about the different parts of Android architecture components. They’ve had episodes on Room and the paging library, so in this one, they thought they would touch a little on Lifecycle Owners & Observers, ViewModels, and LiveData. Akshay Chordiya helps break it down. Listen on!
Using TensorFlow on Android — Step by Step Code Explanation
While you might have heard about machine learning or deep learning, most people aren’t really sure how to use it. In a quest to create an app that uses machine learning, Mateusz Budzar discovered TensorFlow. Take a look at what he discovered while learning about the topic.
Testing Android Applications by Killing Them
Testing save and restore is a necessity when developing your application. In this article, learn several ways to test save and restore manually through demonstrations which cause Android to kill the app regardless of memory conditions. While time consuming, testing the included scenarios are mandatory to make apps successful.
The Character of Kotlin: Conciseness
In this series on the characteristics that set Kotlin apart from other languages, this week’s topic is conciseness. Because Kotlin is concise, it creates a powerful structure for things coded in it. Learn more about Kotlin and in this article.
Taming UI tests When Using Multiple Gradle Flavors
Instrumentation/UI testing can be tricky if your app supports multiple flavors and these flavors offer different functionality. In this article learn about the UI tests done to solve this issue.
Using Gradle Build Cache Server
Gradle can save time by reusing outputs from previous executions of a task by matching inputs to the task. Task outputs can be reused between builds on one computer or even between builds running on different computers via a build cache. Since Gradle comes with built-in support for HTTP cache backend, it can be used for sharing results between CI builds. Learn how this translates in to faster builds, faster feedback, and lower costs in this article.
Creating a Library for Android: The Good, the Bad and the Ugly
There are different methods you can follow for the development and distribution of components in the Android ecosystem. This article outlines different methods and give you the arguments to decide which one can adapt better to your particular scenario.
Fragment Espresso Testing With Dagger’s Android Injector
In this post, learn how to test activities if you’re using fragments using Dagger’s AndroidInjector in an Espresso test. Using Fragments might add additional complexity to the test, as always, and you will need to refine the solution in order to test in an Espresso test.
Jobs(these are pulled from Androiddevdigest.com/jobs) Senior Applications Developer at New York Public Library (New York, NY) Need to hire an Android professional? Post a job here |
Improving Stability by Reducing Usage of non-SDK Interfaces
In order to improve the user and developer experience by making those experiences as stable as possible, in Android N, Google restricted the set of symbols that C/C++ code could use. This change ensured that apps using C++ rely on stable NDK interfaces rather than incur the incremental crashes caused by reliance on unstable, non-NDK interfaces. The next release of Android, Google will be expanding these restrictions to cover the Java language interfaces of the SDK.
Develop Bot Integrations with the Hangouts Chat platform and API
With the new features in Hangouts Chat, developers are now able to creat bots to streamline and automate manual tasks and give users new ways to interact with your application. Check out this post for some ideas for developing your own chat bot for Hangouts Chat!
Videos
Caster.IO LiveData with Retrofit
Retrofit is the de-facto library for networking on Android. By default Retrofit returns a Call<T>
but when working with Architecture Components, we require it to return LiveData<T>
type. In this lesson learn how to add LiveDataCallAdapter
and LiveDataCallAdapterFactory
to get LiveData<T>
instead of Call<T>
as return type from Retrofit services and when it’s useful to return LiveData.
Caster.IO Architecture Guidelines
Android Architecture Guidelines are a set of best practices and recommended Architecture pattern by Android Team; on how to build testable and production-quality apps. In this lesson, you’ll learn what are Architecture Guidelines, dive into the recommended Architecture, walk-through the a sample news app using the recommended Architecture, and broadly look how to do testing with Architecture Guidelines.
Open Source
SocialLinkify
For most of our projects we handle multiple social network types, which results in us needing to handle multiple link destinations for @ mentions and Hashtags. For example, if the @Buffer mention is used then this library will allow you to make that a clickable span pointing to either the Buffer Twitter profile, Facebook Page or Instagram profile. The same can be done for Hashtags. Rather than duplicate code across our projects we decided to create a small helper library to separate this from our projects.
Finger
This fingerprint library aims to make the use of fingerprint authentication in your application as simple as possible and is best suited for developers who just want to have to deal with the basic elements.