Issue #314

June 17th, 2018

Articles & Tutorials

link image   Styling internationalized text in Android (

Most of the time, the text we work with comes from resources and is internationalized. So the text we need to style and its positioning within a sentence may change. Florina Muntenescu shows how to do this.

Android Studio productivity tips: Part1 (

In the series, Engine Bai covers some essential and helpful tips and tricks based on daily usage scenarios, to help you to get the most out of Android Studio.

Keys, Credentials and Storage on Android (

This tutorial focuses on credential and key storage. Collin Stuart begins by introducing account credentials and end with an example of protecting data using the KeyStore.

link image   Learn to make data driven decisions for your app (

Find out how successful app developers make informed decisions about product features and discover insights to help you drive decision making using data and better manage stakeholders

Best coding practices, tips and more for Android (

Bal sikandar shares some tips and tricks for making your every day Android code better.

Build mobile apps with Bazel. Part 1 (

This blog post series focus on using Bazel to build polyglot mobile apps (iOS/android). We discuss why a monorepo is a good choice when dealing with shared code using Swift, Java, C and others. This specific post starts with Android.

How to Mitigate Slow Build Times While Using Firebase Performance Plugin (

Vivek Maskara noticed that the Firebase Performance Plugin was dramatically increasing his development build times. Here's a tip on how he worked around it.

Maintainable Architecture – Lifecycle (

Creating a maintainable, flexible codebase is not easy but is an essential part of software engineering. Mark Allison continues this series by refining some of the Android-specific orientation change issues.

Open-sourcing Sonar, a new extensible debugging tool (

Three years ago FB engineers released Stetho, an Android debugging tool. With the newer Sonar, they built a newer tool that is more extensible to new features, has a richer user experience, and works across both iOS and Android.



Place a sponsored post & reach over 64k Android devs (



link image   Genki — A Design Developer System (

Design Systems are great! Ludwig Frank shows how it helps prototype solutions so much faster, allowed for unified designs on all platforms and aids tracking changes more easily with dedicated component library and product sketch files.



Android Developer (Amsterdam)

Picnic is an app-only supermarket. Our customers expect a mobile store that is smooth and bug-free. We’re on a quest for innovative Android developers to push creative features while retaining simplicity. Our stats: 4.41 rating and 99.5% crash free sessions. Not bad. But you can help us do better!

Senior Android Developer (Barcelona)

If you join our Android team you will work with the following technologies: RxJava, Dagger 2, Retrofit, JUnit, Mockito and Espresso. To get there, you'll need: 3+ years of experience programming with Android, Solid architecture knowledge, Ability to write clean, easy-to-read code. Understand why:


Libraries & Code

talon-for-twitter-android (

The Material Design version of popular Android Talon for Twitter app, 100% open-source

emotion-rating-view (

EmotionRatingView library contains EmotionView (displays an animated face that responds to a rating change), RatingView (Displays rating bar with animated grades), and GradientBackgroundView.

creative-viewpager (

Creative View Pager easy to use ! This view pager library combines a header list which is scrolling automatically in coordination with the page contents.

dotsindicator (

This library makes it possible to represent View Pager Dots Indicator with 3 different awesome styles

Scarlet (

A Retrofit inspired WebSocket client for Kotlin, Java, and Android

Sonar (

Sonar is a platform for debugging mobile apps on iOS and Android. Visualize, inspect, and control your apps from a simple desktop interface. Use Sonar as is or extend it using the plugin API.