ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
Π¨Π°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Command Processor
βΠΠΈΡΠΈΡΠ΅ ΠΊΠΎΠ΄ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡ Π΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ»ΠΎΠ½Π½ΡΠΉ ΠΊ Π½Π°ΡΠΈΠ»ΠΈΡ ΠΏΡΠΈΡ
ΠΎΠΏΠ°Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π½Π°Π΅Ρ, Π³Π΄Π΅ Π²Ρ ΠΆΠΈΠ²ΡΡΠ΅.β
ΠΠ°ΡΡΠΈΠ½ ΠΠΎΠ»Π΄ΠΈΠ½Π³
ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π³ΠΎ GooglePlacesAPI, Ρ ΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠΈΠΌ AndroidβΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ API ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠ½ΡΡΠΈΡΠΈΡ ΠΈ βΠ»Π°ΠΏΡΠ°β ΠΈΠ· AsyncTaskβΠΎΠ² ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΡΠ²Π°Π»Π°, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ΄Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ. Π’Π°ΠΊ Ρ Π½Π°ΡΠΊΠ½ΡΠ»ΡΡ Π½Π° ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ CommandProcessor. ΠΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΡΠ΅ΡΠ½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Ρ ΠΈ Ρ ΠΎΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π°, ΠΎΠΏΠΈΡΡ Π·Π°Π΄Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ΅ΡΠΈΡΡ. Π’ΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π΅ Google Places API, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π΅ ΠΏΡΠ΅Π²ΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° Π½Π° ΠΊΠ°ΡΡΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ±ΡΠ°Π» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π° Π΄Π°Π»Π΅Π΅, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°Ρ ΠΎΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ), ΡΠΎ ΠΏΠΎΠ΄Π³ΡΡΠΆΠ°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ Id Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°, ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΆΠ΅ Π²ΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌΡ ΠΌΠ΅ΡΡΡ. Π‘Π°ΠΌΡΠΌ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ Π½Π° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ AsyncTask. ΠΠΎ ΠΏΠΎΡΠ»Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠΏΡΡΠΎΠΊ ΡΡΠ°Π»ΠΎ ΡΡΠ½ΠΎ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ, Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠ΅. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ AsyncTaskβ ΠΎΠ² Π±ΡΠ»ΠΎ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΡΠΌ ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ:
1) Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠ΅Π²ΡΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΌΠ΅ΡΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΠ»ΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΡΠ΄Π΅Π»Π°ΡΡ Π·Π°ΠΏΡΠΎΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π²ΡΠ΅Ρ ΠΌΠ΅ΡΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΠΈΡΡ ΡΡΠ΄ΠΎΠΌ Ρ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΌΠ΅ΡΡΠΎΠΌ.
2) ΠΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΌ Id ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π·Π°ΠΏΡΠΎΡ ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ-ΠΏΡΠ΅Π²ΡΡ.
3) ΠΡΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° ΠΏΡΠ΅Π²ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ ΡΡΠΎΠΌΡ ΠΌΠ΅ΡΡΡ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ AsyncTaskβΠΎΠ² ΠΏΠΎΠ»ΡΡΠ°Π»ΡΡ Π½Π΅ΠΊΠΈΠΉ Β«Π²ΠΎΠ΄ΠΎΠΏΠ°Π΄Β» ΠΈ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ AsyncTask Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ. Π ΡΠΎΠ³Π΄Π°, ΠΏΠΎΠ³ΡΠ³Π»ΠΈΠ², Ρ Π½Π°ΡΠ΅Π» ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠ°ΡΡΠ΅ΡΠ½Π΅ Command Processor, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌΠΈ Π²ΡΡΠ΅.
ΠΠ°ΡΡΠ΅ΡΠ½ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ CommandProcessor ΡΠ°Π·Π΄Π΅Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΡ ΠΊ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΎΡ ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ»Π°Π²Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΠ°ΡΡΠ΅ΡΠ½Π° β CommandProcessor, ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ, ΠΏΠ»Π°Π½ΠΈΡΡΠ΅Ρ ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ·Π΄Π½Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΡΠΌΠ΅Π½Ρ Π·Π°ΠΏΡΠΎΡΠ°. ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ°, Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½Π½Π°Ρ ΠΈΠ· [1] ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΠΏΠ°ΡΡΠ΅ΡΠ½Π°:
ΠΠ±Π»Π°ΡΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΡΠ΅ΡΠ½Π°
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ
Π’Π΅ΠΏΠ΅ΡΡ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎΡ ΠΏΠ°ΡΡΠ΅ΡΠ½ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ, AndroidβΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘ΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ IntentService ΠΈΠ»ΠΈ HaMeR-ΡΡΡΠΉΠΌΠ²ΠΎΡΠΊ (Handler, Messages, Runnable) ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Ρ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π» Π΄Π°Π½Π½ΡΠΉ ΠΏΠ°ΡΡΠ΅ΡΠ½ Π² ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠΡΠ°ΠΊ, ΡΠ΅ΡΡΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΌΠ°ΡΡΡΡΡΡ ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π² ΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ ΠΌΠ°ΡΡΡΡΡΠ΅. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²Π° ΡΠΈΠΏΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ² (ΠΊΠΎΠΌΠ°Π½Π΄): TracksRequest ΠΈ PlacesRequest. ΠΠ±Π° ΠΊΠ»Π°ΡΡΠ° ΡΠ²Π»ΡΡΡΡΡ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ°ΠΌΠΈ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° CommonRequest, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π½Π°ΡΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ (CommandProcessor).
Π ΠΌΠ΅ΡΠΎΠ΄Π΅ sendAsyncPlaceRequest ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°: ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ URL Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ API, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Thread, ΠΏΠ°ΡΡΠΈΠ½Π³ ΠΎΡΠ²Π΅ΡΠ° ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Handler.
ΠΠ°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡ CommandProcessor, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π°ΡΠΈΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΈΡ :
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΠΊΠΎΡΡΠΎΠ»Π»Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ Π·Π°ΠΏΡΠΎΡΠ° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Handler:
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΅ΠΏΠ΅ΡΡ Π²Π΅ΡΠ½ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ Π² Π°ΠΊΡΠΈΠ²ΠΈΡΠΈ, ΠΈ Π²ΡΠ·Π²Π°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ updateUI() Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ListView, ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΌΠ°ΡΠΊΠ΅ΡΠΎΠ² Π½Π° ΠΊΠ°ΡΡΠ΅ ΠΈ Ρ.Π΄.) Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ UpdateCallbackListener:
Π ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² Π½Π°ΡΠ΅ΠΉ Π°ΠΊΡΠΈΠ²ΠΈΡΠΈ:
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²Π΅ΡΠ½Π΅ΡΡΡ Π² ΠΎΡΠ²Π΅ΡΠ΅ Π½Π° Π·Π°ΠΏΡΠΎΡ (ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΌΠ΅ΡΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΌΠ°ΡΡΡΡΡΡ) Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π°ΠΊΡΠ²ΠΈΡΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ Place Π² Π°Π΄Π°ΠΏΡΠ΅Ρ. ΠΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄ processor_.updateActivity(places), ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΠΎΠ²Π΅Ρ onUpdate() Π² Π°ΠΊΡΠΈΠ²ΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π»Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄. Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ°, ΡΠ°ΠΊΠΆΠ΅ Π²Π·ΡΡΠ° ΠΈΠ· [1] ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΠ°ΡΡΠ΅ΡΠ½Π°:
Π§ΡΠΎΠ±Ρ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π² Π°ΠΊΡΠΈΠ²ΠΈΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ TracksRequestΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π³ΠΎ Π² controller:
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ IntentService
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ IntentService ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΏΠ°ΡΡΠ΅ΡΠ½. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ:
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°-ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²ΡΠ°Ρ Intent ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π΅Π³ΠΎ Π² Π½Π°Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ. Creator β ΡΡΠΎ Π½Π°ΡΠ° activity, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ-ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡ executorβΡ, ΡΠΎ Π΅ΡΡΡ IntentServiceβΡ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠΎΠ»Ρ CommandProcessor Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠ»Π°ΡΡ CustomIntentService, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠ΅ΡΠΎΠ΄ onHandleIntent() ΠΊΠΎΡΠΎΡΡΠΉ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΡΡ , ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΡΡ Π² Intent, ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. Π§ΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² Π°ΠΊΡΠΈΠ²ΠΈΡΠΈ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ BroadcastReceiver.
ΠΠΎΡΠ°Π³ΠΎΠ²Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ
ΠΡΠ°ΠΊ, ΠΏΠΎΠ΄Π²Π΅Π΄Π΅ΠΌ ΠΈΡΠΎΠ³ΠΈ, ΡΡΠΎΠ±Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠΉ ΠΏΠ°ΡΡΠ΅ΡΠ½ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π° ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΠΏΠ°ΡΡΠ΅ΡΠ½Π°.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π² ΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π²Ρ ΡΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ°ΡΡΠ΅ΡΠ½Π°. ΠΠΎ ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ΅ΠΌΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ, Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠ°ΡΡΡ Π±ΡΠ»Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ², ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠΈΡΠΈΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ , Π΄ΠΎ Π²ΡΡΡΠ΅ΡΠΈ.
ΠΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ UX-ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ
(ΠΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡ ΡΠΈΠΊΠ» ΡΡΠ°ΡΠ΅ΠΉ ΠΏΠΎ UX/UI. ΠΠΎΠ»Π½ΡΡ ΠΏΠΎΠ΄Π±ΠΎΡΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Β« ΠΠΈΠ·Π°ΠΉΠ½ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈΒ»)
ΠΡΠ»ΠΈ Π²Ρ ΠΎΠΏΡΡΠ½ΡΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ, ΡΠΎ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΡΠΎΠ³Π»Π°ΡΠΈΡΠ΅ΡΡ: Π² UI-Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ Π²Π΄ΠΎΡ Π½ΠΎΠ²Π»ΡΡΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΠΌΠΈ Π΄ΡΡΠ³ΠΈΡ β ΡΡΠΎ Π½Π΅ Π²ΠΎΡΠΎΠ²ΡΡΠ²ΠΎ. ΠΡΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ°. ΠΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΠ·Π°ΠΉΠ½-ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ². ΠΡΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°ΠΌ. ΠΡΠΎ Π·Π°Π±ΠΎΡΠ° ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅: ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π·Π½Π°ΠΊΠΎΠΌΡΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΠ°ΠΆΡΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°ΠΌ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ Π·Π° Π΄ΡΡΠ³ΠΈΠΌΠΈ, ΠΏΡΠΎΠΏΠ°Π΄Π΅Ρ ΡΠ°ΠΊΡΠΎΡ ΡΠ²ΠΎΡΡΠ΅ΡΡΠ²Π°, ΠΈ Π²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ² Π±ΡΠ΄ΡΡ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ. Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ UX Ρ Π²ΠΈΠΆΡ Π΄ΡΡΠ³ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠΎΠ³Π΄Π° ΠΏΡΠΈΠ²ΡΠΊΠ°Π΅ΡΡ ΠΏΠΎΠ΄ΡΠ°ΠΆΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ½ΡΡΡΠΌ ΠΏΠ°ΡΡΠ΅ΡΠ½Π°ΠΌ, Π½Π°ΡΠΈΠ½Π°Π΅ΡΡ Π²Π΅ΡΠΈΡΡ, ΡΡΠΎ Google / Facebook / Instagram / [Π²Π°ΡΠ΅ Π»ΡΠ±ΠΈΠΌΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅] Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠ°Π²Ρ, Π² Π½ΠΈΡ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅ Π΄ΠΈΠ·Π°ΠΉΠ½-ΡΠ΅Π»ΠΈ ΠΊΠ°ΠΊ Ρ Π½Π°Ρ, ΠΈ Π½Π΅Ρ ΡΠΌΡΡΠ»Π° Π² Π½ΠΈΡ ΡΠΎΠΌΠ½Π΅Π²Π°ΡΡΡΡ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΠΏΡΠΈΠ²Π΅Π΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΈΡΠ°ΡΡΡΡ (ΠΈΠ»ΠΈ ΡΠ°Π½ΡΡΠ΅ ΡΡΠΈΡΠ°Π»ΠΈΡΡ) ΠΎΠ±ΡΠ°Π·ΡΠΎΠ²ΡΠΌΠΈ, Π½ΠΎ Π½Π° Π΄Π΅Π»Π΅ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π½Π΅ ΡΡΠΎΠ»Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΡΠΌΠΈ.
ΠΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅ΡΠ΅ΡΡ ΡΠ²Π΅ΠΆΠΈΠΌΠΈ ΡΡΠ°ΡΡΡΠΌΠΈ ΠΏΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Ρ? ΠΡΡΡΠΏΠ°ΠΉΡΠ΅ Π² Π³ΡΡΠΏΠΏΡ Π½Π° Facebook.
ΠΡΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ ΠΏΠΎΠ³ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅ΠΌΡ? ΠΠ°Π³Π»ΡΠ½ΠΈΡΠ΅ Π² Π±Π»ΠΎΠ³ Π΄Π»Ρ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠΎΠ².
1. Π‘ΠΏΡΡΡΠ°Π½Π½Π°Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ
ΠΠ° ΡΠ΅ΠΌΡ Π±ΡΡΠ³Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΏΠΎ ΠΌΠ΅Π½ΡΡΠ΅ΠΉ ΠΌΠ΅ΡΠ΅ ΠΏΠΎΠ»ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° ΠΏΠΎΡΡΠΎΠ²: ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π»ΡΠ΄Π΅ΠΉ (Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠΎΠ²) Π²ΡΡΠΊΠ°Π·ΡΠ²Π°Π»ΠΈ ΡΠ²ΠΎΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΡΠΎΡΠΈΠ² ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΡΠ΅ΡΠ½Π°. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π² ΠΊΡΡΡΠ΅, ΠΏΡΠΎΡΠΈΡΠ°ΠΉΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π΄Π²Π° ΠΈΠ· Π½ΠΈΡ . ΠΠΊΡΠ°ΡΡΠ΅, Π²ΡΠ΅ Π΄Π΅Π»ΠΎ Π½Π΅ Π² ΡΠ°ΠΌΠΎΠΉ ΠΈΠΊΠΎΠ½ΠΊΠ΅, Π° Π² ΠΈΠ΄Π΅Π΅ ΡΠΏΡΡΡΠ°ΡΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ Π·Π° ΠΈΠΊΠΎΠ½ΠΊΠΎΠΉ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ΅Π½Ρ Π·Π°ΠΌΠ°Π½ΡΠΈΠ²ΠΎΠ΅ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎΠ΅ Π΄Π»Ρ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠ°: Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ°ΡΠΈΡΡΡΡ ΠΈΠ·-Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°, ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΠΈΡ Π½ΠΈ Π²ΡΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ Π² ΠΏΡΠΎΠΊΡΡΡΠΈΠ²Π°Π΅ΠΌΡΡ Π½Π°ΠΊΠ»Π°Π΄ΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΏΡΡΡΠ°Π½Π°.
ΠΠ΄Π½Π°ΠΊΠΎ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΎΠΏΡΠΈΠΈ ΠΌΠ΅Π½Ρ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π½Π° Π²ΠΈΠ΄Ρ, ΡΠ°ΡΡΠ΅Ρ ΠΈ ΡΠ²Π»Π΅ΡΠ΅Π½Π½ΠΎΡΡΡ, ΠΈ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠ΅Π½Π½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΈ Π΄Π°ΠΆΠ΅ Π΄ΠΎΡ ΠΎΠ΄. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅ΠΉΡΠ°Ρ Π²ΡΠ΅ ΠΊΡΡΠΏΠ½ΡΠ΅ ΠΈΠ³ΡΠΎΠΊΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΡΡ ΠΎΡ Π±ΡΡΠ³Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ ΠΊ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΎΠΏΡΠΈΠΉ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΊΡΠ°Π½Π΅.
2. ΠΠΊΠΎΠ½ΠΊΠΈ, ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΏΠΎΠ²ΡΡΠ΄Ρ
ΠΠΊΡΠ°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ, ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠ°Π·Π°Π»ΠΎΡΡ Π±Ρ, Π»Π΅ΠΆΠΈΡ Π½Π° ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ: ΠΏΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΡ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ Π»Π΅ΠΉΠ±Π»Ρ ΠΈΠΊΠΎΠ½ΠΊΠ°ΠΌΠΈ. ΠΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΠΌΠ΅ΡΡΠ°, ΠΈΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡ ΠΈ Π»ΡΠ΄ΡΠΌ ΠΎΠ½ΠΈ Π·Π½Π°ΠΊΠΎΠΌΡ, ΠΏΡΠ°Π²Π΄Π° ΠΆΠ΅? Π ΡΠ°ΠΊ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π²ΡΠΎΡΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΠΎΠ»Π°Π³Π°ΡΡΡ Π½Π° ΡΡΠΎΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ, Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΡ ΡΠ°ΡΡΠΎ ΠΏΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ΄ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΡΠΌΠΈ ΠΈΠΊΠΎΠ½ΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΈΡΡΠΎΠ»ΠΊΠΎΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²Ρ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, ΡΡΠΎ Π·Π° ΡΡΠΎΠΉ ΠΈΠΊΠΎΠ½ΠΊΠΎΠΉ Π² Instagram ΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° Π»ΠΈΡΠ½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ?
ΠΠ»ΠΈ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° ΡΠ°Π½ΡΡΠ΅ Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠΎΠΌ Google. ΠΠ°ΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π²Ρ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΠ΅ ΠΏΠΎΠ΄ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ?
ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° β ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡΡ, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ Π²Π°ΡΠΈΠΌΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌΠΈ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Ρ ΠΎΡΡΡ ΡΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π½Π° ΠΈΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅.
ΠΡΠ»ΠΈ Π²Ρ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΈΠΊΠΎΠ½ΠΊΡ ΠΈ Π²Π°ΠΌ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Π΅Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ β Π·Π½Π°ΡΠΈΡ Π²Ρ ΡΡΠΎ-ΡΠΎ Π΄Π΅Π»Π°Π΅ΡΠ΅ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ Foursquare ΠΈ Π²Π°ΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΡΠ°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π²ΡΡΡΠΈΡΡ ΡΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ.
ΠΡΠΎ Π½Π΅ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΊΠΎΠ½ΠΊΠΈ. ΠΡΡΡ ΠΊΡΡΠ° ΠΈΠΊΠΎΠ½ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΠΎΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ β Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ: ΠΏΠΎΠΈΡΠΊ, Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ, ΠΏΠΈΡΡΠΌΠΎ, Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. (ΠΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΌΠΎΠ³ΡΡ ΡΠΎΠΌΠ½Π΅Π²Π°ΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ»ΡΡΠΈΡΡΡ, Π΅ΡΠ»ΠΈ Π½Π°ΠΆΠ°ΡΡ Π½Π° ΡΠ΅ΡΠ΄Π΅ΡΠΊΠΎ?)
Π‘Π»ΠΎΠΆΠ½ΡΠ΅ ΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΡΡ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌ Π»Π΅ΠΉΠ±Π»ΠΎΠΌ. Π ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π²ΡΡΡΡΠΏΠ°ΡΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊ Π»Π΅ΠΉΠ±Π»Π°ΠΌ: ΡΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΠ΅ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡΡ , Π° ΡΠ°ΠΌΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ΅Ρ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎΡΡΡ.
ΠΠ»Ρ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΊΠΎΠ½ΠΊΠΈ, Π½ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ½ΡΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌΠΈ Π»Π΅ΠΉΠ±Π»Π°ΠΌΠΈ. (Π Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ, Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ ΠΈΡ Π½Π° ΡΠ·Π°Π±ΠΈΠ»ΠΈΡΠΈ-ΡΠ΅ΡΡΠ°Ρ ).
3. ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΆΠ΅ΡΡΠΎΠ²
ΠΠΎΠ³Π΄Π° Π² 2007 Π³ΠΎΠ΄Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Apple ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ»Π° ΡΡΠ½ΠΊΡ iPhone, ΠΌΡΠ»ΡΡΠΈΡΠ°Ρ-ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΏΠΎΠ»ΡΡΠΈΠ»Π° ΡΠΈΡΠΎΠΊΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΠ·Π½Π°Π»ΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°ΡΡ, Π½ΠΎ ΠΈ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ°ΡΡ, ΠΎΡΠ΄Π°Π»ΡΡΡ ΠΈ ΡΠΌΠ°Ρ ΠΈΠ²Π°ΡΡ.
ΠΠ΅ΡΡΡ ΡΡΠ°Π»ΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Ρ Ρ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π»ΠΈ Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠ΅ΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΆΠ΅ΡΡΠΎΠ².
ΠΠ΅ΡΡΡ β ΡΡΠΎ Π·Π°ΠΌΠ°Π½ΡΠΈΠ²Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ΡΠΊΡΠ°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ (ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ ΡΠΏΡΡΡΠ°Π½Π½Π°Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ, ΠΈ ΠΈΠΊΠΎΠ½ΠΊΠΈ). βΠΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ βΡΠ΄Π°Π»ΠΈΡΡβ, Π»ΡΠ΄ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΠΏΠ°Π»ΡΡΠ΅ΠΌ Π²Π»Π΅Π²ΠΎ. ΠΠ»ΠΈ Π²ΠΏΡΠ°Π²ΠΎ. ΠΡΠΎ ΡΠ΅ΡΠΈΠΌβ
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΠΎ ΠΆΠ΅ΡΡΠ°Ρ β ΠΎΠ½ΠΈ Π²ΡΠ΅Π³Π΄Π° ΡΠΏΡΡΡΠ°Π½Ρ. ΠΡΠ΄ΡΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΈΡ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ. ΠΡΠΎ ΠΊΠ°ΠΊ Ρ Π±ΡΡΠ³Π΅ΡΠ½ΡΠΌ ΠΌΠ΅Π½Ρ: Π΅ΡΠ»ΠΈ ΡΠΏΡΡΡΠ°ΡΡ ΠΎΠΏΡΠΈΡ, Π»ΡΠ΄ΠΈ Π±ΡΠ΄ΡΡ ΡΠ΅ΠΆΠ΅ Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ.
Π ΡΠΎΠΌΡ ΠΆΠ΅, Ρ ΠΆΠ΅ΡΡΠΎΠ² ΡΠ° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΡΡΠΎ ΠΈ Ρ ΠΈΠΊΠΎΠ½ΠΎΠΊ: Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ½ΡΡΡΠ΅ ΠΆΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ½ΡΡΠ½Ρ Π²ΡΠ΅ΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΏΠΏΠΈΠ½Π³, ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡΠΎΠΊΡΡΡΠΊΠ°), Π° Π΅ΡΡΡ ΡΠ°ΠΊΠΈΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΈΠ·ΡΡΠ°ΡΡ ΠΈ ΠΎΡΠ²Π°ΠΈΠ²Π°ΡΡ β ΠΏΡΠΈΡΠ΅ΠΌ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΎΠ½ΠΈ ΡΠ°Π·Π½ΡΠ΅.
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΆΠ΅ΡΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ½Π΅ΡΡΠΈ ΠΊ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ, Π΄Π° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΠ½ΠΈ Π½Π΅ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ β Π²ΡΠ΅-ΡΠ°ΠΊΠΈ ΡΡΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΠΎΠ²Π°Ρ ΡΡΠ΅ΡΠ° Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². ΠΠ°ΠΆΠ΅ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΆΠ΅ΡΡ, ΠΊΠ°ΠΊ ΡΠΌΠ°Ρ ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠΈΡΡΠΌΠ° Π² ΠΏΠΎΡΡΠΎΠ²ΠΎΠΌ ΡΡΠΈΠΊΠ΅, ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ Π² ΡΠ°Π·Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ .
Π Π°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Android


