In AndroidPub. More on Medium.

Photo by Reinis Birznieks on Unsplash

Every mobile developer has faced this scenario before: you have an application that is ready to be released, you got down all the MVP features that you want, you tested it on several devices.

You feel good to go.

Before you hit that publish button, one question still lingers in your mind:

What will happen to my users when I want to update my application?

You want to be sure that your users will have an option to update to the latest version of the application, with ease and simplicity. But, how do you do that? …

Photo by Fredy Jacob on Unsplash

It’s this thing we are all aware of, but always take for granted. As the technology progressed, we cared less and less about how much memory our devices have. If before, every leap was incremental and appeared to be impossible. Nowadays, we don’t give a second thought when contemplating how much memory our devices have (and we could care less about the differences).

A bigger point would be to look at the evolution of what is stored in the memory. Before smartphones, we saved the occasional photo or two, some games and a ton of text messages. But now, any…

Daniel Ursuleanu

The Mobius 2018 conference held in Saint Petersburg earlier this year featured a talk by the guys from Revolut — Roman Yatsina and Ivan Vazhnov, called Multiplatform architecture with Kotlin for iOS and Android.

After watching the live talk, I wanted to try out how Kotlin/Native handles multiplatform code that can be used on both iOS and Android. I decided to rewrite the demo project from the talk a little bit so it could load the list of user’s public repositories from GitHub with all the branches to each repository.

Project structure

├─ android
├─ common
├─ ios
├─ platform-android

Help! I can’t find where the syntactical error is 😭

I’m quite sure as a developer you found yourself on multiple scenarios dealing with syntactical mistakes. Most of the times because there was a lot of code written on the file, however the actual highlighted error was practically imperceptible.

Random code that highlights there is either an incorrect type or a wrong argument function.

No matter the amount of time you have dedicated developing software, you will eventually have to face with the same mistakes, like after you pasted some snippets or due to some refactoring.

Photo by on Pexels

It’s 6:45 AM. I’m 11 hours, 500 lines of code, and 8 Github commits deep. Until now, sleep hasn’t even been a thought thanks to the caffeinated AWAKE bars I’d consumed a few hours earlier. The wide-eyed owl on the packaging boldly reminds me, “1 bar = 1 cup of joe!”

This situation yields only one explanation: I’m smack dab in the middle of my first hackathon.

In this article, I’ll use my personal experience to shed light upon what a hackathon is and why everyone should become a participant.

First off: What’s a Hackathon?

Throw a bunch of curious, creative, talented, people into a…

See the android resources values inline in the code.

If a picture is worth a thousand words, a GIF surely is worth much more.


This is the action of doing collapse. You can find these options also on the menu: Code > Folding > Expand | Collapse .

It works pretty well with resources like strings or dimensions.

Sometimes you might also find very helpful to collapse all the methods of a class, that way you can expand only one of them and focus on its logic, while having a whole picture of all the others.

How to find out a deadlock is happening?

I recently got struggled with a scenario where my App was blocked for some reason and it never showed a ANR dialog. I discovered it happened due to a specific Deadlock that was not part of my code, and I also found out an interesting option of Android Studio I wanted to share. By using this option you can reduce the amount of time you spend researching these sort of issues with other tools like TraceView.

The Android documentation says:

“…background ANR dialogs are not always displayed to the user, but the app could still be experiencing performance issues.


ZDNet Germany

This is the OnePlus 5T in the picture above. The phone hasn’t even been announced yet by OnePlus officially — that is scheduled for November 16th. That is 6 days from the time of writing this. ZDNet Germany in a rather bold move published a story that leaked photos of the device, the unboxing paraphernalia, and the reviewers guide specification sheets. The specification sheets are in English — a lot of information was leaked to the whole internet.

Image credit: SpaceX

Despite being a fairly new paradigm, reactive programming is receiving quite a major distribution. Libraries allowing to write reactive code have been implemented for multiple languages. Some of the most popular among such libraries are RxJava, RxKotlin, RxSwift, RxJS, etc.

Writing asynchronous code is often connected to the following issues:

  • Complicated error processing. If there are errors in multiple async tasks, these errors have to be taken somewhere. In case the app logic does not allow a task if the previous one was not completed, the problem of standard approach task realization rises up.
  • Callback Hell. Developing a complex Android…


The (retired) Pub(lication) for Android & Tech, focused on Development

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store