Lesson 1. Introduction.

Good afternoon

This is an introductory lesson. Here we will not codify anything yet, I will note the reasons that led me to create this site.

I started learning about Android development with examples on the official website. I didn't understand half of what I was doing. But some knowledge came out of there and some theories read about the same resource. In this sense, my acquaintance with Android ended) I didn't know where to go next. For some reason I didn't think about books, but in vain …

Later, I came across an article called "Five of the best Android development books". Interest arose, it became clear where to move, I started reading these books. I didn't understand everything, but much more than the first examples. But if you read such books completely from scratch, then many will not be obvious and incomprehensible.

Therefore, I want to try to create tutorials on Android for beginners so that the reader does not have obscure topics behind it. I will try to explain everything in more detail and I will make various examples for greater clarity. With each new lesson, I will introduce and use new concepts and objects and use objects from previous lessons to reinforce.

I try to make each lesson as independent and separate as possible, so that you can get in, look at the right subject and not look at a bunch of unnecessary things. I try to select examples that most clearly reflect the subject of the lesson.

Unlike some authors, I will not teach you programming in "24 hours" or "30 lessons". We all understand that this is impossible) I do not know how many lessons I will receive. I think about one hundred is enough to provide the entire basis in sufficient detail. And then hundreds more will go to various advanced chips. In general, those who start studying, most likely do not have to run much on other sites (except for official help) for additional knowledge. Here you will find a lot of useful, consistent and simple language information.

You have to understand that my lessons are not always an "exactly how to" guide. I can neglect something and I am missing something to show the subject of the lesson and do not give additional material. Therefore, please do not consider everything that is said in the lessons as the only correct way of implementation.

If you have any problems with Android, the site has a great forum, which is always happy to help beginners figure out even the simplest questions. It is true, it is protected from spam by a security question and you can answer to register only by reading the first five lessons. This is a forced defense. But since the introduction of this question, no spammer has entered the forum!

Currently, the lessons cover topics:

– screen creation (in editor and programmatic)
– Click on manipulators
– logs and pop-up messages
– regular menu, context menu
– animation of View components
– creating and calling the Activity (+ return the result)
– the activity cycle of the activity (activity status)
– Intent filter, intent
– data storage (Preferences, SQLite)
– list and adapters
– dialogues
– Package, Parcelable
– Preferences when storing application settings
– works with files
– row file
– XML ​​parsing
– asynchrony (Handler, AsyncTask)
– services
– Content provider
– tactile processing, multi-touch
– fragment
– Action Bar, ActionMode
– widgets
– application keys and signature
– ViewPager
– sound and video playback
– sound recording
– work with the camera
– sensors
– Google Maps
– drawing

Keep reading books and lessons will come as I grow. Finally, I think we will reach the point that we will become quite advanced developers in demand on the market. In general, as one zomboyaschik clown says – "do not switch") It will be interesting!

In the next lesson, we will install and configure the Android application development environment.


Development is in Java. You may also need knowledge of SQL, XML and other related technologies. You think you know them. If not, then something basic in Java will need to be read.

Google periodically releases Android updates for the development environment. Therefore, the content of the lesson may be slightly outdated and the actual image may differ from the screenshots. If this difference is cardinal or the examples do not work, write it on the forum in the lesson thread. We will update. If the difference is only in the background color of the application or the font size, then this, of course, is not critical and does not affect the lesson message.

It is also noted that the behavior of the code on different versions of the system may be different. We have not checked the performance of the lesson materials on all possible versions, so your results may differ from mine.


It is sometimes said that most of the lessons are made for Android 2.3, and now Android versions have already been released, for example, 100500 and the lessons are outdated. In a way, Weirdo even wrote that 90% of lessons consist of outdated methods. I really don't like to comment stupidly, but for starters I will express my opinion about this whole amateurism.

I cannot restore all the lessons with each version of the new version of Android. Moreover, nothing needs to be redone. The vast majority of lessons will remain the same and everything will work well in any version. In addition, the share of devices on Android 2.X is still high enough to be neglected. And in your applications you will specify the minimum version 2.2 or 2.3, in order not to lose a whole segment of users. So I do not understand the meaning of kipish.

Yes, there are so that, with the release of the new versions, some lessons are really outdated and need to be updated. This, for example, touched on Lesson 52 and we updated it in a separate lesson. But the constant monitoring and updating of the whole lesson due to the fact that there is now a method (horror-horror !!!) outdated is difficult. Remember that I take care of the site in my spare time. And I would rather spend it to write new material than to track and repair outdated methods.

Google help for legacy methods usually provides a link to a new method. So if you see that Eclipse swears by an outdated method, then look for her help and see what has been replaced.


According to Android Studio, the situation is about the same. I see no reason to go to AS, because the main thing in the lessons is the code, not the development environment. If not, I will copy the first lessons for AS

Discuss in forum (49 replies)

Leave a Comment