This Weeks Links
Fragmented Podcast Episode 060: Smoke and Mirror Android UI tricks with Israel
We talk with Android UI magician Israel. In this episode, Israel does what magicians are never supposed to do, reveal those exciting magic tricks. He talks about tricks you can use in your Android apps to create a super slick UI, citing examples from Google Photos, Twitter and other apps. Dazzle your Android users with these UI tricks.
Fragmented Podcast Episode 061: The state of event bus(es) today
The age old question: should I be using an event bus today? What is an event bus? what are still some good use cases for an event bus? Can i replace an event bus with RxJava?
Donn and Kaushik have at it and try to answer this question that gets asked constantly in the AndroidDev circles. Listen on for our take.
Android App Optimization Using ArrayMap and SparseArray
If you attempt to use a HashMap in Android Studio, it will warn you that you should instead use an ArrayMap instead. This article will explore when you should consider using ArrayMap, and take a look at its inner workings.
Unit Testing & Mockito (Part 1 — What & How)
Mockito is an open source testing framework for Java that allows developers to create mock objects for use in automated unit tests.Part 1 of this series takes a look at using Mockito and some of the issues you may encounter using it.
RxJava: Android MVVM App structure with Retrofit
This extensive article will show you how to create an app structure which uses both RxJava and Retrofit.The article focuses primarily on RxJava and provides some useful tips.
Nougat – Messaging Style Notifications
In this series you will look at various aspects of the new features of Android Nougat.This fifth post takes a look at Messaging-style notifications, how they compare to Bundled Notifications and provides an overview of implementation into the app which has been created in the previous posts.
Nougat – Direct Reply
In this series you will look at various aspects of the new features of Android Nougat. In this sixth post looks at Direct Reply, a mechanism which allows users to respond to a message from the notification itself without having to launch the full app.
A new hope for the JVM: Kotlin
Java was released in 1996 by Sun Microsystems. Despite its evolution, it still has some underlying flaws. This article looks at Kotlin, a new programming statically-typed language that also targets the JVM as well as some of the new tools and concepts which help make code safer, cleaner and more readable.
Firebase Storage and Additional Tools
This tutorial takes a look at some of the available tools in Firebase for Android. In this fifth and final part, you will learn about Firebase Storage. The tutorial also briefly explores web hosting and the device test lab.
JobsLooking to hire an Android Dev? Look no further, post your job in the Android Dev Digest for one to four weeks. Reach over 15,000 Android professionals. Learn More |
Now you can use the Bottom Navigation View in the Design Support Library
In March this year, Google officially added Bottom Navigation to Material Design Guidelines and it is now included in the Design Support Library (From version 25.0.0). This article takes a look at the merits of bottom navigation and provides a demonstration of basic usage of the widget.
Customising usage hints for Android TalkBack
Google’s TalkBack service is a helpful way for the vision-impaired to use all of Android’s features. In this post, you’ll learn how to provide usage hints for the visually impaired and customize built-in hints to suit your app.
How to add Gradle dependencies using ‘foreach’
Configuring multiple Gradle files for a large project with more than 1 module can be tiresome. In this post you will learn how to control all modules dependencies using just a single Gradle file and you will be shown a way of keeping the libraries up to date.
Designing something S.O.L.I.D
SOLID is a mnemonic acronym that helps define the five basic object-oriented design principle and is fundamental to what clean code is. However, sometimes explaining what SOLID means is a task in itself. This blog posts provides a visual explanation of SOLID for you.
Do you like to ADB?
This post takes a look at Android Debug Bridge (ADB) and how you can use it to manage the device/emulator that’s paired with your dev environment/system.
Da Real Fragmentation – Alarms
This series explains how alarms and sensors work before looking at how Doze mode affects their normal behavior. This first post in the series provides an analysis of alarms in Android.
Making your application aware with the Awareness API
The Awareness API is a platform to simplify the querying and reacting to commonly needed contextual information.This post introduces the API, how it works and how to get started using it.
Android Wear — Advanced Considerations
This post shares some useful hints & tips on notifications, embedding a project and layouts that should be considered when creating your Android Wear app.
Navigate Quickly
This post shares a couple of useful tips to help you navigate quickly through a project consisting of multiple modules, just as you would with a single level project.
Videos
Caster.IO Lesson Lesson 111: Mockito – Introduction and Integration
This lesson is a demonstration of how to integrate Mockito into an Android Studio project. It informs the user where they can watch to see new releases of Mockito and describes a problem that we’ll use Mockito to solve; how to use Mockito to avoid accessing a real dependency during unit testing.
In this lesson you will learn:
- What Mockito is
- Where to find future Mockito versions as they are released
- How to integrate Mockito using gradle
- Description of the problem we are trying to solve
Caster.IO Lesson 112: Validating Android Subscriptions – Creating a Service Account
Accessing Google APIs and Services from your backend server or web application requires a Service Account. Service accounts are created in the Google Play Developer console, added to your Android application and given authorization within the application console. This is useful for scenarios such as checking subscription status, checking for in-app purchases, and responding to application reviews left by your user community.
In this lesson you will learn:
- How to create a service account
- What to do with the private keys created
- How to authorize it to access subscription information for users of your Android application
- What permissions are required to access financial data
Caster.IO Lesson 113: Writing Your First Unit Test with Mockito
This lesson demonstrates a simple example of using Mockito.mock to produce a stub which can be used instead of the real database dependency.
In this lesson you will learn:
- Creating a mock object using Mockito.mock method
- Recommendation for naming mock objects
- Writing a unit test which expects an exception to be thrown
- Brief summary of anyString() matcher
- Description of default behavior of objects created using Mockito
- Controlling how the mock behaves using the Mockito.when method
Caster.IO Lesson 114: Sketch – Shared Styles
Shared Styles allows you to maintain consistency in your designs. Learn how you can create and maintain them for text and shape layers.
In this lesson you will learn:
- Creating text and shape styles
- Modifying and synchronizing changes to styles
- How to apply Material Guideline Styles
Caster.IO Lesson 115: MockWebServer: Setup for Testing
To test with MockWebServer, you need to set up your app to talk to the real server normally, but switch to MockWebServer during testing.
In this lesson you will learn:
- How to test Retrofit with MockWebServer
- Quick review of how to use OkHttpIdlingResource to wait for Retrofit to complete its network calls
- How to use a custom test runner to instantiate a different Application during test
- How to have the test application return the MockWebServer base url for Retrofit to use
- How to enqueue a response to MockWebServer in your Espresso test
Caster.IO Lesson 116: Creating a Node.js Application to Verify Android In-App Subscription Status
Once the users of your Android application purchase a subscription, it can be helpful to validate a subscription from your backend servers to identify users who have cancelled, are about to expire or who have let their subscription lapse. To do this, you need a Service Account authorized to access Google APIs, you’ll need to create an oauth token for identity, then call the correct API with the right parameters to receive the current subscription status. Fortunately, Google provides multiple client libraries for different platforms to make this easier.
In this lesson you will learn:
- How to install the Google API client in your Node.js application
- Identify the APIs you need to use
- Identify which methods and API endpoints are available
- Create an oauth client in our Node.js application to authorize our request
- Which pieces information are required for the API call and where to find them
- What data is returned in the API call and how to interpret it
Caster.IO Lesson 117: Sketch Symbols
Symbols are a powerful way to create complex design components, then reuse them and modify all instances of them in one go.
In this lesson you will learn:
- What symbols are
- How to create a symbol
- Creating a floating action button symbol
- Modifying a symbol
Open Source
Appbarlayout-spring-behavior
One Behavior help AppBarLayout to scroll spring and with fling fix app bar and fling fix nest scroll view.
Android-complexify
An Android library which makes checking the quality of user’s password a breeze.
Filmy
Awesome material designed movie app powered by tmdb and trakt.
AirCycle
Flexible binding of Android Activity lifecycle callbacks to fields.