ΠΠ΅ΡΠ½ΡΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΊΡπ΄ Live-cΠΎΠ±Π΅Ρ: Android ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ
Live-ΠΌΠΎΠΊ-ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Android-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Ρ ΡΠ°Π·Π±ΠΎΡΠΎΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠΊΡΠ°Π½Π° Π·Π²ΠΎΠ½ΠΊΠ° Π² ΡΠ΅Ρ
ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ. ΠΠΈΠ΄Π΅ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²ΠΎΠΏΡΠΎΡΡ ΠΈΠ½ΡΠ΅ΡΠ²ΡΡΠ΅ΡΠ°, ΠΎΡΠ²Π΅ΡΡ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠ° ΠΈ ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ ΡΠ°Π·Π±ΠΎΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² ΠΎΡΠ΅Π½ΠΊΠΈ.
- ΠΠ°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
- Mobile
- Π€ΠΎΡΠΌΠ°Ρ
- ΠΠΎΠΊ-ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ
Π―Π½Π΄Π΅ΠΊΡ ΠΠ΅ΡΡΠΈΠΊΠ°Π»ΠΈ- ΠΡΠ΅ΠΉΠ΄
- Senior
- ΠΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ
- 1 Ρ 39 ΠΌΠΈΠ½
ΠΠΎΡΠΎΡΠΊΠΎ ΠΎ Π²ΠΈΠ΄Π΅ΠΎ
ΠΡΠΎ ΡΡΠ΅Π±Π½ΠΎΠ΅ live-ΠΌΠΎΠΊ-ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Android-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°: ΠΠΈΡΠ° ΠΠ΅Π²ΡΠ΅Π½ΠΊΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡ ΠΠ»Π°Π΄ΠΈΠΌΠΈΡΠ° ΠΠΎΠ»Ρ
ΠΎΠ²ΡΠ΅Π²Π° ΡΠ΅ΡΠ΅Π· Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ, ΡΠ°Π·Π±ΠΎΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ ΡΡΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ. Π¦Π΅Π½ΡΡΠ°Π»ΡΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ° β ΡΠΊΡΠ°Π½ ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ: ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ² Π½ΠΎΠΌΠ΅ΡΠΎΠ² Ρ Π±ΡΠΊΠ΅Π½Π΄Π°, Π²ΡΠ±ΡΠ°ΡΡ Π½ΠΎΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΎΡΠ»Π°ΠΉΠ½-ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΎΡΠΈΠ±ΠΊΠΈ API ΠΈ Π·Π°ΠΏΡΡΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ Π·Π²ΠΎΠ½ΠΈΠ»ΠΊΠΈ. Π ΡΠ°Π·Π³ΠΎΠ²ΠΎΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡ Clean Architecture, ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΈ use cases, Kotlin data class ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ViewModel, LiveData, RxJava, ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ» Fragment ΠΈ ΡΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ; Π² ΠΊΠΎΠ½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ²ΡΡΠ΅Ρ Π΄Π°ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΠ²ΡΠ·Ρ ΠΈ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π°ΠΉΠΌΠ° Π² Π―Π½Π΄Π΅ΠΊΡ ΠΠ΅ΡΡΠΈΠΊΠ°Π»ΡΡ
.
ΠΠ°ΡΡΠΎΠ½ΡΡΡΠ΅ ΡΠ΅ΠΌΡ
Π§ΡΠΎ Π²Π·ΡΡΡ Π½Π° Π·Π°ΠΌΠ΅ΡΠΊΡ
- Π small talk ΠΈΠ½ΡΠ΅ΡΠ²ΡΡΠ΅Ρ Π²ΡΡΡΠ½ΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ, ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ΅Π»ΠΈΠ·ΠΎΠ² ΠΈ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ Π·Π° ΡΠ΅ΡΡΡ; Π΄Π»Ρ Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Π°ΠΆΠ½Ρ unit-ΡΠ΅ΡΡΡ ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°ΡΡ Π±ΠΈΠ·Π½Π΅Ρ-ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π² Π’Π.
- ΠΡΠΈ ΡΠ°Π·Π±ΠΎΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΠΎΡΠ½ΠΈΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΈ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ Π½ΠΎΠΌΠ΅ΡΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ, ΠΏΡΠΈΡΠΈΠ½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π½ΠΎΠΌΠ΅ΡΠΎΠ², ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π²ΡΠ±ΠΎΡΠ° Π½ΠΎΠΌΠ΅ΡΠ°, ΠΎΡΠ»Π°ΠΉΠ½-ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ HTTP-ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΡΠ΅ΠΊΡΡΠ° Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ.
- Π ΡΡΠ΅Π±Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°Ρ
Π°ΡΠ΄ΠΊΠΎΠΆΠ΅Π½Π½ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ Π΄Π»Ρ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΎΡΠ»Π°ΠΉΠ½ ΠΈ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠ΅Π½ΡΡΡ Π½ΠΎΠΌΠ΅Ρ Π±Π΅Π· ΡΠ΅Π»ΠΈΠ·Π°; ΠΊΠ°ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
ΠΏΠΎΡΠ»Π΅ ΡΠ΅ΡΠΈ.
- Π’Π΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π΅ Π·Π°Π΄Π°ΡΡΡΡ Π·Π°ΡΠ°Π½Π΅Π΅: ΠΎΡ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠ° ΠΎΠΆΠΈΠ΄Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π²ΡΠ±ΠΎΡΠ° Fragment ΠΈΠ»ΠΈ Activity, Views ΠΈΠ»ΠΈ Jetpack Compose, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΡΠ°ΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π° Π² Π΄ΠΎΠ»Π³ΠΎΠΉ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅.
- ΠΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ Π΄Π°Π½Π½ΡΡ
, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, use case Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅ΡΠ°, ViewModel ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅; ΠΈΠ½ΡΠ΅ΡΠ²ΡΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π° ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ»ΠΎΡΠΌΠΈ.
- ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎ Kotlin ΠΎΡ
Π²Π°ΡΡΠ²Π°ΡΡ ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ ΠΈ hashCode Ρ data class, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Set ΠΈ HashMap ΠΏΡΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡΡ
Ρ
Π΅ΡΠ΅ΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π·Π° Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌ LiveData.
- ΠΠ»Ρ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡ ΠΎΡΠΌΠ΅Π½Ρ RxJava-ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ ΡΠ΅ΡΠ΅Π· CompositeDisposable, ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ LiveData ΠΊ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠΌΡ ΡΠΈΠΊΠ»Ρ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΡΠ΅ΡΠΈ ΠΈ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΡΡ
HTTP-ΠΎΡΠ²Π΅ΡΠΎΠ².
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