This Week’s Links
Fragmented Podcast Ep#157: Effective Java Item# 20 – Prefer interfaces to abstract classes
In this episode, Donn (@donnfelker) talks about Item #20 in the Effective Java book (third series) by Joshua Bloch. He discusses why you should think about using interfaces over abstract classes, how they can add mixin like behavior to retrofit existing classes with new behavior, default methods, skeleton implementations and more.
ML Kit expands into NLP with Language Identification and Smart Reply
This week, Google announced the release of two new features to ML Kit: Language Identification and Smart Reply. Both of these features are different from Google’s exisiting APIs, with the goal to offer powerful, but easy to use.
Adding Tools Attributes to Your Toolbox
Android Tools Attributes are a critical element of any well designed app. In this post, take a look at why these attributes are important and how you can apply them to provide design-time hints to Android Studio.
Image Segmentation for Android — Smart Background Replacement with Fritz
In this tutorial, learn to use the Fritz SDK, a mobile machine learning library, to create an app to replace and modify the background of a photo.
(these are pulled from www.androidjobs.io)
Need to hire an Android professional? Post a job here
Android Things is no longer for “Things,” focuses on smart speakers and displays
Android Things, Google’s stripped-down version of Android named for its focus on the “Internet of Things” (IoT), has changed its focus. Now, Android Things is focusing more on Smart Displays and Smart Speakers. Read more about the focus shift in this post.
What is Android Lint and How it Helps Write Maintainable Code
When developers aren’t careful, things can go south quickly. One example is using an API that is incompatible with older versions. That’s where Lint comes in. in this post, read how you can use Android Lint to write maintainable code.
ViewModels: State Persistence — SavedState
For each app that’s launched on an Android device, the system creates a process to run it. When an app is no longer in the foreground, the system doesn’t kill its process, but it keeps it in a -least recently used- cache. But when the system is low on memory, the app is killed and will restart when the user opens it. However, there are times when you’ll want to save the state it was left in. In this post, learn how to use a new library called ViewModel SavedState, which is part of Jetpack and still in alpha.
Caster.io: Introduction to MvRx
MvRx is an Android architecture built on top of Android Jetpack that is designed to make practical Android development easier, faster, and more fun. This lesson will walk through the creation of a simple hello world screen and will introduce you to some common pitfalls and challenges that are involved with Android development that MvRx helps with.
Caster.io: Set up Your Project for MvRx
To begin using MvRx, you must add the dependency to your build.gradle file. Learn what you need to add and how to make sure you have the most up-to-date version.
LookAtMe is an open source android library that easily provides you a VideoView you can use to know if the user is watching or not. This way, you can always know if the user watched the video or not, because if the video was finished, the video was watched.
Calc is a tiny expression calculator developers can use anywhere in their forms, where they expect the user may want to quickly calculate things. Supported opperations include: + add expressions, – subtract expressions or change sign, * multiply expressions, / divide expressions, % get the remainder, ^ calculate power, () group expressions, sin calculate sine (degrees), cos calculate cosine (degrees), and tan calculate tangent (degrees).