Hello fellow developers, several months have passed since my last article. The reason behind my silence is actually good news. I am so happy to announce that I have landed a job. 💪🎊 The name of the company I joined is @Getir. Getir is one of the most successful companies here in Turkey and last month we have become the second unicorn company in Turkey. It’s been 5 months here and I am really getting used to professional experience. This is so exciting!

After a short catch-up session, let me continue with the topic. In February Jetpack Compose Beta version…

the image is taken from here

In this article, I will explain the Room Persistence Library, and we will try to implement our first database.

Android Jetpack is a collection of components for Android development. Room database is a component for databases. Let me explain the Room in detail. We will be using Kotlin and Android Studio.

The Room persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.

Room database allows you to create a data cache to keep the application’s data. The cache serves as a single source of data and allows…

The image is taken from 101android.com

After coding the app, the functionality is not enough for a good-looking modern app. I think everyone is accepted that today, the app should consist of UI/UX, transitions-animations, and of course client-side. Today I will try to explain one of these aspects which is animations for recycler view items. I will be using Android Studio and Kotlin. Have fun :)

Let’s start with the basics

First of all, you need to create an anim folder to store your animation files.

Explanation of Recycler View

Recycler view is a component in android development that is required for listing a large amount of data to the screen. In this story, I will try to explain that concept further.

Of course, you can also use ListView or something else but Recyclerview wins the competition in case of performance. What did I mean by the word “performance”? While Listview is trying to load the whole array, the Recycler view only loads the required data for display. Which means, for example, You have 20 items in an array and your screen size is enough for only 5 items in…

What does it mean?

Singleton is a software design pattern that you can get an instance of it at one time. Singletons are useful when a system needs a resource to control the action of the entire software system. It provides easy access from anywhere on the system.


You can say why we are not using static objects like in Java or global variables? Because Kotlin itself does not contain “static” keyword. Of course, you can use other identifiers that have similar functionality with static but this is a topic for another article. Also :

  • Singletons can implement interfaces
  • Singletons can be passed as…

States of an android app throughout its life

What is it?

The activity lifecycle is the order of the methods when an app starts until it is closed. In other words, it phases of the app from birth to death like human life (there are one or two different cases like pause and restart but we will mention them later). You started an app and then you send it to the background. What happens next? Or you change the state of the phone from portrait to landscape, what happens after that?

It is important because...

If you get a call while you are filling long entries, these…

Function in programming means, a unit of code that performs a specific task. And they provide better modularity for your application and a high degree of code reusing. In Kotlin there are different function types and ways of use. I will try to explain about function in Kotlin in this writing.

Function Basics

You can start creating functions with keyword “fun” then you give a name, then parameter parenthesis and curly braces.

code sample 0

The section number: Int represents the parameter type, which means the number variable will be an Int type. If you try to assign a string or boolean…

Introduction to Variable types and Control Flows

Variable Types

Variables are the nouns of programming languages. They are the entities (values, data) that act or are acted upon.

1. Numbers

There are six number types in Kotlin. These are byte, short, int, long, float and double. These types have different min max values and the values are restricted to an interval. You can ask why all numbers are not using only one variable type. The answer is performance. For example, if there were only the Long type, then it must contain all numbers. And if it contains all numbers there should be a huge…

Git is a version control system created by Linus Torvals in 2005 for the development of the Linux kernel. Nowadays, almost every tech company using a version control system, even if it is not Git. The reason behind it, Git allows teams to control their code asynchronously in a project. Also, it allows efficient and effective code contributions to same project.

Basic Commands

git version

Users can check version of the Git with this command, also they can check if it is installed properly and working.

Caner Gures

Android Developer @Getir, who is eager to learn new things. Lover of science, sci-fi, gaming, nature, human psychology, and gaming.

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