ΠΊΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠΊΡΠ°Π½ Π² android ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
ΠΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠΊΡΠ°Π½ Π² android ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Do Not Keep Activities?
ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ activity lifecycle
Π§Π΅ΠΌ Π°Π»ΡΡΠ°-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π±Π΅ΡΠ°-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ?
ΠΠ°ΠΊΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΡΡΠ΅Ρ ΡΡΠΎΠ²Π½Π΅Π²ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ°?
Π‘Π΅ΡΠ²Π΅Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΡΠ΄Π° Π±ΡΠ» ΠΏΠΎΠΌΠ΅ΡΡΠ½ ΠΏΠ΅ΡΠ²ΡΠΉ Π² ΠΌΠΈΡΠ΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π±Π°Π³?
ΠΡΠΈΠ±ΠΈΡ Π² ΡΠ°ΠΌΠΎΡΠΊΠ΅ Π½Π° ΡΡΠ΅Π½Ρ
Π§ΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠ² Π½Π΅ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΠ?
ΠΠ΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ
Π§ΡΠΎ ΠΈΠ· Π½ΠΈΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ½ΡΠΌ Π΄Π²ΠΈΠΆΠΊΠΎΠΌ?
ΠΠΏΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ
ΠΠ»Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ΅Π½ DNS?
ΠΠ»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² Π² IP-Π°Π΄ΡΠ΅ΡΠ°
ΠΠ°ΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΠΎ Π²ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΠ‘: Android, iOS, Mac OS?
ΠΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΡΡΠ°ΡΠΈΠΊΠ° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ?
ΠΠ±ΡΡΡΠ½ΠΈΡΠ΅ ΡΡΠ°Π·Ρ Β«Π― Π·Π½Π°Ρ ΠΎΡΠ»ΠΈΡΠ½ΡΡ ΡΡΡΠΊΡ ΠΏΡΠΎ UDP, Π½ΠΎ Π½Π΅ ΡΠ°ΠΊΡ, ΡΡΠΎ ΠΎΠ½Π° Π΄ΠΎ Π²Π°Ρ Π΄ΠΎΠΉΠ΄Π΅ΡΒ»
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Android ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
1. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Android
Android β ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° Linux Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java. ΠΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°ΠΌ ΡΠ°ΠΊΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, Π΄Π΅Π±Π°Π³Π³Π΅Ρ ΠΈ ΡΠΌΡΠ»ΡΡΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π° ΡΠ°ΠΊΠΆΠ΅ Π΅Π³ΠΎ (ΠΠ½Π΄ΡΠΎΠΈΠ΄Π°) ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ Java (Dalvik Virtual Machine β DVM). Android ΡΠΎΠ·Π΄Π°Π½ Π°Π»ΡΡΠ½ΡΠΎΠΌ Open Handset Alliance, Π²ΠΎΠ·Π³Π»Π°Π²Π»ΡΠ΅ΠΌΡΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Google.
2. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Android
Android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°ΡΡΠ΅ΠΉ:
ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ°ΡΡΡΠΌΠΈ Android ΡΠ²Π»ΡΡΡΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ, ΠΈΠ»ΠΈ ΠΆΠΈΠ²ΡΠ΅ ΠΏΠ°ΠΏΠΊΠΈ (Live Folders), ΠΈΠ»ΠΈ ΠΆΠΈΠ²ΡΠ΅ ΠΎΠ±ΠΎΠΈ (Live Wallpapers). ΠΠΈΠ²ΡΠ΅ ΠΏΠ°ΠΏΠΊΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ Π»ΡΠ±ΡΡ Π΄Π°Π½Π½ΡΡ Π½Π° Β«ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΡΡΠΎΠ»Π΅Β» Π±Π΅Π· Π·Π°ΠΏΡΡΠΊΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
3. ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ
Android ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°Π΄Π°Ρ.
Android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠΌ Β«AndroidManifest.xmlΒ». Π ΡΡΠΈΡ ΡΠ°ΠΉΠ»Π°Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ Π²ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠΈ, ΡΠ»ΡΠΆΠ±Ρ, ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊΠΈ ΠΈ ΠΊΠΎΠ½ΡΠ΅Π½Ρ-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ ΡΠΌΠΎΡΡΠΈ Π² Π·Π΄Π΅ΡΡ.
5. R.java, Resources ΠΈ Assets
ΠΠ°ΡΠ°Π»ΠΎΠ³ Β«genΒ» Π² Android-ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
Π’ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ βresβ Ρ ΡΠ°Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Android, ΠΊΠ°ΡΠ°Π»ΠΎΠ³ βassetsβ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π»ΡΠ±ΡΡ Π΄Π°Π½Π½ΡΡ . Π Java ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΠΈΠΌ Π΄Π°Π½Π½ΡΠΌ ΡΠ΅ΡΠ΅Π· AssetsManager ΠΈ ΠΌΠ΅ΡΠΎΠ΄ getAssets().
6. ΠΠΊΡΠΈΠ²ΠΈΡΠΈ ΠΈ ΠΠ°ΠΊΠ΅ΡΡ (layout)
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ (Activity) ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°ΠΊΠ΅ΡΠΎΠ². ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠ°ΠΊΠ΅ΡΡ β ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ Β«android.view.ViewGroupsΒ». ΠΠ°ΠΊΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ UI ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π½Π° ΠΊΠ»Π°ΡΡΠ΅ Β«android.view.ViewΒ».
ΠΠ°ΠΊΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Java-ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ XML.
7. ΠΠΊΡΠΈΠ²ΠΈΡΠΈ ΠΈ ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ»
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ» ΠΠ°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ:
onSaveInstanceState() β Π²ΡΠ·ΡΠ²Π°Π΅Ρ, Π΅ΡΠ»ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π°ΠΊΡΠΈΠ²ΠΈΡΠΈ, Π΅ΡΠ»ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠΈ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ
onPause() β Π²ΡΠ΅Π³Π΄Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ, Π΅ΡΠ»ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠΈ Π·Π°Π²Π΅ΡΡΠΈΠ»ΠΎΡΡ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ, Π΄Π»Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
onResume() β Π²ΡΠ·Π²Π°Π½ΠΎ, Π΅ΡΠ»ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠΈ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ»Π΅ΠΉ
ΠΠ°ΠΊ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎΠ± ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ Android Π·Π° 15 ΠΌΠΈΠ½ΡΡ
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΏΠΎΠΉΠ΄Π΅Ρ ΡΠ΅ΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΡ, ΡΠ°Π½Π΅Π΅ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΠΎΠΌΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄ Android, ΠΎΠ± ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ . ΠΠ°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°ΡΡ ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π²ΡΠ΅ Π½Π΅ ΡΠ°ΠΊ ΡΠ»ΠΎΠΆΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΠΌΠ°ΡΡ. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π·Π° 15 ΠΌΠΈΠ½ΡΡ ΠΈ Π½Π΅ ΡΡ ΠΎΠ΄Ρ Π² ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠ΅ΠΎΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠ°ΠΌ ΠΈ Π²Π΅ΡΠ½ΡΡΡΡΡ ΡΠΆΠ΅ Ρ ΡΡΠΎΡΠ½ΡΡΡΠΈΠΌΠΈ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌΠΈ.
ΠΠΎΠ³Π΄Π° Ρ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π·, Π±ΡΠ» Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎ ΡΠ΄ΠΈΠ²Π»Π΅Π½ ΡΠΎΠ±ΠΎΠΉ. ΠΠΎΠ΅ «ΠΏΡΠΎΡΡΠΎΠ΅ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠ΅» ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ»ΠΎΡΡ Π² Π·Π°Π½ΡΠ΄ΡΡΠ²ΠΎ, Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ΅ΡΠΊΠΎ ΠΏΡΠΎΡΠ»Π΅ΠΆΠΈΠ²Π°Π»Π°ΡΡ ΠΎΡΡΠ°ΡΠ½Π½Π°Ρ ΠΏΠΎΠΏΡΡΠΊΠ° ΠΎΠ±ΡΡΡΡ Π½Π΅ΠΎΠ±ΡΡΡΠ½ΠΎΠ΅ ΠΈ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ Π² Π΄Π²ΡΡ ΡΠ»ΠΎΠ²Π°Ρ ΠΎΠ±ΠΎ Π²ΡΠ΅ΠΌ ΠΏΠΎΠ½Π΅ΠΌΠ½ΠΎΠ³Ρ. ΠΡΠΆΠ½ΠΎ Π»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠΉ ΡΠ°ΡΡΠΊΠ°Π· ΡΠΊΠΎΡΠ΅Π΅ Π½Π΅ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ, Π° Π½Π°ΠΏΡΠ³Π°Π΅Ρ ΠΠ°ΡΠ΅Π³ΠΎ ΡΠΎΠ±Π΅ΡΠ΅Π΄Π½ΠΈΠΊΠ°, ΠΏΠΎΠΏΡΡΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΠ² ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ-ΡΠΎ ΡΠ²ΠΎΠ΅, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠ°Π½ΡΡΠ΅ Π² ΠΏΠ»Π°Π½Π°Ρ Π±ΡΠ» Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ.
ΠΠ΅ ΡΠ΅ΠΊΡΠ΅Ρ, ΡΡΠΎ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΎ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°ΡΠ΅ΠΉ Π½Π° ΡΡΡ ΡΠ΅ΠΌΡ, Π½ΠΎ Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ²Π΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ: Π·Π΄Π΅ΡΡ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Π³Π»ΡΠ΄Π½Π°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°, Π±Π΅Π· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΈ ΠΏΡΠΎΡΠΈΡ Π΄Π΅ΡΠ°Π»Π΅ΠΉ. Π’ΠΎ Π΅ΡΡΡ ΡΠΌΠΎΡΡΠΈΠΌ β Π²ΠΈΠ΄ΠΈΠΌ β ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡΠ΅Π΅. Π‘ΠΌΠΎΡΡΠΈΡΡΡ, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, Π²ΡΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ, ΠΊΡΡΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈΡΡ ΡΠΎΠΆΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΈ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΠ΅, Π³ΠΎΡΠΎΠ²ΡΠ΅ ΠΊ Π±ΡΡΡΡΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅. ΠΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π΄Π°Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΈΡΠΎΠΊΡΡ ΠΎΠ±Π·ΠΎΡΠ½ΡΡ ΠΊΠ°ΡΡΠΈΠ½Ρ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Android, ΠΈ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ Π²ΠΎΠΏΡΠΎΡΠΎΠ² «ΡΡΠΎ ΠΌΠ½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ» Π±ΡΠ΄ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ «ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠ½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π₯». Π ΡΠΆΠ΅ Π²ΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΎΠ± ΡΡΠΎΠΌ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΡΠΌΠΎΠΆΠ΅Ρ ΡΠ·Π½Π°ΡΡ ΡΠ°ΠΌ β Π΅ΡΠ»ΠΈ Π·Π°Ρ ΠΎΡΠ΅Ρ.
ΠΠ·ΡΡΠ°Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π΅Π³ΠΎ, ΠΈβ¦ ΠΏΠΎΠΊΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΠΌΠΈ ΠΎΡΠΊΡΡΠ»ΠΎΡΡ MainActivity. ΠΠ° Π²ΠΎΠΏΡΠΎΡ «ΠΏΠΎΡΠ΅ΠΌΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ΠΎ» ΠΎΡΠ²Π΅Ρ Π±ΡΠ΄Π΅Ρ Π΄Π°Π½ ΠΏΠΎΠ·Π΄Π½Π΅Π΅.
ΠΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΎΡΠΊΡΠ΄Π° ΠΎΠ½ΠΎ Π±Π΅ΡΠ΅ΡΡΡ β ΠΈΠ· main_activity.xml, Π³Π΄Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. Π Π°Π·ΠΌΠ΅ΡΠ΅Π½Ρ ΠΎΠ½ΠΈ Π² LinearLayout, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΠΎΠΏΡΠΎΡΡ Π·Π΄Π΅ΡΡ Π²ΡΡΠ΄ Π»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ.
ΠΡΠΎΡΡΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
Toast
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ Π² MainActivity.java ΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° β «ΠΠΎΠΊΠ°Π·Π°ΡΡ Toast» (Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅Π΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅).
ΠΠ°Ρ
ΠΎΠ΄ΠΈΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² main_activity.xml ΠΈ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ ΠΊ Π΅Π΅ OnClickListener Π² MainActivity.java.
ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎΠ±Ρ Π²ΡΠ²Π΅ΡΡΠΈ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅Π΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°! ΠΠ΄ΠΎΡΠΎΠ²ΠΎ, Π½Π΅ ΠΏΡΠ°Π²Π΄Π° Π»ΠΈ?
ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π΄ΡΡΠ³ΠΈΠΌ Activity
ΠΠ΅ΡΠ²Π°Ρ Activity
ΠΡΠΎΡΠ°Ρ Activity
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊΡΠ΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° Π΄ΡΡΠ³ΡΡ ΡΠ°ΠΊΡΡ ΡΡΡΠ°Π½ΠΈΡΡ! ΠΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ Π²ΠΎ «ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π΄ΡΡΠ³ΠΈΠΌ Activity» β ΠΈ ΠΌΡ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π² Π΄ΡΡΠ³ΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ°ΠΊ ΡΠ°Π·Π½ΡΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ? ΠΠ΄Π΅ΡΡ ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎ Π΄Π²Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ°: ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ β shared_prefs, Π° ΡΠ°ΠΊΠΆΠ΅ startActivityForResult / onActivityResult (Π½Π΅ Ρ
ΠΎΡΠ΅Π»ΠΎΡΡ Π²ΡΡΠ°Π²Π»ΡΡΡ ΡΠ°ΠΊΠΎΠ΅ Π² Π½Π°ΡΠ°Π»ΠΎ, Π½ΠΎ Π²ΡΠ΅-ΡΠ°ΠΊΠΈ ΠΊΡΠ°ΡΠΊΠΎ: Π΅ΡΠ»ΠΈ ΠΈΠ· ΠΎΡΠΊΡΡΡΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½ΠΎΠ²ΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ startActivityForResult, ΡΠΎ ΠΏΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ Π²ΡΠΎΡΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½ onActivityResult Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ. ΠΠ΅ ΠΏΡΠ³Π°ΠΉΡΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ).
Π, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅!
ΠΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠΊΡΠ°Π½ Π² android ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΏΠΎΠΉΠ΄Π΅Ρ ΡΠ΅ΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΡ, ΡΠ°Π½Π΅Π΅ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΠΎΠΌΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄ Android, ΠΎΠ± ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ . ΠΠ°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°ΡΡ ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π²ΡΠ΅ Π½Π΅ ΡΠ°ΠΊ ΡΠ»ΠΎΠΆΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΠΌΠ°ΡΡ. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π·Π° 15 ΠΌΠΈΠ½ΡΡ ΠΈ Π½Π΅ ΡΡ ΠΎΠ΄Ρ Π² ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΠ΅ΠΎΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠ°ΠΌ ΠΈ Π²Π΅ΡΠ½ΡΡΡΡΡ ΡΠΆΠ΅ Ρ ΡΡΠΎΡΠ½ΡΡΡΠΈΠΌΠΈ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌΠΈ.
ΠΠΎΠ³Π΄Π° Ρ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π·, Π±ΡΠ» Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎ ΡΠ΄ΠΈΠ²Π»Π΅Π½ ΡΠΎΠ±ΠΎΠΉ. ΠΠΎΠ΅ «ΠΏΡΠΎΡΡΠΎΠ΅ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠ΅» ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ»ΠΎΡΡ Π² Π·Π°Π½ΡΠ΄ΡΡΠ²ΠΎ, Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ΅ΡΠΊΠΎ ΠΏΡΠΎΡΠ»Π΅ΠΆΠΈΠ²Π°Π»Π°ΡΡ ΠΎΡΡΠ°ΡΠ½Π½Π°Ρ ΠΏΠΎΠΏΡΡΠΊΠ° ΠΎΠ±ΡΡΡΡ Π½Π΅ΠΎΠ±ΡΡΡΠ½ΠΎΠ΅ ΠΈ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ Π² Π΄Π²ΡΡ ΡΠ»ΠΎΠ²Π°Ρ ΠΎΠ±ΠΎ Π²ΡΠ΅ΠΌ ΠΏΠΎΠ½Π΅ΠΌΠ½ΠΎΠ³Ρ. ΠΡΠΆΠ½ΠΎ Π»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠΉ ΡΠ°ΡΡΠΊΠ°Π· ΡΠΊΠΎΡΠ΅Π΅ Π½Π΅ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ, Π° Π½Π°ΠΏΡΠ³Π°Π΅Ρ ΠΠ°ΡΠ΅Π³ΠΎ ΡΠΎΠ±Π΅ΡΠ΅Π΄Π½ΠΈΠΊΠ°, ΠΏΠΎΠΏΡΡΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΠ² ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ-ΡΠΎ ΡΠ²ΠΎΠ΅, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠ°Π½ΡΡΠ΅ Π² ΠΏΠ»Π°Π½Π°Ρ Π±ΡΠ» Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ.
ΠΠ΅ ΡΠ΅ΠΊΡΠ΅Ρ, ΡΡΠΎ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΎ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°ΡΠ΅ΠΉ Π½Π° ΡΡΡ ΡΠ΅ΠΌΡ, Π½ΠΎ Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ²Π΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ: Π·Π΄Π΅ΡΡ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Π³Π»ΡΠ΄Π½Π°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°, Π±Π΅Π· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΈ ΠΏΡΠΎΡΠΈΡ Π΄Π΅ΡΠ°Π»Π΅ΠΉ. Π’ΠΎ Π΅ΡΡΡ ΡΠΌΠΎΡΡΠΈΠΌ β Π²ΠΈΠ΄ΠΈΠΌ β ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡΠ΅Π΅. Π‘ΠΌΠΎΡΡΠΈΡΡΡ, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, Π²ΡΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ, ΠΊΡΡΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈΡΡ ΡΠΎΠΆΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΈ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΠ΅, Π³ΠΎΡΠΎΠ²ΡΠ΅ ΠΊ Π±ΡΡΡΡΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅. ΠΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π΄Π°Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΈΡΠΎΠΊΡΡ ΠΎΠ±Π·ΠΎΡΠ½ΡΡ ΠΊΠ°ΡΡΠΈΠ½Ρ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Android, ΠΈ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ Π²ΠΎΠΏΡΠΎΡΠΎΠ² «ΡΡΠΎ ΠΌΠ½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ» Π±ΡΠ΄ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ «ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠ½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π₯». Π ΡΠΆΠ΅ Π²ΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΎΠ± ΡΡΠΎΠΌ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΡΠΌΠΎΠΆΠ΅Ρ ΡΠ·Π½Π°ΡΡ ΡΠ°ΠΌ β Π΅ΡΠ»ΠΈ Π·Π°Ρ ΠΎΡΠ΅Ρ.
ΠΠ·ΡΡΠ°Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π΅Π³ΠΎ, ΠΈβ¦ ΠΏΠΎΠΊΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΠΌΠΈ ΠΎΡΠΊΡΡΠ»ΠΎΡΡ MainActivity. ΠΠ° Π²ΠΎΠΏΡΠΎΡ «ΠΏΠΎΡΠ΅ΠΌΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ΠΎ» ΠΎΡΠ²Π΅Ρ Π±ΡΠ΄Π΅Ρ Π΄Π°Π½ ΠΏΠΎΠ·Π΄Π½Π΅Π΅.
ΠΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΎΡΠΊΡΠ΄Π° ΠΎΠ½ΠΎ Π±Π΅ΡΠ΅ΡΡΡ β ΠΈΠ· main_activity.xml, Π³Π΄Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. Π Π°Π·ΠΌΠ΅ΡΠ΅Π½Ρ ΠΎΠ½ΠΈ Π² LinearLayout, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΠΎΠΏΡΠΎΡΡ Π·Π΄Π΅ΡΡ Π²ΡΡΠ΄ Π»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ.
ΠΡΠΎΡΡΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
Toast
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ Π² MainActivity.java ΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° β «ΠΠΎΠΊΠ°Π·Π°ΡΡ Toast» (Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅Π΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅).
ΠΠ°Ρ
ΠΎΠ΄ΠΈΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² main_activity.xml ΠΈ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ ΠΊ Π΅Π΅ OnClickListener Π² MainActivity.java.
ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎΠ±Ρ Π²ΡΠ²Π΅ΡΡΠΈ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅Π΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°! ΠΠ΄ΠΎΡΠΎΠ²ΠΎ, Π½Π΅ ΠΏΡΠ°Π²Π΄Π° Π»ΠΈ?
ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π΄ΡΡΠ³ΠΈΠΌ Activity
ΠΠ΅ΡΠ²Π°Ρ Activity
ΠΡΠΎΡΠ°Ρ Activity
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊΡΠ΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° Π΄ΡΡΠ³ΡΡ ΡΠ°ΠΊΡΡ ΡΡΡΠ°Π½ΠΈΡΡ! ΠΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ Π²ΠΎ «ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π΄ΡΡΠ³ΠΈΠΌ Activity» β ΠΈ ΠΌΡ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π² Π΄ΡΡΠ³ΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ°ΠΊ ΡΠ°Π·Π½ΡΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ? ΠΠ΄Π΅ΡΡ ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎ Π΄Π²Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ°: ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ β shared_prefs, Π° ΡΠ°ΠΊΠΆΠ΅ startActivityForResult / onActivityResult (Π½Π΅ Ρ
ΠΎΡΠ΅Π»ΠΎΡΡ Π²ΡΡΠ°Π²Π»ΡΡΡ ΡΠ°ΠΊΠΎΠ΅ Π² Π½Π°ΡΠ°Π»ΠΎ, Π½ΠΎ Π²ΡΠ΅-ΡΠ°ΠΊΠΈ ΠΊΡΠ°ΡΠΊΠΎ: Π΅ΡΠ»ΠΈ ΠΈΠ· ΠΎΡΠΊΡΡΡΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½ΠΎΠ²ΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ startActivityForResult, ΡΠΎ ΠΏΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ Π²ΡΠΎΡΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½ onActivityResult Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ. ΠΠ΅ ΠΏΡΠ³Π°ΠΉΡΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ).
Π, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅!
ΠΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠΊΡΠ°Π½ Π² Android-ΠΏΡΠΈΠ»ΠΎΠΆ.?
ΠΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠΊΡΠ°Π½ Π² Android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ?
Π§ΡΠΎΠ±Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡ, Π½Π°Π΄ΠΎ Π΄Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠΌΡ ΠΎΡΠ²Π΅ΡΡ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΠ΅.
Π‘Π½Π°ΡΠ°Π»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Activity
ΠΡΠΎΡ ΠΎΡΠ²Π΅Ρ ΡΠ°ΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ, Π½ΠΎ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ.
Π‘Π»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅, ΡΡΠΎ ΡΠ»ΠΎΠ²ΠΎ Intent:
ΠΠ½ΠΎ Π½Π°ΠΌ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ View
Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ ΡΠΎΡΡΠ°Π²ΠΈΡ ΡΡΡΠ΄Π° ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡ. ΠΠ΅ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ: Activity.
ΠΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ ΠΎΡ VK Testers ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Android.
ΠΠΎΠ³Π΄Π° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΊΡΠ°Π½ΠΎΠ², ΡΠΎ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π°ΠΊΡΠΈΠ²Π΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π΄Π²Π°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΡ, ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠΊΡΠ°Π½ ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π°ΠΊΡΠΈΠ²Π΅Π½, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Activity.
ΠΡΠ²Π΅Ρ Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ: 1.
Π‘Π΅Π³ΠΎΠ΄Π½Ρ Π½Π°ΡΠ°Π»ΠΈ ΡΠ°Π·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΡΠΈΠΊΠ΅ΡΡ Π² ΠΠ Ρ Ρ ΠΎΡΠΎΡΠ΅Π½ΡΠΊΠΈΠΌ Π±Π΅Π»Π΅Π½ΡΠΊΠΈΠΌ ΠΊΡΠΎΠ»ΠΈΠΊΠΎΠΌ, Π½ΠΎ ΡΡΠΎΠ±Ρ ΠΈΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π²ΠΎΡΠ΅ΠΌΡ ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ², Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Ρ ΠΎΡΡ-Π±Ρ ΠΏΡΡΡ ΠΎΡΠ²Π΅ΡΠΎΠ² ΠΈΠ· ΡΡΠΈΡ Π²ΠΎΡΡΠΌΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ . ΠΠΎΡ Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ Ρ ΡΠ°ΠΌΠ° Π½Π°ΡΠ»Π° ΠΎΡΠ²Π΅Ρ, Ρ ΠΎΡΡ Ρ ΡΡΡΠ΄ΠΎΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ ΡΡΠΎ-ΡΠΎ Π² ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅. ΠΠ°ΠΌ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ Π½ΠΈ ΠΎΡΠ²Π΅Ρ «Intent» Π½ΠΈ ΠΎΡΠ²Π΅Ρ «View». ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΠ΄Π΅Ρ ΡΠ΅ΡΡ Π² Π²ΠΎΠΏΡΠΎΡΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ β Activity.
Π£ΡΠΎΠΊ 4. ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΊΡΠ°Π½Π° ΠΈ ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π² ΠΠ½Π΄ΡΠΎΠΈΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ Π½Π° ΡΠΊΡΠ°Π½Π΅.
ΠΡΠ»ΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ Ρ Windows, ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΠΊΠΎΠ½, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ Activity. Π ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎ Activity ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π²Π΅ΡΡ ΡΠΊΡΠ°Π½, Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎΡΡΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π Π½Π΅ΠΌ ΠΎΠ΄Π½ΠΎ Activity β ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΈΡΠ΅ΠΌ, Π΄ΡΡΠ³ΠΎΠ΅ β ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΏΠΈΡΡΠΌΠ°, ΡΡΠ΅ΡΡΠ΅ β Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΡΠΈΠΊΠ°. ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π²Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΠ΅ΡΡ ΠΏΠΎ Π½ΠΈΠΌ.
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Activity ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΠΈΠ· ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ View. Π‘Π°ΠΌΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ View β ΡΡΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ°, ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π°, ΡΠ΅ΠΊΠ±ΠΎΠΊΡ ΠΈ Ρ.Π΄.
ΠΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠ°ΠΊ:
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ View ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² ViewGroup. Π‘Π°ΠΌΡΠΉ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ViewGroup β ΡΡΠΎ Layout. Layout Π±ΡΠ²Π°Π΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² ΠΈ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠΎ, ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π΅Π³ΠΎ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ View Π½Π° ΡΠΊΡΠ°Π½Π΅ (ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ, ΡΡΡΠΎΠΊΠΎΠΉ, ΡΡΠΎΠ»Π±ΡΠΎΠΌ β¦)
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅ΠΉ ΠΎΠ± ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ Π² Ρ Π΅Π»ΠΏΠ΅: User Interface ΠΈ Common Layout Objects.
ΠΠ°Π²Π΅ΡΠ½ΠΎ ΡΠΆΠ΅ Π·Π°ΠΏΡΡΠ°Π» Π½ΠΎΠ²ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°ΠΌΠΈ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΎ Π²ΡΠ΅ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ:
Project name: P0041_BasicViews
Build Target: Android 2.3.3
Application name: BasicViews
Package name: ru.startandroid.develop.BasicViews
Create Activity: MainActivity
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠ²Π΅ΠΆΠ°Ρ Π²Π΅ΡΡΠΈΡ Π²ΠΈΠ·Π°ΡΠ΄Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠΎ Build Target β ΡΡΠΎ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ Build SDK. Π Π² ΡΠΊΡΠ°Π½Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Activity Π½Π΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ main Π² ΠΏΠΎΠ»Π΅ Layout Name.
Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π½Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ ΡΠ°ΠΉΠ»: res > layout > main.xml
ΠΡΠΎ layout-ΡΠ°ΠΉΠ», Π² Π½Π΅ΠΌ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ Π½Π°Π±ΠΎΡ ΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² View, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΠΈΠΌ Π²ΠΈΠ΄Π΅ΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Activity ΡΠΈΡΠ°Π΅Ρ ΡΡΠΎΡ ΡΠ°ΠΉΠ» ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π½Π°ΠΌ ΡΠΎ, ΡΡΠΎ ΠΌΡ Π½Π°ΡΡΡΠΎΠΈΠ»ΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΎΡΠΊΡΠΎΠ΅ΠΌ Π΅Π³ΠΎ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊΠΎΠΉ Π½Π°Π±ΠΎΡ View ΠΎΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Π‘Π»Π΅Π²Π° Π²ΠΈΠ΄ΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ View, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π½Π° Π³ΡΡΠΏΠΏΡ. ΠΠ΄Π΅ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Ρ Π²ΡΠ΅ View-ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ²ΠΎΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ .
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ Π²Π°Ρ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°. ΠΡΠΎ ΡΠ΅Π³ΡΠ»ΠΈΡΡΠ΅ΡΡΡ Π² ΠΌΠ΅Π½Ρ Palette, ΡΡΡΡ Π²ΡΡΠ΅.
ΠΠ±ΡΠ°ΡΠΈΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π±Π΅Π»ΡΠΉ ΡΠΊΡΠ°Π½. ΠΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΡΠ΅ΠΉΡΠ°Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ Hello world! Π§ΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ ΡΡΠΎ Π·Π° View Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΡΡΠΎΡ ΡΠ΅ΠΊΡΡ. Π‘ΠΏΡΠ°Π²Π° Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Outline Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² main.xml.
ΠΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ Π½Π°ΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ β ΡΡΠΎ TextView. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΎΠ½ Π²Π»ΠΎΠΆΠ΅Π½ Π² ΡΠ»Π΅ΠΌΠ΅Π½Ρ RelativeLayout β ΡΡΠΎ ViewGroup, ΠΏΡΠΎ ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΏΠΈΡΠ°Π» Π²ΡΡΠ΅.
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π΅ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π° ΡΠΊΡΠ°Π½, ΠΏΡΡΡΡ ΡΡΠΎ Π±ΡΠ΄ΡΡ Button ΠΈ CheckBox. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΈΡΠ΅ ΠΈΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΡΠ»Π΅Π²Π° Π½Π° Π±Π΅Π»ΡΠΉ ΡΠΊΡΠ°Π½ Π²Π°ΡΠ΅Π³ΠΎ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΈΡΡ ΠΈΡ Π½Π° RelativeLayout Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Outline, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΡΠΈ ΡΠΎΡ ΠΆΠ΅. ΠΡΠΎΠΌΠ΅ Button ΠΈ CheckBox, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅ΡΠ΅ Π½Π° ΡΠΊΡΠ°Π½ Plain Text ΠΈΠ· Π³ΡΡΠΏΠΏΡ Text Fields.
Π Outline ΠΎΠ½ΠΈ ΠΏΠΎΡΠ²ΡΡΡΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ button1, checkBox1 ΠΈ editText1. ΠΡΠΎ ID, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌ Π±ΡΠ»ΠΈ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΠΎΠΊΠ° ΠΎΡΡΠ°Π²ΠΈΠΌ ΠΈΡ ΡΠ°ΠΊΠΈΠΌΠΈ, ΠΏΠΎΠ·Π΄Π½Π΅Π΅ Π½Π°ΡΡΠΈΠΌΡΡ ΠΈΡ ΠΌΠ΅Π½ΡΡΡ ΠΈ Π±ΡΠ΄Π΅ΠΌ Π΄Π΅Π»Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΡΠΌΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠΊΡΠ°Π½Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Π½Π°Π΄ΠΏΠΈΡΠΈ Π½Π° Π½ΠΈΡ . ΠΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Outline ΠΆΠΌΠ΅ΠΌ Π½Π° TextView. Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ Π½ΡΠΆΠ½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ° Properties. ΠΠ½Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² Outline ΠΈΠ»ΠΈ Π½Π° ΡΠΊΡΠ°Π½Π΅ View-ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. Π Π°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ΠΎΠ½Π° ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠ°Π·Ρ ΠΏΠΎΠ΄ Outline.
ΠΠ°ΠΉΠ΄Π΅ΠΌ Π² Properties ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Text. Π‘Π΅ΠΉΡΠ°Ρ ΡΠ°ΠΌ ΡΡΠΎΠΈΡ ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ. ΠΠ΄Π΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΡΡΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠΎΠΊΠ°Ρ , Π° ΠΏΠΎΠΊΠ° ΠΏΡΠΎΡΡΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΡΡΠ΄Π° ΡΠ²ΠΎΠΉ ΡΠ΅ΠΊΡΡ: Β«ΠΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ΅ΠΊΡΡΒ»
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Text Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² button1, checkBox1 ΠΈ editText1 Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΠ΅ΠΊΡΡΡ. ΠΡΠ΅ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΈΡΡΡΡΡ Π² main.xml. Π‘ΠΎΡ ΡΠ°Π½ΠΈΠΌ Π²ΡΠ΅ CTRL+SHIFT+S ΠΈ Π·Π°ΠΏΡΡΡΠΈΠΌ CTRL+F11.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π½Π°ΠΌ MainActivity, Π° ΠΎΠ½ΠΎ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΈΡΠ°Π΅Ρ ΡΠ°ΠΉΠ» main.xml ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π²ΡΠ΅ View, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈ ΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π»ΠΈ.
ΡΠ·Π½Π°Π»ΠΈ, ΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΠΊΡΠ°Π½ Π² Android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
Π½Π°ΡΡΠΈΠ»ΠΈΡΡ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ layout-ΡΠ°ΠΉΠ» β Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ View ΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΈΡ
ΡΠ²ΠΎΠΉΡΡΠ²Π°
ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ:
ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ layout-ΡΠ°ΠΉΠ» Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ°ΠΊΡΡΡΠ° β XML
ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ, ΠΎΡΠΊΡΠ΄Π° Activity Π·Π½Π°Π΅Ρ, ΠΊΠ°ΠΊΠΎΠΉ layout-ΡΠ°ΠΉΠ» Π½Π°Π΄ΠΎ ΡΠΈΡΠ°ΡΡ ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π½Π°ΡΡΡΠΎΠΈΡΡ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°
ΡΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊΠΎΠΉ layout-ΡΠ°ΠΉΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΠΌΠ΅Π½Π΅ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠΊΡΠ°Π½Π° (Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½Π°Ρ/Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½Π°Ρ)
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Android, ΡΠ°ΡΡΡ 3
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ , ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΡΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ Android, ΠΈ ΠΎΠ± ΠΈΠ΄Π΅ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΎΡΡ Π·Π° ΡΡΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ.
Web vs desktop
ΠΡΠ»ΠΈ Π·Π°Π΄ΡΠΌΠ°ΡΡΡΡ ΠΎΠ± ΠΎΡΠ»ΠΈΡΠΈΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΡ Β«ΠΎΠ±ΡΡΠ½ΡΡ Β» Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ β ΡΡΠ΅Π΄ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ² β Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² Π²Π΅Π±Π°:
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΡΡΠ»Π°ΡΡΡΡ Π΄ΡΡΠ³ Π½Π° Π΄ΡΡΠ³Π° β ΠΊΠ°ΠΊ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ°, ΡΠ°ΠΊ ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΉΡΠ°ΠΌΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ ΡΡΡΠ°Π½ΠΈΡΠ° Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π³Π»Π°Π²Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ, ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° (ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ deep linking). Π‘ΡΡΠ»Π°ΡΡΡ Π΄ΡΡΠ³ Π½Π° Π΄ΡΡΠ³Π°, ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Π² ΠΎΠ±ΡΡΡ ΡΠ΅ΡΡ, Π²Π΅Π±.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΏΠΈΠΉ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ Π² ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ β ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡΠΊΡΡΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²ΠΊΠ»Π°Π΄ΠΊΠ°Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠ°. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΡΠ°ΡΡΡΠΈΡΠ°Π½ Π½Π° ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΡΠΈΡΠΌΠΈ (Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌΠΈ), Π° Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ ΡΠ°ΠΉΡΠ°ΠΌΠΈ β Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΎΠ΄Π½ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ°ΠΌ (ΠΈ Π²ΠΏΠ΅ΡΡΠ΄-Π½Π°Π·Π°Π΄ ΠΏΠΎ ΠΈΡΡΠΎΡΠΈΠΈ) ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌΠΈ ΡΠ°Π·Π½ΡΡ ΡΠ°ΠΉΡΠΎΠ².
ΠΡΡ ΡΡΠΎ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Β«Π΄Π΅ΡΠΊΡΠΎΠΏΡΒ», Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΈ ΡΠ°ΡΡΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ β ΠΈ Π² ΡΡΠΎΠΌ ΠΏΠ»Π°Π½Π΅ ΡΠΎ, ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Android, Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±Π»ΠΈΠΆΠ΅ ΠΊ Π²Π΅Π±Ρ, ΡΠ΅ΠΌ ΠΊ Β«ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΌΒ» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ.
Activities & intents
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²ΠΈΠ΄ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ Android β ΡΡΠΎ activity. Activity β ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ Β«ΡΠΊΡΠ°Π½Β» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Activity ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ ΡΠΎ ΡΡΡΠ°Π½ΠΈΡΠ΅ΠΉ Π² Π²Π΅Π±Π΅ ΠΈ Ρ ΠΎΠΊΠ½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎΠΌ ΠΎΠΊΠΎΠ½Π½ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅.
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΠΊΠ½Π° Π² Android ΡΠΎΠΆΠ΅ Π΅ΡΡΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ β ΡΡΠΎΠ²Π½Π΅ window manager. ΠΠ°ΠΆΠ΄ΠΎΠΉ activity ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ²ΠΎΡ ΠΎΠΊΠ½ΠΎ. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΎΠΊΠ½Π° activity ΡΠ°Π·Π²ΡΡΠ½ΡΡΡ Π½Π° Π²Π΅ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΡΠΊΡΠ°Π½, Π½ΠΎ:
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΄Π»Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ (email client) ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ activity, ΠΊΠ°ΠΊ Inbox Activity (ΡΠΏΠΈΡΠΎΠΊ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΏΠΈΡΠ΅ΠΌ), Email Activity (ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΈΡΡΠΌΠ°), Compose Activity (Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΈΡΡΠΌΠ°) ΠΈ Settings Activity (Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ).
ΠΠ°ΠΊ ΠΈ ΡΡΡΠ°Π½ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ°, activity ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΊΠ°ΠΊ Π΄ΡΡΠ³ ΠΈΠ· Π΄ΡΡΠ³Π°, ΡΠ°ΠΊ ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π° (Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ). ΠΡΠ»ΠΈ Π² Π²Π΅Π±Π΅ Π½Π° Π΄ΡΡΠ³ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΏΠΎ URL (ΡΡΡΠ»ΠΊΠ΅), ΡΠΎ Π² Android activity Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· intentβΡ.
Intent β ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Β«ΡΠ΄Π΅Π»Π°ΡΡΒ» (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΠΉ URL, Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΠΈΡΡΠΌΠΎ Π½Π° Π΄Π°Π½Π½ΡΠΉ Π°Π΄ΡΠ΅Ρ, ΠΏΠΎΠ·Π²ΠΎΠ½ΠΈΡΡ Π½Π° Π΄Π°Π½Π½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ).
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ intent ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π³ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅, Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅ΡΠ°Π΅Ρ, ΠΊΠ°ΠΊΠ°Ρ activity (ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ) Π±ΡΠ΄Π΅Ρ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ (handle). ΠΡΠ° activity Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ (Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π² Π½ΠΎΠ²ΠΎΠΌ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π΅ΡΡ Π½Π΅ Π·Π°ΠΏΡΡΠ΅Π½), Π΅ΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΡΡΠΎΡ intent, ΠΈ ΠΎΠ½Π° Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ.
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ intentβΡ β ΡΠ΅ΡΠ΅Π· ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠ»Π°ΡΡ Π² Android Framework. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ activity ΠΈ intentβΠ°ΠΌΠΈ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π² Android Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° am β ΠΎΠ±ΡΡΡΠΊΠ° Π½Π°Π΄ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ Activity Manager:
IntentβΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ²Π½ΡΠΌΠΈ (explicit) ΠΈ Π½Π΅ΡΠ²Π½ΡΠΌΠΈ (implicit). Π―Π²Π½ΡΠΉ intent ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ β ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ activity Π΄ΡΡΠ³ΡΡ Π²Π½ΡΡΡΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (ΠΏΡΠΈ ΡΡΠΎΠΌ intent ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΠΆΠ΅ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ).
ΠΠ΅ΡΠ²Π½ΡΠΉ intent ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ. ΠΠ°ΠΆΠ΄Π°Ρ activity (ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ) ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊΠΈΠ΅ intentβΡ ΠΎΠ½ΠΈ Π³ΠΎΡΠΎΠ²Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ACTION_VIEW Π΄Π»Ρ ΡΡΡΠ»ΠΎΠΊ Ρ Π΄ΠΎΠΌΠ΅Π½ΠΎΠΌ https://example.com ). Π‘ΠΈΡΡΠ΅ΠΌΠ° Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΡΠ΅Π΄ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π΅Π³ΠΎ.
ΠΡΠ»ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ activity, ΠΊΠΎΡΠΎΡΡΠ΅ Π³ΠΎΡΠΎΠ²Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ intent, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ Π²ΡΠ±ΠΎΡ. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ΡΠ»ΡΡΠ°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠΎΡΠΎΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ². ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ²Π½ΠΎ ΠΏΠΎΠΏΡΠΎΡΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ Π²ΡΠ±ΠΎΡΠ° (Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΉ intent ΠΎΠ±ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ Π² Π½ΠΎΠ²ΡΠΉ intent Ρ ACTION_CHOOSER ) β ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΡΠ°ΡΠΈΠ²ΠΎΠ³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³Π° Share:
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, activity ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² Π²ΡΠ·Π²Π°Π²ΡΡΡ Π΅Ρ activity. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, activity Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ-ΠΊΠ°ΠΌΠ΅ΡΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΌΠ΅Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ intent Β«ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡΒ» ( ACTION_IMAGE_CAPTURE ) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΄Π΅Π»Π°Π½Π½ΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ Π² ΡΡ activity, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ·Π΄Π°Π»Π° ΡΡΠΎΡ intent.
ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΌΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ activity, Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠ°ΠΌΠ΅ΡΠ΅.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ Android ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ β ΡΡΠΎ Π½Π΅ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠ°ΠΌΠ΅ΡΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Camera API, Π° ΡΠΎΠ·Π΄Π°ΡΡ Π½ΡΠΆΠ½ΡΠΉ intent ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ-ΠΊΠ°ΠΌΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎΡΠΎ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ READ_EXTERNAL_STORAGE ΠΈ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΠΎΠΈΡ Π΄Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ°ΠΉΠ» Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ΅ (ΡΠΎΠ³Π΄Π° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΡΠ΅ΡΡΠ½ Π΄ΠΎΡΡΡΠΏ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊ ΡΡΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ).
A unique aspect of the Android system design is that any app can start another appβs component. For example, if you want the user to capture a photo with the device camera, thereβs probably another app that does that and your app can use it instead of developing an activity to capture a photo yourself. You donβt need to incorporate or even link to the code from the camera app. Instead, you can simply start the activity in the camera app that captures a photo. When complete, the photo is even returned to your app so you can use it. To the user, it seems as if the camera is actually a part of your app.
ΠΡΠΈ ΡΡΠΎΠΌ Β«ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅Β» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»ΠΎ ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΌ (ΠΈΠ»ΠΈ Π°Π²ΡΠΎΡΠΎΠΌ ΡΠ±ΠΎΡΠΊΠΈ Android). ΠΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΌΠ΅ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠΉ intent, Π² ΡΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅ ΡΠ°Π²Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΈΠ· Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ intentβΠΎΠ², Π° ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π½ΡΠΆΠ½ΠΎΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·. ΠΡΠ±ΡΠ°Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Β«ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΒ» Π² ΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ±ΡΠ°Π», ΡΡΠΎΠ±Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΎ Π²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ (ΡΠΎ Π΅ΡΡΡ intentβΡ) ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅.
Π‘Π°ΠΌΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠ°ΠΌΠ΅ΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΡΠ²ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠ°ΠΌΠ΅ΡΡ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ-ΠΊΠ°ΠΌΠ΅ΡΡ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ Π²ΠΈΠ΄Π΅ΠΎΠ·Π²ΠΎΠ½ΠΊΠΎΠ² ΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ°ΠΎΠ±ΠΎΡΠΎΡ, ΠΎΠ±ΡΠΊΠ½ΠΎΠ²Π΅Π½Π½ΠΎΠΌΡ ΠΌΠ΅ΡΡΠ΅Π½Π΄ΠΆΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠ°ΠΌΠ΅ΡΠ΅ Β«ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠΎΡΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΒ» Π½Π΅ Π½ΡΠΆΠ΅Π½, ΠΊΠ°ΠΊ Π½Π΅ Π½ΡΠΆΠ΅Π½ ΠΈ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΡ Π·Π²ΠΎΠ½ΠΊΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΡΡΠΏΠ½ΠΎΠ³ΠΎ Π±Π°Π½ΠΊΠ°.
ΠΡΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΏΠΎΠ΄ΡΠΈΠ½ΡΡΡΡΡ Π΄Π°ΠΆΠ΅ ΡΠ°ΠΊΠΈΠ΅ Β«ΡΠ°ΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡΒ», ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΡΠΊΡΠ°Π½ (Π»ΠΎΠ½ΡΠ΅Ρ, launcher). ΠΠΎΠ½ΡΠ΅Ρ β ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ activity (ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π°Π³ΠΈ Π²ΡΠΎΠ΄Π΅ excludeFromRecents ΠΈ launchMode=»singleTask» ).
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ activity, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ intent, ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² Π»ΠΎΠ½ΡΠ΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· (ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠΌ ΡΠ°Π·Π½ΡΡ taskAffinity ). ΠΠ»ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² Π»ΠΎΠ½ΡΠ΅ΡΠ΅ Π²ΠΎΠΎΠ±ΡΠ΅ (Π½ΠΎ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ). Β«ΠΠ±ΡΡΠ½ΡΠ΅Β» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ΅Π΄ΠΊΠΎ; ΡΠ°ΠΌΡΠΉ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ β Google Play Services.
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π΅Π»ΡΡΡΡ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΡ , Π½ΠΈΡΠ΅Π³ΠΎ Π΄ΡΡΠ³ ΠΎ Π΄ΡΡΠ³Π΅ Π½Π΅ Π·Π½Π°ΡΡΠΈΠ΅ ΠΈ Π½Π΅ ΡΠΌΠ΅ΡΡΠΈΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈ intentβΠΎΠ² Android ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ, ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π΄ΡΡΠ³ ΠΎ Π΄ΡΡΠ³Π΅ Π½Π΅ Π·Π½Π°Ρ, ΡΠΎΡΡΠ°Π²Π»ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ user experience β ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΡΠ°ΡΡΠΈ ΠΎΠ΄Π½ΠΎΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΎΠ½ΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈΠ· ΡΠ΅Π±Ρ ΡΠΈΡΡΠ΅ΠΌΡ. Π ΡΡΠΎ, Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Ρ Π΄ΡΡΠ³ΠΎΠΉ β ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΊΠ°ΡΡΠΎΠΌΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠΎ-ΠΌΠΎΠ΅ΠΌΡ, ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΊΡΠ°ΡΠΈΠ²ΠΎ.
Tasks & back stack
ΠΠ°ΠΊ Ρ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ», Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΉΡΠ°ΠΌΠΈ, Π° ΠΌΠ΅ΠΆΠ΄Ρ Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌΠΈ, ΠΈΡΡΠΎΡΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠ°Π½ΠΈΡ ΡΠ°Π·Π½ΡΡ ΡΠ°ΠΉΡΠΎΠ². ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, Π² Android ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ (tasks), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ Π½Π° recents screen. ΠΠ°ΠΆΠ΄Π°Ρ Π·Π°Π΄Π°ΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ back stack β Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ activity, Β«Π½Π°Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Β» Π΄ΡΡΠ³ Π½Π° Π΄ΡΡΠ³Π°.
ΠΠΎΠ³Π΄Π° ΠΎΠ΄Π½Π° activity Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π΄ΡΡΠ³ΡΡ, Π½ΠΎΠ²Π°Ρ activity ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΡΡΠ΅ΠΊ ΠΏΠΎΠ²Π΅ΡΡ ΡΡΠ°ΡΠΎΠΉ. ΠΠΎΠ³Π΄Π° Π²Π΅ΡΡ Π½ΡΡ activity Π² ΡΡΠ΅ΠΊΠ΅ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Β«Π½Π°Π·Π°Π΄Β» β ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ activity Π² ΡΡΠ΅ΠΊΠ΅ ΡΠ½ΠΎΠ²Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅.
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΡΠ΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ activity ΠΈΠ· ΡΠ°Π·Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΏΠΈΠΉ ΠΎΠ΄Π½ΠΎΠΉ activity ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡΠΊΡΡΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΠ°Π·Π½ΡΡ Π·Π°Π΄Π°Ρ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π²Π½ΡΡΡΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠ΅ΠΊΠ°.
App lifecycle
ΠΠ΄Π½ΠΎ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² β Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ (RAM). ΠΡΠ»ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ»Π°Π³ΠΌΠ°Π½ΡΠΊΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΡΠΆΠ΅ ΠΎΡΠ½Π°ΡΠ°ΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π³ΠΈΠ³Π°Π±Π°ΠΉΡΠ°ΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠΌΠ°ΡΡΡΠΎΠ½Π΅ Π½Π° Android, HTC Dream (ΠΎΠ½ ΠΆΠ΅ T-Mobile G1), Π²ΡΡΠ΅Π΄ΡΠ΅ΠΌ Π² ΡΠ΅Π½ΡΡΠ±ΡΠ΅ 2008 Π³ΠΎΠ΄Π°, Π΅Ρ Π±ΡΠ»ΠΎ Π²ΡΠ΅Π³ΠΎ 192 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΠ°.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΎΠΆΠ½ΡΠ΅ΡΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ Π² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ , Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Β«ΠΎΠ±ΡΡΠ½ΡΡ Β» ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ², Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ swap-ΡΠ°Π·Π΄Π΅Π»Ρ (ΠΈ swap-ΡΠ°ΠΉΠ»Ρ) β Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ ΠΈΠ·-Π·Π° Π½ΠΈΠ·ΠΊΠΎΠΉ (ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ SSD ΠΈ HDD) ΡΠΊΠΎΡΠΎΡΡΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ SD-ΠΊΠ°ΡΡΠ°ΠΌ ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΠ»Π΅Ρ-ΠΏΠ°ΠΌΡΡΠΈ, Π³Π΄Π΅ ΠΎΠ½ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ. ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 4.4 KitKat, Android ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ zRAM swap, ΡΠΎ Π΅ΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠΆΠΈΠΌΠ°Π΅Ρ ΠΌΠ°Π»ΠΎΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΡΠ°ΡΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΎΡΡΠ°ΡΡΡΡ.
ΠΡΠ»ΠΈ Π²ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΡΠ½ΡΠΉ ΡΡΠΈΠΊ, Π»ΡΡΡΠ°Ρ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅Ρ Π²Π°ΡΠΊΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ β ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠ°ΡΡ (Β«ΡΠ±ΠΈΠ²Π°ΡΡΒ») ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΡΡΠΎ ΠΈ Π΄Π΅Π»Π°Π΅Ρ Linux Out Of Memory (OOM) Killer. ΠΠΎ Android Π·Π½Π°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅, Π΅ΠΌΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π·Π°ΠΏΡΡΠ΅Π½Ρ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Β«ΡΠΌΠ½ΡΡΒ» ΡΡ Π΅ΠΌΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² activity ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π·Π°Π²Π΅ΡΡΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈΠ·-Π·Π° Π½Π΅Ρ Π²Π°ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΡΡΠ° activity Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠ½ΠΎΠ²Π°. ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ activity ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠ²ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ( onSaveInstanceState ) ΠΈ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π΅Π³ΠΎ ΠΏΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π·Π°ΠΏΡΡΠΊΠ΅. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π² Android Framework Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΡΡΠΎΠ±Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (UI) ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ΅ β Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ Π²Π²Π΅Π΄ΡΠ½Π½ΠΎΠ³ΠΎ Π² EditText ΡΠ΅ΠΊΡΡΠ°, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΡΡΡΠΎΡΠ°, ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ (scroll) ΠΈ Ρ.Π΄. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ Π΅ΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠΎΠ΄ΡΠ΅ΡΠΊΠ½Ρ, ΡΡΠΎ Android ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ, Π° ΠΏΠΎΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΠΎ, ΠΎΡΡΠ°Π²Π»ΡΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΡΡΠΈ Π·Π°Π²Π΅ΡΡΡΠ½Π½ΡΠΌΠΈ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ· Π΄Π²ΡΡ ΠΊΠΎΠΏΠΈΠΉ ΠΎΠ΄Π½ΠΎΠΉ activity ΠΎΠ΄Π½Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠ΅Π½Π°, Π° Π΄ΡΡΠ³Π°Ρ ΠΎΡΡΠ°ΡΡΡΡ Π·Π°Π²Π΅ΡΡΡΠ½Π½ΠΎΠΉ.
Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ swap: Π² ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΠΈ Π² Π²ΡΠ³ΡΡΠΆΠ΅Π½Π½ΡΡ ΡΠ°ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°ΡΡ, ΠΏΠΎΠΊΠ° ΠΎΠ½Π° Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ ΡΠ½ΠΎΠ²Π° β Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Ρ Π΄ΠΈΡΠΊΠ°, Π² Π΄ΡΡΠ³ΠΎΠΌ β ΠΏΠ΅ΡΠ΅ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΠΎ ΡΠΎΡ ΡΠ°Π½ΡΠ½Π½ΠΎΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ.
ΠΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ° ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠΎΠ·Π΄Π°ΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡΡΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Β«Π·Π°ΠΏΡΡΠ΅Π½Ρ Π²ΡΠ΅Π³Π΄Π°Β», ΠΈΠ·Π±Π°Π²Π»ΡΡ Π΅Π³ΠΎ ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ²Π½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈ Π·Π°ΠΊΡΡΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π²Π²Π΅Π΄ΡΠ½Π½ΡΠ΅ Π² Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅.
Services
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ Π½ΠΈ Ρ ΠΊΠ°ΠΊΠΎΠΉ activity, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ Π΄Π΅Π»Π°ΡΡ ΠΈΡ Π² ΡΠΎΠ½Π΅, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅ activity ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π°Π²Π΅ΡΡΠ΅Π½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡ ΠΈΠ· ΡΠ΅ΡΠΈ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°ΠΉΠ», ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ, Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΠΌΡΠ·ΡΠΊΡ, ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ TCP-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ.
Π’Π°ΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π½Π΅Π»ΡΠ·Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ, ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΠΊΠ°Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΠΎΠΊ β ΡΡΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΡΠ½ΡΠΌ ΡΡΠΈΠΊΠΎΠΌ; Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅, ΠΏΡΠΎΡΠ΅ΡΡ Π±ΡΠ» Π±Ρ Π·Π°Π²Π΅ΡΡΡΠ½ ΠΏΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ Π²ΡΠ΅Ρ activity, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΡΠΎΠ½ΠΎΠ²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Android ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ Π²ΠΈΠ΄ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² β ΡΠ΅ΡΠ²ΠΈΡ.
Π‘Π΅ΡΠ²ΠΈΡ Π½ΡΠΆΠ΅Π½, ΡΡΠΎΠ±Ρ ΡΠΎΠΎΠ±ΡΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΡΡΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡΡ activity ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π‘Π°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠ΅ΡΠ²ΠΈΡ Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° β Π΅Π³ΠΎ ΡΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π° (entry points) Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ±ΡΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ° Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠΌΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
Π‘Π΅ΡΠ²ΠΈΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° activity: ΠΎΠ½ΠΈ ΡΠΎΠΆΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ intentβΠΎΠ² ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΏΡΠΈ Π½Π΅Ρ Π²Π°ΡΠΊΠ΅ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ°ΠΏΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π² ΡΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΡ :
Background service β ΡΠ΅ΡΠ²ΠΈΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ ΡΠΎΠ½ΠΎΠ²ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ, ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ). Π’Π°ΠΊΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½Ρ ΠΏΡΠΈ Π½Π΅Ρ Π²Π°ΡΠΊΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ. Π ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΡΡ Android Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ ΡΠΎΠ½ΠΎΠ²ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΡΠ°ΡΡΠΎ ΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΎΡΡ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ Β«ΡΠΎΡΠΌΠΎΠ·ΠΎΠ²Β»; Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 8.0 Oreo, Android ΡΠ΅ΡΡΡΠ·Π½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ½ΠΎΠ²ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠ°Ρ ΠΈΡ ΡΠ΅ΡΠ΅Π· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Bound service β ΡΠ΅ΡΠ²ΠΈΡ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΠΉ Π²Ρ ΠΎΠ΄ΡΡΠ΅Π΅ Binder-ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. Π’Π°ΠΊΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, WallpaperService ΠΈ Google Play Services). Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠ΅ΡΠ²ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊ Π½Π΅ΠΌΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΈ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΏΡΠΈ ΠΈΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΎΠ½ΠΎΠ²ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ JobScheduler, ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ½ΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ. JobScheduler ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΡΠ²ΠΈΡΠ°, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ:
JobScheduler ΠΏΠ»Π°Π½ΠΈΡΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ (ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΊΠ°ΠΊ Π²ΡΠ·ΠΎΠ² ΡΠ΅ΡΠ΅Π· Binder) Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π² Π½ΡΠΌ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ JobScheduler β ΠΎΠ±ΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΠΎΠ½ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΏΡΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΊΠ΅ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π²ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, Π° Π½Π΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΡΠ΅Π·ΠΊΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ Π³ΡΡΠΏΠΏΠ°ΠΌΠΈ (batch), ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ ΡΠ½Π΅ΡΠ³ΠΎΠ·Π°ΡΡΠ°ΡΠ½ΠΎΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅-Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π΄ΠΈΠΎΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ JobScheduler Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ½ΠΎΠ²ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² β ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΡ TCP-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ push-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ. ΠΡΠ»ΠΈ Π±Ρ Android ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ ΡΠ°ΠΊΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ, ΡΡΡΡΠΎΠΉΡΡΠ²Ρ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π±Ρ Π΄Π΅ΡΠΆΠ°ΡΡ Π²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΠΈΠ΅ΡΡ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ, Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΌΠΈ Π²ΡΡ Π²ΡΠ΅ΠΌΡ, Π° ΡΡΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ β ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ push-ΡΠ΅ΡΠ²ΠΈΡΡ, ΡΠ°ΠΌΡΠΉ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ β Firebase Cloud Messaging ΠΎΡ Google (Π±ΡΠ²ΡΠΈΠΉ Google Cloud Messaging).
ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°Ρ ΡΠ°ΡΡΡ FCM ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Google Play Services. ΠΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΈΠ· ΠΎΠ±ΡΡΠ½ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π° ΡΠΎΠ½ΠΎΠ²ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠ΄Π½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ Google. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΠΆΠ΅Π»Π°ΡΡΠΈΠΉ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠ²ΠΎΠ΅ΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ push-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅, ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°Π΅Ρ Π΅Π³ΠΎ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΡΠ°ΡΡΡ FCM, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Play Services, ΠΏΠΎΠ»ΡΡΠΈΠ² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΠ½ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ.
Π’Π°ΠΊΠ°Ρ ΡΡ Π΅ΠΌΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ, Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ push-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ (Π½Π΅ Π΄ΠΎΠΆΠΈΠ΄Π°ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ), Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π½Π΅ Π΄Π΅ΡΠΆΠ°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΌΠΈ.
Broadcast receivers & content providers
ΠΡΠΎΠΌΠ΅ activity ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ Android Π΅ΡΡΡ Π΄Π²Π° Π΄ΡΡΠ³ΠΈΡ Π²ΠΈΠ΄Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΌΠ΅Π½Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ β ΡΡΠΎ broadcast receiverβΡ ΠΈ content providerβΡ.
Broadcast receiver β ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ broadcastβΡ, ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π²ΠΈΠ΄ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΡ ΠΎΠ΄Π½ΠΎ broadcastβΡ, ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Π΄Π»Ρ ΡΠ°ΡΡΡΠ»ΠΊΠΈ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π²ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π²ΡΠΈΠΌΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ AIRPLANE_MODE_CHANGED ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°ΠΌΠΎΠ»ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°.
Content provider β ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΄Π°Π½Π½ΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ. ΠΡΠΈΠΌΠ΅Ρ Π΄Π°Π½Π½ΡΡ , Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ β ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠ°ΠΊΠΈΠΌ ΡΠ³ΠΎΠ΄Π½ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ Π² Π²ΠΈΠ΄Π΅ ΡΠ°ΠΉΠ»ΠΎΠ², Π² Π½Π°ΡΡΠΎΡΡΠ΅ΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ (SQLite) ΠΈΠ»ΠΈ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΈΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΠΎ ΡΠ΅ΡΠΈ. Π ΡΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅ content provider β ΡΡΠΎ ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΡΠΌΡ ΠΈΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ.
ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ²Π΅ΡΡ content providerβΠΎΠ² ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Storage Access Framework, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ, Ρ ΡΠ°Π½ΡΡΠΈΠΌ ΡΠ°ΠΉΠ»Ρ Π² ΠΎΠ±Π»Π°ΠΊΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Dropbox ΠΈ Google Photos) ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½ΠΈΠΌ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ, Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°Ρ ΠΌΠ΅ΡΡΠΎ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ Π²ΡΠ΅Ρ Ρ ΡΠ°Π½ΡΡΠΈΡ ΡΡ Π² ΠΎΠ±Π»Π°ΠΊΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ².
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Android, ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Ρ ΡΠ°Π½ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈ ΠΎ root-Π΄ΠΎΡΡΡΠΏΠ΅.