Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 91 additions & 0 deletions android_tips.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# Советы по Android разработке

## Этап 1: Освоить Kotlin и основы ООП
## 1.1: Переменные, типы данных, вывод в консоль

Как заводить переменные.

Какие есть типы переменных.

Как конвертировать разные типы друг в друга.

Как производить арифметические операции с разными типами и между ними, как выводить в консоль.

## 1.2: Отладка

Научитесь дебажить и принтлнами и дебаггером с точками остановки. Пока вы не научились асинхронности, дебаггер — ваш лучший друг.
## 1.3: Условия и ветвление: If-else, when, &&, ||

Изучаем условия if-else и when, их отличия и особенности.

Особенное внимание уделите отработке операторов && и || и ветвлению с этими операторами. Поиграйтесь как следует с этим, убедитесь, что понимаете каждый шаг программы — вы ведь уже умеете дебажить##)

## 1.4: Функции

Разберитесь с функциями: без параметров, с одним параметром, с несколькими параметрами, как их вызывать.

Разберитесь с областью видимости внутри и вне функции.

Функции с возвращаемыми значениями и без, как сохранять результат функции в переменную.

Как использовать if-else ветвление в функции в зависимости от переданного boolean аргумента и как вернуть разные значения в зависимости от этого аргумента.

## 1.5: Классы, экземпляры, датаклассы, объекты

Что такое свойства класса и как их инициализировать в теле класса.

Что такое конструктор класса и как в нём объявлять аргументы и инициализировать свойства.

Что такое экземпляр класса и как его создать и как добраться до его содержимого.

Какие области видимости переменных/функций и как их менять.

Как использовать функции и свойства класса.

Разберитесь, как передавать и использовать классы как параметры функций и классы как параметры в конструкторе классов.

Разберитесь, зачем ввели понятие датаклассов и в чём их плюсы и минусы.

Разберитесь, что такое объект, и чем он отличается от класса.

## 1.6: Списки, массивы, циклы

Что такое списки и массивы, какие бывают и чем отличаются.

Что такое циклы, как с их помощью перебирать элементы коллекции и доставать значения.

Как вызывать функции у элементов коллекции и распечатывать значения.

Как посчитать среднее значение коллекции целочисленных элементов.

Важное уточнение: не забегать вперёд и не использовать удобные экстеншны, если не можете их сами вручную написать.
## 1.7: Лямбда-функции

Что такое лямбды, зачем нужны, где используются, какие плюсы-минусы, как передавать их как параметр и как сохранять в переменную.
## 1.8: Наследование

Что такое наследование и полиморфизм и зачем они нужны.

Какие у наследования плюсы и минусы.

Как наследование влияет на области видимости родителя/наследников.

## 1.9: Абстрактные классы и интерфейсы

Чем абстрактный класс отличается от интерфейса.

Когда лучше использовать одно, а когда другое, и в чём плюсы и минусы.

Как и зачем наследоваться от абстрактных классов вместо обычных.

## 1.10: Scope-функции

Изучаем let, run, also, with, apply: чем отличаются, когда что из них использовать.

Почитайте про нуллабельность, безопасный вызов и как let с этим помогает, и как строить безопасные цепочки вызовов.

## 1.11 Обработка ошибок

И на закуску почитайте про эксепшны и как их обрабатывать, кидать, отлавливать, и как сделать кастомные эксепшны.

##На этом знакомство с Kotlin можно считать оконченным, дальше можно продолжать его осваивать уже в контексте android-разработки.