This Weeks Links
Fragmented Podcast: 066: Let’s talk Immutability, Value Types and AutoValue with Ryan Harter
In this episode, we talk to our good friend and immutability champ Ryan Harter. We start off talking about the benefits and disadvantages of immutability, then we dive into Value types and the subtle difference with Value types. Finally we close out by talking about AutoValue and how you can extend it using the super nifty auto-value extension system for functionality like Parcelability, Json parsing etc.
Android: Improving sign-in experience with Google Sign-In and SmartLock
A good User Interface is valuable but a bad User Experience can outweigh even the best User Interface and drive away new potential users. This post explores Google Sign-In and SmartLock, which can help make signing in to your app a much less painful experience for new users.
Object Seams and MVP for Testability
When we modify the behavior of a particular piece of code without editing the code in that place, then we’re using an object seam. This post briefly looks at Dependency injection, which is often used to create object seams. The post then takes a deeper look into object seams themselves, which are what makes applications testable.
Introduction to Google Maps API for Android
Location services are becoming an integral part of many modern apps. In this step by step tutorial, Eunice Obugyei will walk you through creating an app that uses the Google Maps API and Location Services API. This will help you to show a user’s location, use markers on a map, retrieve coordinates, listen for location updates or just search for places.
Formatting text with the Google Slides API
One common practice when creating slides that appeal to your audience’s visual senses is to reduce the amount of text in the presentation. This article and video from Wesley Chun will explores multiple ways you can format those words for high impact and visual appeal using the Google Slides API.
Building User Interfaces with ConstraintLayout
ConstraintLayout just continues to get better with speed improvements and fixes. This post covers a few of it’s features and explores some simple user interfaces that you can construct using this great upcoming layout, which is currently in beta4.
DownloadManager – Part 3
In this series you will be introduced to the DownloadManager API. Part 3, the final part in the series will show you a few interesting things within DownloadManager itself.
Android CI & CD
If you are new to working with a team for app development, there may be some new concepts and development practices for collaboration that you are unfamiliar with. This post explores the pros, cons, ins and outs of Continuous Integration and Continuous Deployment, which are common practices for using a shared repository.
Setting animation scale for Android UI tests
When testing with Espresso, it is recommended to disable animations to avoid your tests failing or being unreliable. Doing this in a Continuous Integration environment where the tests are automated is difficult. This post the problem, some of the solutions and then introduces a plugin that can help make this issue a thing of the past.
Publishing Android Libraries to Maven
In this post Jinyan Cao will walk you through the specifics of publishing an Android project to a Maven namespace, which you will be shown how to create. This will allow other developers see and use your code.
OkHttp is quietly retrying requests. Is your API ready?
This article explores how OkHttp handles failed attempts at establishing a connection. Because OkHttp uses silent retries, your API should be configured to determine if a request was already delivered. Make sure you check out this post for resources to help you out!
What’s new in Firebase? Updates from the Firebase Dev Summit
Firebase assists you with focusing on your users by taking care of some of the stuff that happens behind the scenes of your app. In this article, Chike Mgbemena will guide you through the new crash reporting, analytics and game developer support which was announced at the November 2016 Firebase Dev Summit in Berlin.
Google Releases The Developer Preview Of Android Things (IOT)
Android Things is Google’s Internet of Things platform. In essence it an OS that you won’t really see, providing developers the ability to build a smart devices capable of complex tasks, using the Android framework and tools. Check out this post from Amit Shekhar for more details!
Every programmer should read this book
While not Android specific, Amit Shekhar shares a book by Robert C. Martin, he and others feel is essential for every programmer to read. The book is aimed at helping you write cleaner code and improving your agile craftsmanship.
Use Android Studio Like a Pro!
Android Studio is the official IDE and main tool for Android platform development. In this post, Michael Pustovit will provide you will a small list of videos, tips, keyboard shortcuts and advice which will help you become an expert at using Android Studio.
Caster.IO Lesson 135: RecyclerView – Creating a Vertical List
In this lesson we will create a vertical scrolling list, similar to a basic ListView, using a LinearLayoutManager with RecyclerView. We’ll create our own RecyclerView.Adapter, RecyclerView.ViewHolder, and add a DividerItemDecoration as a finishing touch.
In this lesson you will learn:
- How to create are RecyclerView
- How to implement an adapter
- How to implement a ViewHolder
- How to use Generics for the ViewHolder
- How to calculate the size for the adapter
- How to bind data
- How to create a ViewHolder
- How to add an ItemDecoration
Caster.IO Lesson 136: MockWebServer – Certificate Pinning & HTTPS
Say you want to restrict your app to talk to one particular domain, via https only. How do you configure that with OkHttp, and how to test that with MockWebServer?
In this lesson you will learn:
- How to set up Certificate Pinning in OkHttp
- How to restrict OkHttp to https only
- How to have MockWebServer use https
- How to have the app and test use a matching socket factory
Caster.IO Lesson 137: RecyclerView – Reverse ordering and Horizontal list
In this lesson we learn how to reverse the ordering of items and convert a vertical list into a horizontal list in a RecyclerView.
Caster.IO Lesson 138: Gestalt’s Principles of Visual Perception
A detailed look into one of the key design principles
In this lesson you will learn:
- Why are Gestalt’s Principles important
- What are the 8 grouping laws as per Gestalt’s Principles
- Examples of their use in UI design
MVC, MVP, MVVM Design Patterns with Godfrey Nolan
Every design pattern has its quirks. In this talk Godfrey Nolan takes you through some of the most popular ones including Uncle Bob’s Clean architecture so you can pick the one that’s best for you.
A custom animation with scroll listener to recycler views
A Custom TextView with trim tex
AuthManager is a library which eliminates the boilerplate of Google SignIn and SmartLock integration.
A simple customised version of the TextInputLayout from the Android Design Support Library