This Weeks Links
Fragmented Podcast 081: Talking Android Things with Rebecca Franks
It is the world of the Internet of Things (IoT) and Google’s answer to that is the Android Things. In this episode, we talk to the amazing Rebecca Franks. She explains how Android things works and talks of some of the adventures and examples she’s embarked on with Android Things. If you’ve had that hobby Raspberry Pi or Arduino board lying around and not sure how to put it to use, this episode’s for you.
Covering up the Skipped Beat in FCM Conceptualization: Distinction between Notification Messages and Data Messages
In this post, Anirban Bhattacharjee will explain all about the differences he came across between the manner in which Notification Messages are handled in a REST client compared to Notification handling in the Firebase Console.
#AndroidDev #Tip 1 – set android baselinealigned false on this element for better performance
Join Paresh Mayani as he takes a look at the baselineAligned attribute. The post covers what a baseline is, how they can affect a LinearLayout , why we receive lint warnings for the baselineAligned attribute and how turning it off can improve performance in an app.
#AndroidDev #Tip 2 – Define constants for Bundle Keys used between two Activities
In an effort to help you improve the readability of your code and reduce errors, Paresh Mayani walks you through the practices of defining constants for bundle keys, preparing intent then starting an activity and refactoring legacy code of an existing android project.
How to leverage Local Storage to build lightning-fast apps
Nikita Kozlov explains how you can reduce the number of API calls in your app by storing changes locally, then synchronizing them with your servers from time to time can improve your user experience. The post discusses things that must be considered, challenges you will likely encounter and provides some solutions to those challenges.
WebView- Love it or hate it, but you can’t ignore it.
WebViews, can’t live with them, can’t live without them. In this post, Anshul Jain provides a short introduction to WebViews, making and receiving callbacks to Javascript, using WebViewClient and debugging it.
LayoutInflater: Friend or Foe?
The LayoutInflater class instantiates a predefined layout XML file into its corresponding View objects. In this video with notes of a talk by Chris Jenx, who built the Calligraphy app, he will cover how exactly the LayoutInflater works, before explaining how Calligraphy is able to hack the lifecycle to inject into views at the time of inflation.
Android Things best practices, 3 ways to Thread
As with all Android development, when working with peripheral sensors & actuators in Android Things, you should be actively evaluating what the performance impact of communication with the peripherals / components will be. In this post, Paul Blundell explains why you may consider offloading the work onto another thread and the best practices for doing so.
Setting up a Jenkins Pipeline for Android Testing
While nobody enjoys waiting for time consuming tests to complete, the less you run those slow tests, the less valuable they are. In this post you will be shown how you can setup continuous delivery pipelines in Jenkins for automation.
Object Oriented Tricks: #4 Starter Pattern -Android Edition
In this mini series, Arun Sasidharan will share tricks for writing maintainable Object Oriented code. When we use functions It can be difficult to get rid of all side-effects that come with an Object Oriented programming paradigm. This Object Oriented Trick (OOT) will show you how to define a contract within a target class, using a static starter method.
JobsFull Stack Developer at Department of Better Technology (Remote or Oakland, CA)The Department of Better Technology was founded to help governments deliver great software to the people they serve. We’re looking for a second engineer to join our team. We are a remote-first company, so anyone in the U.S. is free to apply. [Apply Today] Android Lead at Scoop (San Francisco, CA)The Android lead opportunity is a chance to work with our product eng lead, owning new features, squashing bugs, and helping to keep the code base clean throughout the Android stack. You’ll also get to work cross-platform and cross-stack! [Apply Today] Lead Android Developer at Attractions.io (Staffordshire, UK)Lead the development of our proprietary Android app engine for visitor attraction apps, improving the visitor experience for millions of attraction visitors worldwide by using the latest cutting edge technologies and techniques. [Apply Today] Lead Android Engineer at Raden (NYC)Raden is a direct to consumer thriving startup in New York City. We’re building smart luggages designed for the modern traveler and engineered by leading technologists. We’re looking for talented people who enjoy solving challenging problems … [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 |
A follow-up on how to store tokens securely in Android
In this post, Enrique López Mañas will show you how you can protect String tokens from a hypothetical attacker decompiling your Android application, without having to rely on Dexguard.
Prototyping Android Apps Without Server API’s
it’s not uncommon for API’s needed to build an app to not available at the time you start development. In this post, N Vinay Shetty provides some ways you can bypass your immediate requirements on backend API’s, avoiding your clients API’s being broken during development.
Git, beyond version control
In this post, Aitor Viana takes a look at Git and some of it’s useful commands. Aitor then explains how Git can be used, not only as a version control system, but also as an analysis tool, providing insight into almost anything from your codebase to your team mates.
Facebook Litho review (Part 1)
Tato Kutalia takes a closer look at Litho, a declarative UI framework for Android from Facebook. As well as reviewing Litho, this first post of the series will also show you how to install and get started using it.
(Reactive Redux) Simply managing state with RxJava on Android
In this post, Zeyad Gasser will show you how to build a reliable state manager. The state manager will deliver unidirectional data flow, offer a single source of truth and have outputs which can be reproduced.
Improve Your Android Coding Through Annotations
There are many ways in which annotations can be used. In this post, Amit Shekhar
Will talk about how annotations can be used to improve Android coding and he provides a few useful annotations you should be aware of.
#AndroidDev #Tip 3 – Don’t leave any exceptions behind
In this series, Paresh Mayani shares some tips to help you improve your code, practices and understanding of Android development. This tip will show you an alternative to printing a log stack trace, which will allow you to get exceptions in a release build
#AndroidDev #Tip 4 – Managing Android dependencies versions
In this series, Paresh Mayani shares some tips to help you improve your code, practices and understanding of Android development. Tip 4 will show you how you different ways to manage dependencies versions.
Configuring Proguard and Xamarin Android
Lukas Roberts shares how adding Google Analytics to his app ran into complications due to reaching the Dex limit. In this post, he will show you how to configure and enable Proguard in Xamarin Android projects, to reduce the APK in size by excluding non-essential dependencies.
Videos
Caster.IO Adding Immersive Mode to Your Android App
Immersive Mode was released as part of Android 4.4 Kitkat, and provides developers with the ability to create beautiful full screen applications that can take over areas of the screen used by the navigation bar and the status bar as well. In this video, we’ll learn about how you can create utilize this feature, its different modes and which should you use in which circumstance.
Caster.IO Mockito – Introduction to Mocks
In this lesson, we’ll explain how the Mockito.verify() method works and how it is used to verify that an interaction took place against a mock object. In particular, we’ll highlight the errors you’ll see if the interaction didn’t occur as you expected, as well as the required syntax used when calling this method.
In this lesson you will learn:
- The purpose of Mockito.verify()
- How verify works
- What errors you’ll see when you expect an interaction that never happened
- How to debug unexpected Mockito behavior
- The correct syntax to use for Mockito.verify()
Caster.IO Android Job: Scheduling Periodic Work – Building the Job
If you need to perform clean up tasks or check in with the server on a periodic basis, Android Job can help. It allows you to execute background jobs on a pre-defined schedule. Learn how to configure your application to take advantage of such jobs in this lesson! In this lesson you’ll learn how to create another job that performs its duties on a periodic basis.
Caster.IO Android Job: Scheduling Periodic Work – Creating a Multi Purpose Job Creator
If you need to perform clean up tasks or check in with the server on a periodic basis, Android Job can help. It allows you to execute background jobs on a pre-defined schedule. Learn how to configure your application to take advantage of such jobs in this lesson! In this lesson you’ll learn how to create a multi purpose job creator that will allow you to create various different jobs for Android Job.
Open Source
UltimateAndroidReference
Ultimate Android Reference – Your Road to Become a Better Android Developer
Litho-lint-rules
Lint rules for Litho by Facebook http://fblitho.com/
Rx2-timer
A rxjava2 timer for android
DaggerAndroidInjector
Dagger Sample Project on how to use the new dagger-android module for Dagger v2.11-rc1