Π Π°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Android
Π ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΡΠ΄ΡΡΠΈΠΉ ΠΡ ΡΡΠ°Π½Π΅ΡΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΏΠΈΡΠ΅ΡΠ΅, ΠΈ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Ρ Π²Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΡΠΎΠ³ΠΎ, ΠΏΠΎΡΠ΅ΠΌΡ Π²Ρ ΡΠ°Π½ΡΡΠ΅ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π»ΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΠ°Π²ΠΈΡΡ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ ΠΌΠ°ΡΡΡ ΡΠ±ΠΈΠ²Π°ΡΡΠΈΡ Ρ ΡΠΎΠ»ΠΊΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π², Π½ΠΎ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, ΡΡΠΎ Π²Ρ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΠ΅ ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ²ΠΎΡ ΡΠ΅ΠΊΡΡΡΡ ΡΠ°Π±ΠΎΡΡ ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ ΠΆΠΈΠ·Π½Ρ ΡΠ΅ΠΌ, ΠΊΡΠΎ Π±ΡΠ΄Π΅Ρ Π΄Π΅Π»Π°ΡΡ Π²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ. ΠΡ ΠΆΠ΅ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ «Π½Π°Ρ Π²Π°Π»ΠΈΠ²Π°Π»ΠΈ» Π²Π°Ρ ΡΠΏΠ°Π³Π΅ΡΡΠΈ-ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ.
Π ΡΡΠΎΠΌ ΡΡΡΠΎΡΠΈΠ°Π»Π΅ Π²Ρ Π½Π΅ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘ΡΠΈΡΠ°ΠΉΡΠ΅ ΡΡΠΎ Β«ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΎΠΌΒ» ΠΈ ΠΎΡΠΏΡΠ°Π²Π½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ.
ΠΠ°ΠΌΠ΅ΡΠΊΠ°
ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Π²Ρ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΠΎΡΠ½ΠΎΠ²Π°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ΄ Android.
ΠΡΠΈΡΡΡΠΏΠΈΠΌ
ΠΡΠ΄ΡΡΠΈΠΉ ΠΡ: Β«ΠΡΠ΄Π΅Ρ Π»ΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ ΠΌΠ½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°?Β».
ΠΠ°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ²Π΅ΡΡΠΈ ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΡ Π²ΡΠ΅ΠΌΡ, Π·Π°ΡΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ Π½Π° «Π΄Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ» ΡΠ°Π±ΠΎΡΡ, Π½Π° ΠΏΠΎΠΈΡΠΊ ΡΠ»ΠΎΠΆΠ½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ΄ΠΎΠ±Π΅Π½ ΠΈ ΠΏΡΠΎΡΡ. ΠΡΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Ρ ΠΈ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ ΠΊ ΡΠ΅Π»ΠΎΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ ΠΏΠΎΠ΄ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΠ°ΡΡΠ΅ΡΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. ΠΠ½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠ΅ΠΉΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΎΠ½ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠΆΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, ΠΈ ΠΈΠ·Π±Π°Π²Π»ΡΡΡ Π²Π°Ρ ΠΎΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ°ΡΡ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Ρ Π²Π°ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡ
ΡΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΡΡΠΈΡ
ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ². ΠΠ»Π°Π²Π½ΠΎΠ΅, Π½Π΅ ΠΎΡΡΠ°Π²Π»ΡΠΉΡΠ΅ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π²Π°ΡΡ ΠΈΠ½ΡΡΠΈΡΠΈΡ.
Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π°Ρ Π²Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΡΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΈ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ ΠΊ Android:
ΠΠΎΡΠΎΠΆΠ΄Π°ΡΡΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ:
Π‘ΡΡΡΠΊΡΡΡΠ½ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ:
ΠΠΎΠ²Π΅Π΄Π΅Π½ΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ:
ΠΠΎΡΠΎΠΆΠ΄Π°ΡΡΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ
ΠΡΠ΄ΡΡΠΈΠΉ ΠΡ: Β«ΠΠΎΠ³Π΄Π° ΠΌΠ½Π΅ Π½ΡΠΆΠ΅Π½ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠ°ΠΊ ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ?Β»
Π―Π²Π½ΠΎ Ρ
ΡΠ΄ΡΠΈΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ ΠΎΡΠ²Π΅ΡΠ° Π±ΡΠ΄Π΅Ρ: Β«ΠΡΠΎΡΡΠΎ ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈ Π²ΡΡΠ°Π²Π»ΡΠΉΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°Β». ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ Π΄Π΅Π»Π°ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΡΠΎΡΡΡΠΌ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΡΠΌ.
Builder
Π Android ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠ°Π±Π»ΠΎΠ½Π° Builder ΡΠ²Π»ΡΠ΅ΡΡΡ AlertDialog.Builder :
ΠΡΡΠ³ΠΎΠΉ Π½Π°Π±ΠΎΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΏΡΠΈΠ²Π΅Π» Π±Ρ ΠΊ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π΄ΡΡΠ³ΠΎΠΌΡ ΡΡΠ½Π΄Π²ΠΈΡΡ, ΡΠΎ Π΅ΡΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ. :]
Dependency Injection
Dependency Injection (ΠΈΠ½ΡΠ΅ΠΊΡΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ) ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΠΏΠ΅ΡΠ΅Π΅Π·Π΄ Π² ΠΌΠ΅Π±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠ²Π°ΡΡΠΈΡΡ. ΠΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΡΠΆΠ΅ Π΅ΡΡΡ. ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΆΠ΄Π°ΡΡ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΠΌΠ΅Π±Π΅Π»ΠΈ ΠΈΠ»ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ IKEA, ΡΡΠΎΠ±Ρ ΡΠΎΠ±ΡΠ°ΡΡ ΠΊΠ½ΠΈΠΆΠ½ΡΡ ΠΏΠΎΠ»ΠΊΡ BorgsjΓΆ.
Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΠΈΠ½ΡΠ΅ΠΊΡΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΡΠΎΠΌΡ Π½ΠΎΠ²ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΠ»ΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ°ΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
Π Android Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΠΈΠ· ΡΠ°Π·Π½ΡΡ ΡΠΎΡΠ΅ΠΊ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ, Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ SharedPreferences Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π½Π΅Π΄ΡΠΈΡΡ ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² ΡΠ²ΠΎΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΈ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊ Π½ΠΈΠΌ Π΄ΠΎΡΡΡΠΏ.
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ: Dagger Β«2Β», Dagger Hilt ΠΈ Koin. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ Ρ Dagger. Π Π½Π΅ΠΌ Π²Ρ Π°Π½Π½ΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΠΊΠ»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ @Module ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ Π΅Π³ΠΎ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ @Provides :
ΠΠΎΠ΄ΡΠ»Ρ Π²ΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π² Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΡΠΌ.
ΠΡΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΠΎΠ΄ΡΠ»Ρ ΠΎΡΠΊΡΠ΄Π° ΡΡΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈΠ΄ΡΡ Ρ ΠΌΠ΅ΡΡΠΎΠΌ ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠΉ ΡΡΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π°Π½Π½ΠΎΡΠ°ΡΠΈΡ @Inject Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΠ°ΠΌ, Π³Π΄Π΅ ΠΎΠ½Π° Π²Π°ΠΌ Π½ΡΠΆΠ½Π°, Π²ΠΌΠ΅ΡΡΠ΅ Ρ lateinit Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°, Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΠ΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ NULL, ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
Π ΡΡΠΎΠΌ ΡΡΡΠΎΡΠΈΠ°Π»Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ ΡΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ, Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Dagger Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π»ΠΊΠ½ΡΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π² ΡΠΏΠΎΠΌΡΠ½ΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΡΡΡΠΎΡΠΈΠ°Π»ΠΎΠ² ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ΅ΠΌΠ΅.
ΠΠΎΠ½Π°ΡΠ°Π»Ρ ΡΡΠΎΡ ΠΏΠ°ΡΡΠ΅ΡΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠΌ, Π½ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ Π²Π°ΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ.
Singleton
Π¨Π°Π±Π»ΠΎΠ½ Singleton ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ°. ΠΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ Ρ ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΅ΡΠΈ ΠΈΠ»ΠΈ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , Π½Π°Π»ΠΈΡΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΡΠΌΠ΅ΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°.
Π Kotlin ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ object ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ ΡΠΈΠ½Π³Π»ΡΠΎΠ½ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ, ΠΊΠ°ΠΊ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ :
ΠΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅Π½Π°ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΠ½Π³Π»ΡΠΎΠ½Π°, Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΡΠ°ΠΊΠΎΠΉ Π²ΡΠ·ΠΎΠ²:
ΠΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ»Π΅ INSTANCE ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ Kotlin. ΠΡΠ°ΠΊ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Kotlin ΠΈΠ· ΠΊΠΎΠ΄Π° Java, Π²Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π²ΡΠ·ΠΎΠ² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ, Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ Π·Π½Π°ΡΡ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π²ΠΎ Π²ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
Π‘ΠΈΠ½Π³Π»ΡΠΎΠ½, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΠΌ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ, Π΄Π°ΠΆΠ΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΏΡΠΎΡΡΡΠΌ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΠΌ Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Ρ ΡΠΈΠ½Π³Π»ΡΠΎΠ½Π° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ΄Π½ΠΎ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ. ΠΡΡΠ³ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π΅Π΅ ΠΈ ΠΏΡΠΎΡΠ΅ Π² ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠΈ.
Factory
ΠΠ°ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ, Factory Π·Π°Π±ΠΎΡΠΈΡΡΡ ΠΎΠ±ΠΎ Π²ΡΠ΅ΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Π ΡΡΠΎΠΌ ΡΠ°Π±Π»ΠΎΠ½Π΅ ΠΊΠ»Π°ΡΡ factory ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ, ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΎΠ·Π΄Π°ΡΡ. Π¨Π°Π±Π»ΠΎΠ½ factory ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΡΠ°ΠΌ, Π³Π΄Π΅ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ.
ΠΠ·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ΄ Π½ΠΈΠΆΠ΅:
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎ:
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ ΡΠ°ΠΊ:
ΠΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅. ΠΡΠΈ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡ Factory ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·Π΄ΡΡΡΡΡ ΠΈΠ·-Π·Π° ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ»Π°ΡΡ factory ΡΠ°ΠΌ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
Π‘ΡΡΡΠΊΡΡΡΠ½ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ
ΠΡΠ΄ΡΡΠΈΠΉ ΠΡ: Β«ΠΡΠ°ΠΊ, ΠΊΠΎΠ³Π΄Π° Ρ ΠΎΡΠΊΡΠΎΡ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡ, ΠΊΠ°ΠΊ Ρ Π·Π°ΠΏΠΎΠΌΠ½Ρ, ΡΡΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ ΠΈ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠΎΠ±ΡΠ°Π½ΠΎ?Β».
Adapter
Π Π·Π½Π°ΠΌΠ΅Π½ΠΈΡΠΎΠΉ ΡΡΠ΅Π½Π΅ ΡΠΈΠ»ΡΠΌΠ° Β«ΠΠΏΠΎΠ»Π»ΠΎΠ½-13Β» ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² Π²ΡΡΠ°Π²ΠΈΠ»Π° ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠΉ ΡΡΠ΅ΡΠΆΠ΅Π½Ρ Π² ΠΊΡΡΠ³Π»ΠΎΠ΅ ΠΎΡΠ²Π΅ΡΡΡΠΈΠ΅. ΠΠ±ΡΠ°Π·Π½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΡΡΠΎ ΡΠΎΠ»Ρ Π°Π΄Π°ΠΏΡΠ΅ΡΠ°. Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΡΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄Π²ΡΠΌ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌ ΠΊΠ»Π°ΡΡΠ°ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΠΌΠ΅ΡΡΠ΅, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠ»Π°ΡΡΠ° Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ.
Π ΡΡΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡ RecyclerView. Adapter ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΡΡΠΎΠ±Ρ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ:
Facade
Π¨Π°Π±Π»ΠΎΠ½ Facade ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡΠ° Π΄ΡΡΠ³ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΡΡΡ ΠΈΠ΄Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ:
ΠΡΠ»ΠΈ Π²Π°ΡΠ΅ΠΉ Activity Π½ΡΠΆΠ΅Π½ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ½ΠΈΠ³, ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°, Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΠ°Π±ΠΎΡΡ Π²Π°ΡΠ΅Π³ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, ΠΊΡΡΠ° ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° API. ΠΠΎΠΌΠΈΠΌΠΎ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΈΡΡΠΎΡΡ ΠΈ ΠΊΡΠ°ΡΠΊΠΎΡΡΠΈ ΠΊΠΎΠ΄Π° Activity ΠΈ Fragment, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Π²Π½ΠΎΡΠΈΡΡ Π»ΡΠ±ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ API, Π½Π΅ Π²Π»ΠΈΡΡ Π½Π° Activity.
ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ ΡΠΈΠΏΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ, Π½Π΅ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΉ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ JSON, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ Activity Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ:
Π§Π΅ΠΌ ΠΌΠ΅Π½ΡΡΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π·Π½Π°Π΅Ρ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΠΊΡΠ»ΠΈΡΠ°ΠΌΠΈ, ΡΠ΅ΠΌ Π»Π΅Π³ΡΠ΅ Π²Π°ΠΌ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
Decorator
Π¨Π°Π±Π»ΠΎΠ½ Decorator Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π½Π°Π΄Π΅Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΡΠΌΠΈ, ΡΠ°ΡΡΠΈΡΡΡ Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°. ΠΠ·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ Π½ΠΈΠΆΠ΅:
ΠΠΎΡ ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄:
Composite
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½ Composite, ΠΊΠΎΠ³Π΄Π° Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ, ΡΠΎΡΡΠΎΡΡΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΡΠΎΠ΄Π½ΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π‘ΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΠΏΠ°ΡΡΠ΅ΡΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π΄Π²Π° ΡΠΈΠΏΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²: Composite ΠΈ Leaf. Π‘ΠΎΡΡΠ°Π²Π½ΠΎΠΉ (Composite) ΠΎΠ±ΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ.
ΠΠ·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ Ρ Π²Π°Ρ Π΅ΡΡΡ:
ΠΠΎΠ²Π΅Π΄Π΅Π½ΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ
ΠΡΠ΄ΡΡΠΈΠΉ Π²Ρ: Β«ΠΡΠ°ΠΊβ¦ ΠΊΠ°ΠΊ ΠΌΠ½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠ»Π°ΡΡ Π·Π° ΡΡΠΎ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ?Β».
ΠΠΎΠ²Π΅Π΄Π΅Π½ΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²Π°ΠΌ Π½Π°Π·Π½Π°ΡΠ°ΡΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π Π±ΡΠ΄ΡΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π΄Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΏΠΎ ΡΡΡΡΠΊΡΡΡΠ΅ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΌΠΎΠ³ΡΡ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ ΠΏΠΎ ΠΌΠ°ΡΡΡΠ°Π±Ρ, ΠΎΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π΄ΠΎ Π²ΡΠ΅ΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π§Π°ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΡΠ΅ΡΠΊΠΈΡ ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ² Π²ΠΌΠ΅ΡΡΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
Command
ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ Saag Paneer Π² ΠΈΠ½Π΄ΠΈΠΉΡΠΊΠΎΠΌ ΡΠ΅ΡΡΠΎΡΠ°Π½Π΅, Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ²Π°Ρ ΠΏΡΠΈΠ³ΠΎΡΠΎΠ²ΠΈΡ Π²Π°ΠΌ Π±Π»ΡΠ΄ΠΎ. ΠΡ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ Π±Π»ΡΠ΄ΠΎ ΠΎΡΠΈΡΠΈΠ°Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅Ρ Π·Π°ΠΊΠ°Π· Π½Π° ΠΊΡΡ Π½Π΅, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ Π΅Π³ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΌΡ ΠΏΠΎΠ²Π°ΡΡ.
ΠΠΎΡΠ»Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ EventBus ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΡΠ΅ Activity, Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ:
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΎΠΌ, ΡΠΎΠΎΠ±ΡΠΈΡΠ΅ Π΅ΠΌΡ, Π½Π° ΠΊΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ ΡΠΎΠ±ΡΡΠΈΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ ΠΈ ΡΡΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ:
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΈ ΠΎΠΏΡΠ±Π»ΠΈΠΊΡΠΉΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²Π°ΡΠΈΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π²:
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΡΡΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π° ΡΠ²ΠΎΡΠΈΡ ΡΡΠ΄Π΅ΡΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ Ρ Π²Π°Ρ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π°, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅Ρ Ρ ΠΎΡΠΎΡΠ΅Π³ΠΎ ΠΏΠΎΠΊΡΡΡΠΈΡ ΡΠ΅ΡΡΠ°ΠΌΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ρ ΠΎΡΠΎΡΠΎ ΠΏΡΠΎΠ΄ΡΠΌΠ°Π½Π½ΡΠΉ ΠΏΠΎΡΠΎΠΊ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΡΠ°Π²Π½ΠΎΠ²Π΅ΡΠΈΠ²Π°Π΅Ρ ΠΈ Π΄Π΅Π»Π°Π΅Ρ ΡΠ°Π±Π»ΠΎΠ½ Ρ ΠΎΡΠΎΡΠΎ ΡΠΈΡΠ°Π΅ΠΌΡΠΌ, ΠΈ Π·Π° Π½ΠΈΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ·ΠΆΠ΅ Π»Π΅Π³ΠΊΠΎ ΡΠ»Π΅Π΄ΠΈΡΡ.
Observer
Π¨Π°Π±Π»ΠΎΠ½ Observer ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π²Π·Π°ΠΈΠΌΠΎΠ·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. ΠΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π΅Π³ΠΎ ΡΠΎΠ·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
ΠΡΠΎΡ ΠΏΠ°ΡΡΠ΅ΡΠ½ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π΅Π½. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π²ΡΠ·ΠΎΠ²Ρ API. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΠΎΡΠ²Π΅ΡΠ° Π½Π° Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΎΠ½ Π±ΡΠ» ΠΏΠΎΠΏΡΠ»ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ RxAndroid, ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ ΠΊΠ°ΠΊ Reactive Android. ΠΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ Π²ΠΎ Π²ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ:
ΠΠ±ΡΠ΅ΠΊΡΡ Subscriber Π±ΡΠ΄ΡΡ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΡ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π½ΠΈΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΠΈΡ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΡΡΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ API, ΠΏΡΠΎΡΠ»ΡΡΠ°ΡΡ ΠΎΡΠ²Π΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΡΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ.
Π‘ΠΎΠ²ΡΠ΅ΠΌ Π½Π΅Π΄Π°Π²Π½ΠΎ Android ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ» ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π° ΡΠ΅ΡΠ΅Π· LiveData. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ± ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅ Π·Π΄Π΅ΡΡ.
Strategy
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½ Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π²Π°Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΈΡΠΎΠ΄Ρ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ. ΠΠ»Ρ Π»ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Π²Π·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
ΠΠΎΡ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
State
Π ΡΠ°Π±Π»ΠΎΠ½Π΅ State ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ²ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠ·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ:
ΠΠΎΡ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΡΠ΄ΡΡΠΈΠΉ ΠΡ: Β«ΠΠΎΠΆΠ΅Ρ Π»ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΠ½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈΠ»ΠΈ Π²Π½Π΅Π΄ΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡ?Β».
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ³ΡΠ°Π΅Ρ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½ΡΡ ΡΠΎΠ»Ρ Π² ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ»Π°Π±ΠΎΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ Π³Π΄Π΅ ΡΠ³ΠΎΠ΄Π½ΠΎ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΠΈΡΠ°ΡΡ Π»Π΅Π³ΠΊΠΎ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΡΠΉ, ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΈ Π½Π΅ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄.
ΠΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
Π’ΠΈΠΏΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΠΊΠΎΠ΄ΠΎΠ²ΡΡ Π±Π°Π·, Π½ΠΎ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΠΈΠ· Π½ΠΈΡ :
Model View Controller
Model View Controller, ΠΈΠ»ΠΈ MVC, ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², ΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅. ΠΠ° Android ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π»Π΅Π³ΠΊΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° MVC. ΠΠ³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΡΠ΅ΠΌ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² Π² Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅:
Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° ΡΡΠΈ ΡΡΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π΅Π³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ², ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΠΎΠΏΡΠΎΡΠΈΡ ΠΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΠ°Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠΊΡΠ°Π½, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΅Π³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅. Π‘Π»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ΅ MVC ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΡΠ΄ΡΡΠΈΠΉ ΠΡ ΡΠΌΠΎΠΆΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ ΠΆΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΡ.
ΠΠ»ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΠΎΠΏΡΠΎΡΠΈΡ Π²Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΡΠΎΡ ΠΌΠΎΠ΄Π½ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ Ρ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π° Π½Π° ΡΠΊΡΠ°Π½ Ρ Π΄Π΅ΡΠ°Π»ΡΠΌΠΈ. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ Π²ΡΡ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΡΡ Π·Π°Π΄Π°ΡΡ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΌΠ°ΠΊΠ΅ΡΠ° ΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² Π² Android XML ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π²Π°Ρ View layer ΡΠΈΡΡΡΠΌ ΠΈ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΡΠΌ. ΠΡΡΡΠΎ!
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ Π²ΡΠ΅ΠΌΡ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Kotlin. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ².
Π‘ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π²Π°ΠΌ ΡΡΠ°Π½Π΅Ρ ΠΏΡΠΎΡΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ MVC ΠΈ Future. ΠΠ°ΠΌ Π±ΡΠ΄Π΅Ρ Π»Π΅Π³ΡΠ΅ ΡΠ΅ΡΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ.
Model View ViewModel
ΠΡΠΎΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π·Π°ΠΏΡΡΠ°Π½Π½ΡΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΡΠ°Π±Π»ΠΎΠ½ MVC. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Model ΠΈ View ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅.
ΠΠ±ΡΠ΅ΠΊΡ ViewModel ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ²ΡΠ·ΡΡΡΠΈΠΌ Π·Π²Π΅Π½ΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ»ΠΎΡΠΌΠΈ model ΠΈ view layer, Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈΠ½Π°ΡΠ΅, ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Controller. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΎΠ½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ Π²ΡΡ ΠΈ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°Π΅Ρ Π²ΡΡ ΠΊ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΠΎΠ³Π΄Π° ΠΌΠΎΠ΄Π΅Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π²ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ .
Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Ρ Π²ΡΡ, ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ.
ΠΠ°ΡΡΠ΅ΡΠ½ MVVM Π½Π°Π±ΠΈΡΠ°Π΅Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ, Π½ΠΎ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅Π΄Π°Π²Π½ΠΈΠΌ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ². Google ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ ΡΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ ΡΠ²ΠΎΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ.
Clean Architecture
Π§ΠΈΡΡΠ°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΠ°ΠΌΠ° ΠΏΠΎ ΡΠ΅Π±Π΅ Π½Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ. ΠΠ½Π° ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΎΠ±ΡΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: ΠΊΠ°ΠΊ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠΎΠ²Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π±ΠΈΠ·Π½Π΅Ρ-ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π΄ΠΎΠΊΠ»Π°Π΄ΡΠΈΠΊΠΈ, Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ.
MVC ΠΈ MVVM ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π² ΡΠΈΡΡΠΎΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ΅ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠΎΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅. ΠΠΎΡΡΡΠΏΠ½ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠΈΡΡΠΎΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ Π΄Π»Ρ Android, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Β«ΠΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° Androidβ¦ ΠΠ²ΠΎΠ»ΡΡΠΈΡΒ».

















