RecyclerView is a ViewGroup that helps us to display a scrollable list of elements. It is one of the most used UI components in the Android apps and it involves having a data source, an adapter, and the RecyclerView. Other than displaying the content, RecyclerView is efficiently reusing the views that have scrolled off the screen by recycling them.

📃Components Overview

  • Data source — list of objects that could be obtained from a local database, or as a result of a http request, or even it could be a list with some predefined values.
  • RecyclerView is a scrolling list for list items…


In Android, we are able to log info by using the static methods provided by the final class Log. This class is part of the android.util package.

Available methods


I work as a Technical Leader since 2016. During these years the most important lesson I learned is that as a servant leader my main focus should be my team because everything it’s about them, it’s not about me. Actually, my main responsibility is to set up my team members for success.

The success of a product is a team effort and my role is to build, train, and lead engineers. Awesome teams build awesome products. In order to achieve this objective, it’s necessary to combine tech skills with people skills.

Book vector created by pch.vector — www.freepik.com

Recently, I found a definition about leadership on a…


Generics means we use a class or an implementation in a very generic manner. For example, the interface List allows us for code reuse. We are able to create a list of Strings, of integer values and we will have the same operations even if we have different types. So the list wraps a common functionality for each implementation.

Kotlin allows you to use parameters for methods and attributes, composing what is known as parameterized classes.

1️⃣Type vs Class vs Subtype

  • Type describes the properties that a set of objects may share.
  • Class is just an implementation of that type.
  • A subtype must accept at…


Coroutines are officially part of the Kotlin standard library starting with version 1.3 and they are very helpful in creating concurrent non-blocking code. They simplify async programming. Coroutines are actually lightweight threads.


It’s time to continue our learning path in Kotlin. The subject covered in this new post is represented by Collections and data operations applied to them.

Collections are actually a set of classes and interfaces that provides high quality implementations of useful data structures and algorithms that help developers to reduce the programming effort and time.

🕵️‍♀️Collections

In Kotlin there are different flavors of collections. Just like Java, all collection interfaces are originated from the Iterable interface. The main difference between Java and Kotlin is that in Kotlin we have mutable and immutable collections. …


The journey in Kotlin Wonderland continues with an article about classes and objects. Until now we discovered details about Kotlin philosophy, basic types, control flow expressions, null safety and functions.

📌Class Hierarchy


Kotlin promises concise, expressive and safe code. In the previous articles I covered topics like basic types, control flow instructions, equality checks, null safety.

In this article we will have some fun with functions and learn new keywords from the Kotlin Wonderland.

Functions are the basic building block of any program. In Kotlin functions are declared with the fun keyword and they are first-class citizen. It means that functions can be assigned to the variables, passed as an arguments or returned from another function.

📌Function vs. Method

Function and method are two commonly confused words. …


In my previous article we discovered details about how Kotlin was designed, what is the philosophy behind this new programming language and how its popularity has grown over the past years.

In this article we’re going to continue with some basic concepts from Kotlin Wonderland like:

✅basic types from Kotlin

✅control flow instructions

✅equality checks

✅null safety

📌Define variables (val vs var)

  • val is immutable (read-only) and we can only assign a value to them exactly one time.
  • var is mutable and can be reassigned.

📌Types in Kotlin

In Kotlin everything is an object.


At this moment, in the world, there are more than 5000 programming languages available. Now, the first question asked by us, the developers, is why do we need another programming language like Kotlin?

Kotlin is a general-purpose language that supports both functional programming and object-oriented programming paradigms. It’s an open-source project developed mainly by JetBrains with the help of the community. Like Java, Kotlin is a statically typed language, however, in Kotlin we can skip the types.It’s an open-source (Apache 2.0) project developed mainly by JetBrains with the help of the community.

The Kotlin philosophy is to create a modern

Magda Miu

Squad Lead Developer @orangeromania ✨ Android @GoogleDevExpert ✨ Blogger, Speaker, Trainer #android #kotlin #gde #agile #scrum

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