Download courses on android programming. Free course “Android. Fast start. What a mobile application developer needs to know
Hello. Today I came across a post about a programming course for Android on the Linux Foundation website, and along with it, a lot of comments that I would like to see a translation of these lessons. Since now, after four years of development for microcontrollers, I have begun to study programming for mobile devices, then at the same time I decided to translate the first part of the lesson.
Android programming for beginners. Part 1
Android smartphones and tablets are increasingly found in our bags and pockets, and Android programming is also becoming more popular. It's a great development platform - the API is well documented and easy to use, and it's just fun to create something that you can run on your smartphone. Initially, you can do without it by creating and testing the code using an emulator on your Linux PC. The first of a two-part introduction explains how to create a simple timer app and gives you an introduction to the Android API. The course assumes a basic understanding of Java, XML and programming technologies, but still feel free to try even if you have a very vague understanding of it.Getting started and development environment
A little about the versions: latest version Android is 4.2 (Jelly Bean), but as you can see from this chart, it's not widely deployed yet. It is best to start developing under one of the versions: 4.0 (Ice Cream Sandwich) or 2.3 (Gingerbeard), especially considering that Android versions are backward compatible (i.e. your code for version 2.3 will work on 4.2), and applications developed for a later version will not always work on the old one. The code shown here should work on versions 4.0 and 2.3.The easiest way to get a development environment is to install the Android Bundle, which you can download. Also you will need JDK 6 (not just JRE). Don't forget that Android is not compatible with gcj. If you are already using Eclipse or another IDE, then you can try setting it up for Android. How to do this is described. Now create a project called Countdown using Eclipse, or from the command line. I set the settings to BuildSDK 4.0.3 and minimum SDK 2.2, and (in Eclipse) used the BlankActivity template.
My first project for Android: interface
Our first program for Android will be a timer that shows a countdown from 10 seconds after pressing a button. Before writing code, we need to create an interface - what the user will see when they launch our application. You need to open res/layout/activity_countdown.xml and create an XML template - using the Eclipse editor or a text/XML editor, enter the following:Congratulations, you've just created your first Android app. In the second part of this introduction, we will take a closer look at the structure of the Android application, and make some improvements to our program: countdown time input, the Stop button, and the menu. We will also run it on a real device and not on an emulator.
Do you know how to become an Android programmer in just 8 months and earn at least 100,000 rubles a month, working from home and traveling endlessly? Do you want to open your own business and be respected and appreciated by everyone?
Then I want to to some extent warn you against trying to educate yourself using numerous paid Internet courses, which very often scam suckers. If you are interested in search engine optimization, web design and programming, then you need to understand a simple thing...
Firstly, all the reviews are like “I sold CDs in transition, but after buying access to lectures on Geek brains, after 3 months of hard work I became a programmer. Guys, the main thing is to believe!” written by copywriters. Secondly, none of the course sellers will warn you about what level of knowledge you already need to have in order to start training. There is a good chance that you will open the textbooks and... not even understand how to install the program to create code. And your money will not be returned to you.
They say that the same website Java rush, where Java is taught as a game and in a rather chaotic manner, may have some benefit, but provided that you already... here I’ll ask for a minute, know other programming languages. How many years does it take to learn Java thoroughly? A professional programmer, educated at the institute, told me that he writes in it and continues to learn it for 5 years, but still has not mastered it perfectly. He already has his own small business behind him, knowledge of several other languages, many completed projects, and he keeps learning Java!
Key skills:
Knowledge of Java Core
Knowledge of Android SDK
Experience in IntelliJ IDEA, Eclipse, Android Studio
Experience developing Android applications in Java
Experience with XML, JSON, HTTP, sockets
Knowledge of Android API, understanding of Android architecture, user interface, menus, dialogs, resources, logcat, MVC
Intents, Fragments, Content providers, broadcast receivers, Google Maps, widgets, telephony, sensors, bluetooth, graphics and animation
SQLite, Web, Concurrency
Basic familiarity with the latest version of Android guides
Understanding the features of a mobile application in conditions of a weak communication signal
Confident knowledge of basic design patterns
Creative approach to assigned tasks
Ability to write clean code and correctly create and use unit tests
Ability and desire to acquire new skills and master new technologies
Ability to quickly understand someone else's code if needed
But how much money they promise for Geek brains in the end. That is, they assure that most of you will receive this much already during the training process:
Android programmer - 100,000 rubles
Mobile developer - 130,000 rubles
Web developer - 100,000 rubles
Java programmer - 110,000 rubles
Development mobile applications for Android (Level 1, beginner):
Are you already confident in programming in one or more languages and want to develop applications for Android? Today it is a very prestigious and well-paid profession, which is at the peak of popularity. However, to become a good developer, you need to learn how to write high-quality and functional applications. By completing this course, you will gain practical skills in creating applications and will effectively use the capabilities of the Android platform and resources.
Let's say you dream of becoming a programmer. You come and say:
— Sign me up to study as an Android programmer!
And they answer you:
- Not yet. Well then, write it in Java SE8, and only then...
— Do you know C and C++?
- Uh... No.
Sign me up in C!
- If you know the basics of programming and databases and have equivalent training...
This means that before the Android programming course, you will have to take 3-5 more different courses. And after passing, you can already sign up for the 6th. Please note, this is only the first level, initial. There is no talk at all about any employment in six months or a year as an “Android programmer”.
Java. Level 1. Basic course
- Lesson 1
Course Overview, Introduction to the Java Platform, Setting Up the Environment, The simplest program Hello world in notepad, Launch and execution, Development environments (IDEs), Introduction to the Eclipse development environment, Idea, Hello world in the Eclipse environment, Idea - Lesson 2
Primitive data types, Variable declarations and their initialization, Constants, Stack, heap and where data is stored in Java, Type conversions in Java, Basic operators in the Java language: arithmetic, logical, bit, string, Working with characters and strings, Outputting results console programs - Lesson 3: Flow Control and Loops
Fundamentals of Procedural Programming, Branching, Loops, Method Design, Constructors, Good and Bad Names, Method Parameters, Method Overloading, Recursion - Lesson 4. Introduction to OOP
Classes and objects, Abstraction, Encapsulation, Inheritance, Polymorphism, Access modifiers - Lesson 5
UML Design Principles and Fundamentals, Class Diagrams, Abstract Classes, Clone Interfaces, Multiple Inheritance in Java, Programming According to Interface rather than Implementation - Lesson 6
Types of containers in Java: List, Map, Set, Basic implementations of containers, Basic techniques for using containers, Walking through collection elements, Iterator design pattern, Comparing collection elements, Sorting collection elements - Lesson 7
Concept of Exception Handling, Comparison of Traditional Error Handling Mechanism with Exception Handling Mechanism, Try-catch-finally Block, Types of Exceptions, Standard Exceptions in Java and Their Role, Throwing an Exception from a Method - Lesson 8. Writing a “Network Chat” program
Basics of working with the Swing library, Basics of working with file system in Java, Writing the game “Battleship” from scratch - within 7 lessons, Writing the “Network Chat” program, Writing the “simple Web-server” program
Android. Level 1. Development for mobile devices
- Lesson 1: Introduction to the Android Platform
Acquaintance. Course program General information about the Android platform, historical background Architecture of the Android platform Stages of creating applications, from idea to GooglePlay Installation and configuration necessary tools Basic components of the Android SDK Development environment overview (Eclipse and AndroidStudio) Example simple application"Hello Android!" - Lesson 2. Activity and application resources
Main components of an Android application Security model and permissions Android project structure Activity life cycle and callback methods Using LogCat Resources in an Android application (strings, sizes, colors, arrays) Alternative resources and qualifiers Application localization - Lesson 3: User Interface Design
Features of UI design for mobile platforms Differences in UI design for phones and tablets Basic characteristics of screens Principles of UI design in Android Layouts and container components Review of standard UI elements in Android Creating different versions of the design for different device configurations - Lesson 4. Menus and Dialogs
Menu in the Android ActionBar application, options menu and context menu of elements Creating nested menus Design principles dialog boxes in Android DialogBuilder Class AlertDialog, TimePickerDialog and DatePickerDialog Dialogs Creating your own dialog box - Lesson 5. Collections in Android
Introduction to MVC (Model-View-Controller) Concept Android Collections and the AdapterView Class Using the ListView Component Various Data Sources for Lists Working with List Items The BaseAdapter Class, Creating Your Own Adapter Working with the GridView Component Working with the Spinner Component - Lesson 6
The intent mechanism in Android Adding a new Activity to an application Explicitly calling an Activity and the Intent class Passing parameters through an Intent object Getting the result of an Activity Implicitly calling an Activity Working with standard applications(Phone, SMS, Mail, Browser) Application class override - Lesson 7
An overview of Android storage options Saving intermediate state Activity SharedPreferences class and application settings Working with internal (protected) memory Getting the state of the memory card Working with files on the memory card Developing a class to work with text files Application Assets and Raw Resources - Lesson 8
The concept of fragments and their life cycle The architecture of fragments in Android The Fragment and FragmentManager classes The interaction of fragments with an Activity Using fragments Working with the HTTP protocol in Android Example web client applications Summing up
Android. Level 2. Professional application development
- Lesson 1: SQLite Database
Introduction to relational databases. Structured language SQL queries. SQLite database in Android. An example application for working with a database. - Lesson 2. Intent filters and content providers
Intents (actions, categories, data). Intent filters. Content providers. An example application with a content provider. - Lesson 3. Positioning and maps
Location methods. Work with Google maps Maps. Implementation of maps in the application. Managing the card in the application. Adding points to the map. Determining location without maps. - Lesson 4. Multithreading in Android. Services
Concept of process and flow. The main thread of the application. Thread and Runnable. AsyncTask and Loader classes. The post() method. Services (services) in Android. - Lesson 5. Broadcast Receivers. Widgets
Broadcast Receiver concept. Examples of using broadcasts. Home screen widgets. An example of a simple widget. - Lesson 6. Telephony, sensors, bluetooth
Telephony manager in Android. Incoming call tracking. Device sensors. Bluetooth. - Lesson 7. UI components. Graphic arts. Animation
Creation of UI components. Life cycle of a UI component. Graphics in Android. Animation. - Lesson 8. Debugging applications
Debugging Android applications. Breakpoints and step-by-step execution. ADB shell interface. DDMS, Traceview, LogCat
Android mobile application development. Level 1
Are you already confident in programming in one or more languages and want to develop applications for Android? Today it is a very prestigious and well-paid profession, which is at the peak of popularity. However, to become a good developer, you need to learn how to write high-quality and functional applications. By completing this course, you will gain practical skills in creating applications and will effectively use the capabilities of the Android platform and resources.
The first level will give you a general knowledge of operating room architecture Android systems, familiarity with the Android Studio development environment, knowledge of the basic patterns of Android application development. And most importantly, the ability to create applications that do not require interaction with the outside world (through the network, camera and other sensors).
During the course, you will learn how to develop simple mobile applications using an Android emulator. Learn how to make a usability-friendly menu. You will work with internal system services in Android OS, content providers and databases.
And also test created mobile applications for effective operation. Each module of the program requires the mandatory consolidation of skills in practice and the solution of problems that you will encounter in real life.
Do you want to become a successful and sought-after developer? Sign up for this course. It is the first in the chain for Android application developers.
Android is a popular platform, with four out of five smartphones running different versions of Android, according to Gartner. and applications for Android smartphones will not be left without a piece of bread and butter.
If you want to see if you'll like writing Java for Android, but are just starting out, give it a try. Developers are like gourmets: they like some things and hate others. But all these impressions are based solely on personal experience– until you try the dish yourself, you will not be able to evaluate its taste. It’s the same in development: until you do something personally, it will be impossible to determine whether this direction is to your taste. The course "" is for those who want to understand their preferences.
A quick start means complete immersion: straight into development without boring theory. According to the teacher himself Igor Dolgov, who, by the way, trained more than 4,000 people, “ training should be concise, require a lot of concentration from participants, “use their brains,” but at the same time easy, funny and fun!” In addition, Igor is a professional who has many implemented projects in the largest corporations in the country.
« The course is suitable for those who have learned the basics of Java and want to try themselves in Android development in a game form, says the teacher - if you are interested in game development, then taking this course is just a small first step in this direction. You have room to grow further. You can dive into the intricacies of a game dev. View libgdx. Learn one of the popular cross-platform game engines: Unity, Unreal Engine etc.
And a unique opportunity: those who want to participate in the team development of this game or something similar to it, if you have time, a positive attitude, inspiration, ideas, qualifications, desire to learn on your own, you can write to the teacher ( [email protected]) to join one of the team projects of the Khasang community»
The purpose of the course is to understand whether this direction is interesting to you and whether it is worth continuing. To do this, you will write a game for an Android smartphone.
The first lesson is installing and configuring tools for developing a game with comments from the teacher. You will need a computer with Windows, Mac or Linux, a desire to learn new skills and acquire useful knowledge.
The following lessons will teach you how to draw the graphics necessary for the game using simple objects as an example. At the same time, you will plunge directly into game design. See how they are created graphic objects, classes are written and the constructor is used. Learn what refactoring is and how to separate logic from display; what are interfaces and how to use them. Learn to detect screen touches by putting the concept of interactivity into practice. Don't miss collections and inheritance. The teacher explains each written line and the logic behind the formation of the code itself to fully understand what is happening on the screen. After all, the goal of learning is to learn how to do it and understand why it is so.
The entire course code is posted on Github, you will receive a link during the lessons. Also, upon completion of the course, you will receive a certificate confirming that you have completed the material and the opportunity to plunge deeper into the fascinating, although sometimes difficult, world of development. Good luck!