Slow build speeds are not unfamiliar to us Android Developers. It specifically becomes a nuisance when your codebase is large. Nowadays
Kotlin is the preferred choice of development language for many developers(including myself). Since
Kotlin is known to have larger build times then
Java it becomes even more important keep a tab on those build times.
There are many build performance optimizations techniques and tutorials are available out there that one can apply to keep build speeds in check. However, one also needs to measure the efficacy of those optimizations. Benchmarking builds after every change can be a tedious and time-consuming task, again, especially for larger codebases. …
In this article, we are going to use Half data type from the Android platform and also explore the caveats of it.
This post is add on to a previous 3 part article series.
4. Bonus How to draw 2.6 million polygons on Android at 60 FPS: Half the data with Half Float
In last article I explained a problem statement that required us to draw 2.6 million polygons in realtime at 60 FPS. There are three ways to do this on Android in my understanding. First, using Android
Canvas APIs, Second
OpenGL, and Third the new
This post is part 2 of 3 part article series.
In last article we were able to render L3 datasets with 20 FPS, however, we could not even see the L2 dataset on screen. In this article, I will be throwing light at some optimizations which can help us achieve our final goal i.e. render full L2 dataset at 60FPS.
This post is part 3 of 3 part article series.
Weather visualizations are mesmerizing to the eyes, and, they are equally fascinating from a technical standpoint. In this article series we are going to explore how can you render such a beautiful visualization with little understanding of data and Computer Graphics.
This post is part 1 of 3 part article series.
I have been developing Android apps for about 6.5 years now. For every small or big Android app I have churned out, I have blindly used
Gson for serialization and deserialization.
Gson seemed to be flawless as it almost read my mind.
This changed in one of my recent
Kotlin only project. Like every other project we started off with Gson here as well. But then, things changed when we started facing dreaded
NullPointerExceptions. But wait, did I not say
Kotlin? And isn't Kotlin supposed to be our solution for this billion dollar problem?
Well no! Kotlin can only do so much if developers are so determined to get
Gson uses reflection for deserializing
Java does not have notion of
nullable types like
Gson was originally written with Java in mind and it fails to understand difference between nullable and non-nullable types of Kotlin. …
In my last article I listed out some of the issues that we faced when trying to setup
AndroidX Testing Framework with Espresso. While there were many issues, in the end tests ran successfully and I hoped this was one time thing.
Turns out that was not the case at all!
We are a small team which can’t afford to have full fledged test suits just yet. We decided to be selective. First, we wanted to write a smoke test suite for integration testing. Secondly we want to write UI unit tests for important screens. These two type of tests required two different
TestRunners. As evident from my previous article for UI unit tests we required a custom runner and Test Application but, for integration tests we need to invoke our original Application instance. …
In my brief experience with Android developers and community so far I have seen lot of people talking about automated testing and its importance, but a very few people get the chance to actually write extensive tests for their code. They hardly ever have time for it. I also happen to be one of them. Although I have heard, read and talked about it a lot, I have very limited hands on experience.
In one of the apps I am currently working on, team finally decided to start writing tests for good. We were first aiming to build a smoke test-suite for complete app so we started with UI testing with Espresso. …