This Weeks Links
Our experiment building a Multiselection Solution for Android in Kotlin
In this article you will learn how to create a multiselection solution by dividing the screen into two sections without leaving the current view of what you have previously selected.
Restoring state in Android MVP architecture
Implementing state restoration when using MVP architecture can be difficult and you may encounter a few issues. This article will help you overcome some of those problems by teaching you about stateful presenters.
RxJava 2: Android MVVM Lifecycle App Structure with Retrofit 2
In this article, Manuel Vicente Vivo, will teach you how to use RxJava 2 within a MVVM structure using Retrofit. You will also be provided with some tips to help you improve your app performance using Network Requests to respond the View’s lifecycle.
Android/iOS cross-platform project setup
Using a single repository facilitates cross-platform collaboration, improving code quality and potentially providing an increased shared understanding. In this post, Francesco Pontillo, shares how and why Novoda decided to move toward a single repository that contains both Android and iOS projects and the lessons learnt along the way
Unicode is an international encoding standard by which each letter, digit, or symbol is assigned a unique numeric value. In this post, Nosa Belvi, introduces the UnicodeNames library which categorizes unicode and enables easy referencing.
How to create Snapchat-like stickers for Android
In this article you’ll learn how to add the ability to move, scale and rotate stickers on your Android app. This will enhance your user’s experience by providing them with a neat way to create fancy selfies.
Bottom navigation bars are now officially part of the material design guidelines. BottomNavigationView provides a simple way to implement the bottom navigation bar pattern and in this post, you will learn how to get started with this new control.
Learn to create a Magnetometer Metal Detector on Android
In this tutorial, you are going to learn how to create an app that will take advantage of the magnetic field sensor included in most new Android phones, transforming them into a Magnetometer Metal Detector.
Glass of RxJava
Functional Reactive Programming can be hard, RxJava is no exception. This series will help you make sense of everything and get started with RxJava. The first article will introduce you to Observable and Subscriber mechanisms as it walks you through your first Hello RxJava program.
Starting with RxJava is (not) Hard!
Another post to help you get started with RxJava. This post is from Aitor Viana and takes a look at creating observables, subscribing to that observable, Operators and Schedulers.
Why you must try Kotlin for Android Development
In this post, Amit Shekhar, takes a look into the benefits of Kotlin. The post take a special interest in null reference safety measures & Interoperability.
The key concepts of app tracking for developers
In this blog post Sergii Zhuk will guide you through the key principles mobile analytics, more specifically the process behind it , application tracking. You will explore why tracking is needed, which tools to use, common design patterns / their challenges and more.
DevOps sur Android : from one git push to a Play Store release
These slides go along with the youtube link by the same name in this week’s video section. In this talk from Jeremie Martinez, we will see how we can re-use the DevOps methodology in an Android context.
Caster.IO Lesson 123: MockWebServer – Dispatcher
Enqueue is an easy way to tell MockWebServer what to return when it gets a request. However, when the incoming requests are not in a deterministic order, or when you want to derive the response based on the request, you will need to write custom logic with Dispatcher.
In this lesson you will learn:
- What happens when you try to enqueue responses for the order of incoming requests are not deterministic.
- How to set up a Dispatcher for MockWebServer
- How to derive a response from the request in the Dispatcher
Caster.IO Lesson 124: Material Motion – Introduction to “Responsive” Principle
Recently the design team at Google updated the Material specification to describe detail about using Motion effectively. The specification is broken down into 4 main principles, in this video, I will be introducing the 1st one, named “Responsive”
The specification formally defines “Responsive” to mean: Material is full of energy. It quickly responds to user input precisely where the user triggers it.
An excellent way to visualize this principle, is to look at “Ripple” touch feedback. I will demo proper “Responsive Motion” using Ripple and Elevation touch feedback. This is a great way to demonstrate two important details about this principle: Ink ripples confirm user input by immediately expanding outward from the point of touch. The card lifts to indicate an active state.
In this lesson you will learn:
- About the revised Material Motion specification
- What the term “Responsive” means in regard to Material Motion
- How to recognize properly implemented Ripple and Elevation Touch Feedback
DevOps on Android: From one git push to a Play Store release by Jeremie Martinez
In this talk from Jeremie Martinez, we will see how we can re-use the DevOps methodology in an Android context. We will begin with a quick overview of a good continuous integration on Android.
Then, we will see what tools we can use to implement such a process with a particular focus on testing. We will also explore the API implemented by Google to allow developers to interact with the console Play Store and therefore be able to automate deliveries.
At the end of this talk, we will have a full pipeline to deploy from one git push to a production release.
An Android library which makes checking the quality of user’s password a breeze.
Provides a simple way to extend the default RecyclerView behaviour with support for headers, footers, empty view, DiffUtil and ArrayAdapter like methods.
Utility library for handling connectivity change events.
Super lightweight component to create audio waves written in Kotlin