1. compose
1.1. widgets
1.1.1. text, button, Image, Icon
1.2. layouts
1.2.1. column, row, box
1.3. modifier
1.3.1. width, height, padding
1.3.1.1. graphicLayour - use for animation and another action with UI
1.4. LazyColumn
1.4.1. items, itemIndexed
1.4.1.1. can use into row
1.4.2. reuse items in the list
1.5. LazyRow
1.5.1. items, itemIndexed
1.5.1.1. can use into column
1.5.2. reuse items in the list
1.6. use lamda. primitives
1.7. dynamic components(with state)
1.7.1. TextFields
1.7.2. Switch
1.7.3. CheckBox
1.7.4. RadioButton
1.7.5. Slider/RangeSlider
1.8. edgeToEdge
1.8.1. Use safeContentPadding(both navigationPadding and StatusBarPadding) GesturesPadding
1.8.2. сделан для оступов для телефонов с челкой, сгибающихся смартфонов. Это создает проблему с отступами - верстка выходит за границы или не прставлялись отступы. Поэтому следует использовать атрибуты выше в modifier
2. Navigation
2.1. Navigation host
2.2. Nav graph
2.3. Main fragment
2.4. action - переходы на другие фрагменты
2.5. args - аругменты
3. manifest
3.1. Application
3.1.1. label
3.1.2. icon
3.1.3. theme
3.1.4. supportRTL
3.2. permissions
3.3. activity
3.3.1. intent-filter
3.3.1.1. launcher/main
3.4. service
3.5. brodcastreciever
3.6. content-provider
4. gradle
4.1. gradle app
4.1.1. plugings
4.2. gradle module
4.2.1. toml file
4.2.1.1. dependecies addresses
4.2.1.1.1. divide labrary to version. name. group
5. Intent
5.1. Связывает между собой основные компоненты андроид(activity, services, broadcast-reciever, content-provider)
5.2. Можно открыть другое приложение, веб-сайт
6. Architecture
6.1. MVI
6.1.1. Controller - VIewModel
6.1.1.1. event
6.1.1.2. state
7. save data
7.1. shared preferences
7.1.1. not safety. not fast. not reactivity
7.2. Data STORE
7.2.1. more safable has reactitivity
7.3. ROOM
7.3.1. Entities
7.3.2. Database object
7.3.3. DAO