This Weeks Links
Fragmented Podcast 076: Taming the activity lifecycle with Kristin Marsicano
In this episode Kaushik talks to Kristin of the Big Nerd Ranch. You would think that the Android lifecycle is pretty standard and basic stuff, but as Kristin begins to unpack the nuances of the Android lifecycle, we learn there’s a world of details that’s easy to miss. Listen on, to get an ironclad grip on the Activity lifecycle.
Why your app should crash
As crazy as it may sound, sometimes you will want your app to crash! This post by Jeroen Mols focuses on null checks for simplicity and will explain why crashes are not always bad thing. The post also provides some practical tips for error handling.
Reducing your networking footprint with OkHttp, Etags and If-Modified-Since
An app utilizing network resources should be designed to check to see if the required content has changed since it was last downloaded. This not only reduces data consumption, it can speed up app loading too. This post takes a look at using Last-Modified and Etags to do this.
Testing MVP using Espresso and Mockito
In his own words, Josias Sena introduces this as “another simplified tutorial on how to unit test the MVP architecture pattern”. The tutorial explores Android Testing with Espresso and unit testing with Mockito,
Firebase Authentication In Android
If your application is storing sensitive user information, you are going to need to authenticate each and every user to keep their data safe. In this post, Ravi Rupareliya shows you how basic authentication in firebase.works and how to get it set up.
Workcation App – Part 2. Animating Markers with MapOverlayLayout
In this series, Mariusz Brona shares solutions for problems that were encountered during the development of an advanced animation effect for travel route mapping. Part 2 explores loading the map markers with fade/scale animations on scroll and zoom, using MapOverlayLayout.
Workcation App – Part 3. RecyclerView interaction with Animated Markers
In this series, Mariusz Brona shares solutions for problems that were encountered during the development of an advanced animation effect for travel route mapping. In Part 3 Mariusz explains how to animate our markers with RecyclerView interaction using an OnScrollListener!
The JobScheduler on Android
Josias Sena say that no matter how straightforward JobScheduler may seem, it does have 1 or 2 small things that can make it a bit painful to use. In this post, Josias is going to show you what he found troublesome in the past, to save you some time and effort.
Why You Should Start Using Kotlin to Supercharge Your Android Development in 2017
In this post, Aritra Roy aims to convince you that Kotlin is the kind of language you had always wished for as an Android Developer and shares his list of some of it’s benefits over Java.
What Unit Tests are Trying to Tell us About Activities Pt 2
In this series, the writer shares his opinion and raises questions regarding the coupling and cohesion of Android-centric architecture. In Part 2, the writer explains why they feel Fragments as building blocks, make code hard to test.
Debugging Events in Firebase Analytics
Sergii Zhuk takes a look at a recent feature introduced in Firebase Analytics, which provides a timeline of tracking events on a selected debug device, in close to real time.This post looks at the benefits, how it works and how to use it in a app.
JobsAndroid Developer at Big Cartel [REMOTE]We’re looking for a few good humans. Specifically an experienced mobile developer who wants to lead our charge into the world of Android. Someone who can take our big ideas and bring them to life in an elegantly simple way. [Apply Today] Looking 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 |
How you can decrease application size by 60% (In only 5 minutes)?
Reducing an apps size, provides the potential benefit of speeding up your app, while lowering the network and storage footprints for your users. Keval Patel is here to share ways you can reduce your application size by up to 60% – all in less time than it may take to read the article!
How to be a Mock-Star…
Garima Jain shares an Android Developer’s experience of writing tests in Mockito, tips she picked up along the way and then finished by taking little dive into the usage and implementation of MockWebServer
Internationalizing an Android app
In this post, Jeremie Martinez looks at what is involved when preparing your app for an international market. As you will see, there is a lot more to consider than just the translation of text.
Electricity Monitoring App – Send Push Notifications using Firebase Cloud Functions
Join Rebecca Franks as she takes a look at a new feature in Firebase, Firebase Cloud Functions. In this post you will be shown you how to setup this feature, which has the ability to automate certain functions when a preset event such as an Authentication or Analytics change occurs.
Getting started with Cloud Functions for Firebase
Another post on Firebase Cloud function, this one aimed at helping you get started, even if you have no previous experience with JavaScript. Join Jozef Celuch as he walks you through the basic process.
JUnit 5: DisplayName
The JUnit platform enables different testing frameworks to be launched on the JVM. Previously Mark Allison looked at some of the differences between testing in Junit 5 and Junit 4. In this second post of the series, you will be shown how to get the best out of JUnit 5.
The RxJava Repository Pattern
In this post, Josh Skeen will show you an approach for allowing RxJava to work with device rotation support and data caching on Android. This will help you to handle a the common problem issue of a device being rotated in the middle of a network request.
Videos
Caster.IO Lesson 173: Understanding the Material Design Guidelines: Material is the Metaphor
Nearly three years ago, Google gave the World the first glimpse of Material Design. While the design language has received a lot of love from the community and the industry itself, a lot of people still have certain misconceptions with it. In this series, I hope to dispel some of these misconceptions by taking a look at each of the underlying principles, as well as studying the recommended patterns and guidelines in detail.
In this first lesson, I’m taking a look at the first principle, “Material is the metaphor”.
Caster.IO Lesson 174: OpenGL – Getting Started
There’s a lot of compelling reasons to learn OpenGL. First, OpenGL is available everywhere. Let’s say you take the time to learn OpenGL on Android. That knowledge carries over to iOS, to Desktop, to WebGL.
If you’re looking to build a Java app for Daydream or Tango, a basic knowledge of OpenGL is invaluable.
In this lesson you’ll learn:
- The basics of GL rendering and GL threads.
- How to set up GLSurfaceView and GLSurfaceView.Renderer.
- Basic Android OpenGL lifecycle.
- Basic OpenGL ES initialization.
- How to communicate between the GL thread and the UI thread.
- How to benchmark your OpenGL applications.
Caster.IO Lesson 175: Introduction to Serialization and Deserialization
This lesson is regarding the process of using Serialization and Deserialization without using any fancy libraries such as Moshi, GSON, Jackson, Logan Square. The purpose is to introduce some to the basic concept of each operation and to show implementation detail of a self-contained demo application.
In this lesson you’ll learn:
- Serialization
- Deserialization
- JSONObjects
- Reasons for advent of Serialization Libraries (Moshi/Gson/etc)
Caster.IO Lesson 176: Moshi – An Introduction
This is the first lesson in a series exploring the Serialization library, Moshi, by Square. This is a newer up and coming library that attempts to mimic the best features of GSON while adding some strict rules to its implementation. In this lesson we will cover:
In this lesson you’ll learn:
- Setting up Moshi
- Serialization
- Deserialization
- Custom field naming
Caster.IO Lesson 177: RxJava 2 – A Quick Introduction
In this lesson, we are going to explore the very first steps of the new RxJava 2 and we start scratching the surfaces of the migration from RxJava 1 to this second iteration.
In this lesson you will learn:
- What the difference between Func1 and Function is
- How onError is different than RxJava 1
- How onComplete is different than RxJava 1
Open Source
ReadMoreTextView
A Custom TextView with trim text
DiscreteScrollView
Scrollable list of items, where current item is centered and can be changed using swipes
LinearTimer
A custom view for circular progress animation on Android