Good afternoon!

This is an introductory lesson. We will not code anything here. In this lesson I will enlighten reasons why I decided to create this site.

Translated by Taras Leskiv (

I have started my Android development with examples from the official web site. I didn’t understand half of the things I was doing. But I gained some knowledge there and read some theory on the same web site. On this stage my acquaintance with Android has ended. I didn’t know what to do further. But unfortunately, for some reason I didn’t think about reading books.

Later I came across an article "Five of the best Android development books". I got interested again. I found out what to do next and started reading these books. I didn’t get everything, but much more than from the first examples. But if you start reading such books from scratch, a lot of things may seem vague and unclear.

That’s why I would like  to create lessons for beginners in such way that there are no unknown topics left behind for the reader. I will try to explain everything as detailed as possible and make different examples for more clearness. In each new lesson I will include and use new concepts and objects and will use objects from previous lessons for consolidation of knowledge.

I will try to make each lesson as independent and isolated as possible, so you can find the topic you need and don’t have to browse lots of unnecessary stuff. I am trying to pick examples that enlighten the lesson’s topic the best.

Unlike other authors I am not going to teach you programming in "24 lessons" or in "30 hours". We all realize that it’s not possible ) I don’t know how many lessons there will be. To my mind, something like hundred will be enough to learn the basics.  And after that there will be one more hundred to learn different advanced stuff. Those who start learning, most likely will not have to visit other sites (except for the official site) for additional knowledge. Here you will find a lot of useful, consistent and clearly presented information.

You have to understand that my lessons is not always a manual "how it must be done". I can neglect or ignore some stuff to enlighten the lesson subject and not to give superfluous materials. That’s why, please do not consider all the content of the lessons the single right way of implementation.

I continue reading books and lessons will appear as I improve my knowledge. Finally, I guess, we will become advanced developers in demand on market. Do not switch the channel, it would be interesting!

In the next lesson we will install and configure the development environment for Android applications.



Development is done in Java. You can also require knowledge of SQL, XML and some other related technologies. It is assumed that you are familiar with these technologies. If not, you should read something basic stuff about Java.

Google periodically releases updates of Android and development environment. That’s why it’s quite possible that the lesson content can be a little bit deprecated and the real picture will differ from screenshots. If this difference is substantial and examples do not work, write about it to startofandroid at I will update the lesson. If the difference is only in the background color or the font size, it is obviously not critical and does not influence the lesson premise.

Присоединяйтесь к нам в Telegram:

- в канале StartAndroid публикуются ссылки на новые статьи с сайта и интересные материалы с хабра, и т.п.

- в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Compose, Kotlin, RxJava, Dagger, Тестирование, Performance 

- ну и если просто хочется поговорить с коллегами по разработке, то есть чат Флудильня