This Weeks Links
Fragmented Podcast Episode 065: Developer Platform engineering with Ty Smith
In this episode we talk to Ty Smith about all things Developer Platform. Currently a tech lead at Uber, Ty has quite the illustrious career having worked on some of the biggest names you’ve heard like Uber, Twitter(Fabric), Evernote, Zagat etc..
Offline App Architecture, build for the Next Billion
App responsiveness can be the difference between an amazing or terrible user experience. This article explores why your should care and the ways to keep your app feeling responsive during connectivity slow down or drops.
`Rxify` — Maintaining Order in Auto-Complete Search
This series takes a fun approach to RxJava and will help you level up your “spells”. This post will explore the Debounce-y, Switch-Map-ium and Concat-Map-ium spells.
OkLog 2.0 — improved Android network logging
This post introduces OkLog 2.0, a network logging interceptor for OkHttp which logs a clickable URL link with the encoded network call. You can then click the URL to open a website containing the plain text response to inspect the received data.
Awesome Android Open Source Libraries
Amit Shekhar shares a list of open source libraries that will help you implement things such as efficient Android filters based on OpenGL, a video player, charts, fast dependency injection and much more.
App Shortcuts in Android
App Shortcuts allow a user to go to a page directly through your app by long pressing and selecting from its launcher icon. This post will show you a way to implement Static shortcuts and Dynamic shortcuts.
Infographic: 11 Most Common Android Errors and How to Fix Them
Encountered an error preventing your app from installing or being run? This infographic and article will help you identify and fix some of the most common errors that may cause issues on AVD’s or real devices.
What makes Android Apps Testable?
Ever found yourself trying to do the impossible: Test untestable code? This article looks at how you can avoid this situation by exploring what makes code testable.
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 |
How to make your Android Application secured
No app is one hundred percent secure but there are measures you can drastically reduce the risk of your app or it’s communications being compromised. In this article, you will learn some best practices for improving the Security Level of your Android apps.
How to create beautiful text stickers for Android
In this Tutorial, you’ll learn how to draw, position, rotate, scale and update text on canvas based on user input, all in real time. This will allow you to create great looking text stickers for your app!
Managing Android Virtual Devices during test session
This post explores the advantages and disadvantages of testing using an Android Virtual Device, then introduces fastlane, a tool which will help you to automate tasks such as screenshot generation, profile provisioning and the release of your app.
Writing custom lint rules and integrating them with Android Studio inspections..
Out of the box, Android Lint brings more than 200 checks. The Android Lint API, also allows you to create your own custom Lint rules, which can then be statically checked across your projects. This post will help you get started writing your own custom lint rules for your Android Studio inspections.
On properly using volatile and synchronized
Multithreading can lead to an issue with data corruption due to data being concurrently modified by multiple threads. This post looks at the synchronized and volatile modifiers, how they work and the protections each provides for data being worked on concurrently.
Using Git Like a Pro: Master-Only Workflow, Branching Strategies, and Hacks
In this 360|AnDev video with accompanying slides and notes, you will be shown advanced git techniques, utilizing different branching strategies and some “hacks” to help improve the way you work and share code.
Android working with WebView – Building a simple In-App Browser
In this tutorial, you will learn the basic usage of WebView, which allows you to integrate a web page as a part of an app. You will then be guided through building a simple in-app browser with navigation and bookmark support.
DownloadManager – Part 2
In this series you will be introduced to the DownloadManager API. Part 2 will show you how to control the destination, visibility and network used for downloaded content, as well as a few other handy options.
Videos
Caster.IO Lesson 130: Mockito – Configuring Stubs
This lesson describes how to configure a stub using Mockito. There are multiple ways of configuring stubs; in this lesson we describe two different ways and highlight when each method should be used.
In this lesson you will learn:
- Creating a stub
- The difference between “when/then” and “do/when” stub configuration syntax
- Pros and cons of each style of configuration
- Configuring a stub to throw an Exception
- Stubbing a void method call
- How to avoid triggering a CannotStubVoidMethodWithReturnValue exception
Caster.IO Lesson 131: RecyclerView – Introduction
A high level introduction to RecyclerView. We examine the pieces of a RecyclerView:
- Recyclerview.Adapter
- Recyclerview.ViewHolder
- Recyclerview.ItemDecoration
- LayoutManagers
- When and why you’d want to use a RecyclerView over a ListView
… and you will learn how they work together to bring a RecyclerView to life.
Caster.IO Lesson 132: Custom Views and ViewGroups (Part 3) – Overriding onMeasure
An example of how to write a custom implementation of a custom view’s onMeasure() method. Builds on the previous lesson’s four example layouts with the TimerView from the first lesson to improve and correct the layout behavior. Iterates through the onMeasure() implementation to show different approaches and the different factors coming into play when trying to build flexible and adaptable measurement logic.
In this lesson you will learn:
- How to override the onMeasure method with custom logic.
- What factors might affect the measurement of views.
- How to estimate text size as part of the measurement of views.
- How to reconcile measured view content with layout parameters and parent constraints.
- How to incorporate padding into measurement calculations.
Caster.IO Lesson 133: Mockito – Stubs and their Default Return Values
This lesson describes how Mockito supports returning default values for certain data types, which can reduce the amount of setup required in unit tests. It discusses which data types are supported and how Mockito decides whether to return a user-specified value, a default value or null.
In this lesson you will learn:
- Mockito will return sensible default values for stubs
- Mockito will return sensible default values for stubs
- Mockito provides default values for primitives, primitive wrappers and collections
- What Mockito doesn’t provide defaults for
- How Mockito decides which value to return for each method return type
- Walkthrough of Mockito source code to see default return types is implemented
Caster.IO Lesson 134: Getting Started with Android Job
Background work on Android can be challenging when you have to support a wide range of API levels. Specifically you can use Alarm Manager, Job Scheduler or GCM Network Manager depending on your minimum API level and if the device has Play Services. To help abstract away which implementation you’re using to perform background work, the good folks at Evernote have open-sourced, Android Job. Learn how to take advantage of it in this short lesson!
In this lesson you will learn:
- How to add the dependencies for using Android Job
- How to create the core Android Job classes
- How to create a simple Job
Being a Better Battery Citizen with Eric Brynsvold
In this video, Eric Brynsvold will show you how to track down your battery draining features using Battery Historian, and will provide you a roadmap to become a better battery citizen.
Open Source
qreader
Read QR codes using google’s mobile vision api, but without the hassle
apk-renamer
Simple bash script that rename apk files in order to beautify their names.
GestureViews
ImageView and FrameLayout with gestures control and position animation
Gsonpath
A Java annotation processor library which generates gson type adapters using basic JsonPath style annotations