ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° python
ΠΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ΅ Python ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Android
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ Ρ ΠΎΡΠ΅Π» Π±Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Python Π΄Π»Ρ Android. ΠΠ΅Ρ, ΡΡΠΎ Π½Π΅ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΠΌΠ°Π½ΡΠ°Π» Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° Π΄Π»Ρ sl4a, ΡΡΠΎ ΠΌΠ°Π½ΡΠ°Π» ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ UI, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΎΠ±ΡΠ°ΡΡ apk ΠΈ Π²ΡΠ»ΠΎΠΆΠΈΡΡ Π½Π° Android Market. ΠΠ°ΠΎΠ΄Π½ΠΎ Ρ Ρ ΠΎΡΠ΅Π» Π±Ρ ΠΏΠΎΡ Π²Π°Π»ΠΈΡΡΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π° google.play, ΡΡΠΎ Π½Π΅ hello world, Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΎΠ², Ρ ΠΎΡΡ ΠΈ ΡΠ·ΠΊΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅.
ΠΠ°ΡΠ½Ρ ΡΠ°ΡΡΠΊΠ°Π· ΠΏΠΎΠΆΠ°Π»ΡΠΉ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π·Π°Π²Π΅ΡΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΠΌ ΠΎ ΡΠΎΠΌ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Π΄Π΅Π»Π°Π»ΠΎΡΡ.
isortViewer
ΠΠ½Π΅ ΠΊΠ°ΠΊ ΡΠΎΡΠΎΠ³ΡΠ°ΡΡ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ°ΡΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ ΠΈ ΠΎΡΠ±ΠΎΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ. ΠΠ΅ Π²ΡΠ΅Π³Π΄Π° Ρ
ΠΎΡΠ΅ΡΡΡ ΡΠΈΠ΄Π΅ΡΡ Π·Π° ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ Π΅ΡΡΡ Π½ΠΎΡΡΠ±ΡΠΊ, ΡΠΌΠ°ΡΡΡΠΎΠ½ ΠΈΠ»ΠΈ ΠΏΠ»Π°Π½ΡΠ΅Ρ, Π½ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ΄Π° Π΄Π΅ΡΡΡΠΊΠΈ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ raw ΠΈΠ»ΠΈ jpeg ΡΠ°ΠΉΠ»ΠΎΠ², Π° ΠΏΠΎΡΠΎΠΌ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Ρ ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ β ΡΠΎΠΌΠ½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΡΠΎΠ·Π΄Π°Π» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ isortManager ΠΈ isortViewer, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠΈΠ»ΠΈ ΠΌΠ½Π΅ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ ΠΈ ΠΎΡΠ±ΠΎΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ. Π’Π΅ΠΏΠ΅ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΠΎΡΠ±ΠΎΡΠΎΠΌ ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ Ρ ΠΌΠΎΠ³Ρ Π»Π΅ΠΆΠ° Π½Π° ΠΏΠ»ΡΠΆΠ΅ Π΄ΠΈΠ²Π°Π½Π΅ ΠΈΠ»ΠΈ ΡΠΊΡΡΠ°Ρ Π² ΠΏΡΠΎΠ±ΠΊΠ΅ π
ΠΠΎΠΏΠΈΠΏΠ°ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ ΠΏΠ°ΡΠ° ΡΠΊΡΠΈΠ½ΡΠΎΡΠΎΠ²:
isortViewer β ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΎΠ², ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΈ Π±ΡΡΡΡΠΎΠΉ ΠΎΡΠ±ΠΈΡΠ°ΡΡ ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΡΡΠΈ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ (raw ΠΈΠ»ΠΈ jpg) Ρ ΡΠΎΡΠΎΡΠ΅ΡΡΠΈΠΉ Π½Π° Π²Π°ΡΠΈΡ
android ΡΠΌΠ°ΡΡΡΠΎΠ½Π°Ρ
ΠΈ ΠΏΠ»Π°Π½ΡΠ΅ΡΠ°Ρ
. ΠΡΠΈ ΡΡΠΎΠΌ, Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π΄Π΅ΡΡΡΠΊΠΈ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ jpg ΠΈΠ»ΠΈ raw ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ. ΠΡΠΎΡΡΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ isortManager Π΄Π»Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΡ Π²ΡΠ΅ Π² ΠΎΠ΄ΠΈΠ½ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°ΠΉΠ» ΠΏΡΠΎΠ΅ΠΊΡΠ°:
1. Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ isortManager Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ°;
2. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΏΠ°ΠΏΠΊΠΈ Ρ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡΠΌΠΈ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΎΡΠΌΠ°ΡΡ: jpg ΠΈ raw (cr2, nef, orf ΠΈ Ρ.Π΄.). Π ΠΈΡΠΎΠ³Π΅ Ρ Π²Π°Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°ΠΉΠ» ΠΏΡΠΎΠ΅ΠΊΡΠ° (ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 150 ΠΌΠ± Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ, Π±ΡΠ΄Ρ ΡΠΎ jpg ΠΈΠ»ΠΈ raw ΡΠΎΡΠΌΠ°Ρ);
3. Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ Π½Π° Π²Π°ΡΠ΅ android ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΠ°ΠΉΠ» ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π² isortViewer. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ Β«Π½Π° ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅Β», Π° ΡΠ°ΠΊ ΠΆΠ΅, ΡΡΠ°Π²ΠΈΡΡ ΡΠ΅ΠΉΡΠΈΠ½Π³ΠΈ ΠΎΡ 1 Π΄ΠΎ 5 Π·Π²Π΅Π·Π΄;
4. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ, ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΡΠ°ΠΉΠ» ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² isortManager. ΠΡΠΎΠΌΠ΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ
ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ ΠΎΡΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ Ρ Β«5 Π·Π²Π΅Π·Π΄Β» ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΏΠ°ΠΏΠΊΡ Β«ΡΠ΅Π΄Π΅Π²ΡΡΒ», Π° Β«1 Π·Π²Π΅Π·Π΄Π°Β» ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ Π² ΠΏΠ°ΠΏΠΊΡ Β«Ρ
Π»Π°ΠΌΒ».
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π½Π° google.play, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΄ΠΎΠ½Π΅ΠΉΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ.
ΠΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅!
ΠΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π»ΠΎΡΡ
Π’Π°ΠΊ ΠΊΠ°ΠΊ python Π»ΡΡΡΠΈΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΌΠΈΡΠ΅ ΠΊΡΠΎΠΌΠ΅ python Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°Ρ, ΡΠ΅ΡΠ΅Π½ΠΎ Π±ΡΠ»ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° python.
isortManager
Π‘ isortManager Π΄Π»Ρ PC ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ GUI ΡΠ±ΠΎΡΠΊΠΈ ΠΏΠΎΠ΄ windows ΡΠΆΠ΅ Π΄Π°Π²Π½ΠΎ ΠΎΠ±ΠΊΠ°ΡΠ°Π½ΠΎ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΠ½ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ: Ρ ΠΏΠΎΠΌΠΎΡΡΡ dcraw Π²ΡΠ΄ΠΈΡΠ°Π΅Ρ jpg ΠΏΡΠ΅Π²ΡΡΡΠΊΠΈ ΠΈΠ· raw ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠ΅ΡΠ°ΠΉΠ·ΠΈΡ ΠΈΠ· Ρ ΠΏΠΎΠΌΠΎΡΡΡ PIL ΠΈ ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠΎΠΉ. ΠΡΠ» ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ΅Π½ ΡΠ²ΠΎΠΉ Π²Π΅ΡΠΎΠ»ΠΈΠΏΠ΅Π΄ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ (ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ, ΠΎΡΠΌΠ΅ΡΠΊΠ° Β«Π½Π° ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅Β» ΠΈ ΠΎΡΠΌΠ΅ΡΠΊΠ° ΡΠ΅ΠΉΡΠΈΠ½Π³Π°), ΡΠ°ΠΊ ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, zip ΠΈΠ»ΠΈ tar ΡΠΎΡΠΌΠ°Ρ, Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» Π² Π°ΡΡ ΠΈΠ²Π΅ (ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅), ΡΡΠ΅Π±ΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ². Π€Π°ΠΉΠ»Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠΈΡΡΡΡΡ ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΠ΄ΡΡΠ΄ ΠΈ Π² Π±Π»ΠΎΠΊΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ (ΠΎΠ±ΡΡΠ½ΡΠΉ repr ΠΏΠΈΡΠΎΠ½ΠΎΠ²ΡΠΊΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°ΡΡ) Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π½Π°ΡΠ°Π»Π° ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΠ»ΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Π° ΠΏΠΈΡΠ΅ΡΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ . GUI Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° Tkinter (Π»ΡΠ±Π»Ρ Ρ Π΅Π³ΠΎ Π·Π° Π±ΡΡΡΡΠΎΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ Π·Π° ΠΌΠ°Π»ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΡΠΎΠ³ΠΎΠ²ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ), Π²ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΊΡΠΈΠ½ΡΠΎΡ:
Π Π΄Π°, Π²ΡΠ΅ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Π½Π° linux, ΠΈ Π΄Π°ΠΆΠ΅ Π±ΡΡΡΡΠ΅Π΅ ΡΠ΅ΠΌ Π½Π° windows )
isortViewer Π΄Π»Ρ android
ΠΡΠ΅Π³ΠΎ Ρ Π½Π°ΡΠ΅Π» Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° Π·Π°ΡΡΠ°Π²ΠΈΡΡ python ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° android, ΡΡΠΎ pygame for android ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ kivy.
Pygame β Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ, Π²ΡΠ΅ UI ΠΏΡΠΈΡΠ»ΠΎΡΡ Π±Ρ ΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΡΡΠ½ΡΡ, ΡΡΠΎ ΠΎΡΠ½ΡΠ»ΠΎ Π±Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π±ΡΠ» Π²ΡΠ±ΡΠ°Π½ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ kivy. ΠΡΠ°ΠΊ:
ΠΡΠΎ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΠ΅ΠΉΠΌΠΎΡΠΊ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ windows, linux, MacOS, android ΠΈ iOS. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΌΡΠ»ΡΡΠΈΡΠ°Ρ, UI ΡΠΈΡΡΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· OpenGL, Π·Π½Π°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅. Π£Π²ΠΈΠ΄Π΅ΡΡ ΡΠ°Π±ΠΎΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Kivy Showcase. ΠΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΈΠ±ΡΠΎ ΠΈΠ»ΠΈ Π°ΠΊΡΠ΅Π»Π΅ΡΠΎΠΌΠ΅ΡΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ android.
ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Ρ Π±Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ linux, ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅, apk ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΡΡΠΎΠΉ OS.
Hello World Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
ΠΡΠΈΡΠ΅ΠΌ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π²ΡΠ΅Ρ
Π·Π°ΡΠ²Π»Π΅Π½Π½ΡΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
. ΠΡΠΎΠΏΠ°Π΄Π°Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠΌΡΠ»ΡΡΠΎΡΠ΅. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ Π½Π° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² ΡΠ²ΠΎΠ΅ΠΉ Π»ΡΠ±ΠΈΠΌΠΎΠΉ IDE ΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°, Π±Π΅Π· Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ, Π·Π°ΠΏΡΡΠΊ ΡΠΌΡΠ»ΡΡΠΎΡΠ° ΠΈ ΠΏΡ. ΠΡΠ»ΠΈ Π²Ρ Π²ΡΠ΅ ΠΆΠ΅ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΊΠ°ΠΊ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅, ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Kivy Launcher, ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° ΠΊΠ°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅. ΠΠ΅Π±Π°ΠΆΠΈΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ adb logcat.
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ android, ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅Ρ Π½Π° PC, Π½ΠΎ Ρ
ΠΎΡΠ΅ΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° android, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ:
Π‘Π±ΠΎΡΠΊΠ° apk Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ° ΠΈ ΠΎΠΏΠΈΡΠ°Π½Π° Π½Π° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅. ΠΠΎΡΠ»Π΅ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ΅Π»ΠΈΠ·Π°, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΡΡΠΎΡ ΠΌΠ°Π½ΡΠ°Π») ΠΈ Π²ΡΠ»ΠΎΠΆΠΈΡΡ Π² google play.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅, Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Β«Ρ Π½ΡΠ»ΡΒ», ΡΠ°ΡΠΆΠ΅Π²ΡΠ²Π°Ρ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΡΠΎΡΠΊΡ ΠΊΠΎΠ΄Π°.
Π₯ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΡΡΠ°Π·Ρ ΠΏΡΠ΅ΡΠ΅ΡΡ Ρ
ΠΎΠ»ΠΈΠ²Π°ΡΡ Π½Π° ΡΠ΅ΠΌΡ Β«Π΄Π»Ρ android ΡΠΎΠ»ΡΠΊΠΎ java, python Π½Π΅ Π½ΡΠΆΠ΅Π½Β». Π― ΡΡΠΈΡΠ°Ρ, Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Β«ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌΒ», Π³Π»Π°Π²Π½ΠΎΠ΅ ΡΡΠΎΠ± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ.
Π‘ΡΠ΅ΡΠ° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ kivy ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠΉ. Π‘Π΅ΠΉΡΠ°Ρ Π½Π° ΠΌΠΎΠ΅ΠΌ ΡΡΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ
ΠΏΠΎΠ΄ Π·Π°ΠΊΠ°Π·, Π³Π΄Π΅ python Ρ ΡΡΠ΅ΠΌΠ²ΠΎΡΠΊΠΎΠΌ kivy ΠΏΠΎΠΊΠ°Π·Π°Π» ΡΠ΅Π±Ρ Ρ Ρ
ΠΎΡΠΎΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ²Π½ΠΎ Π·Π° ΠΎΠ΄ΠΈΠ½ ΡΠ°Ρ, Π±ΡΠ»ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π»Ρ ΡΠ΅ΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ
ΡΠ΅Π½ΡΡΠΎΠ². ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΊΠΈΠΎΡΠΊΠ° ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π½Π° Π΄Π΅ΡΠ΅Π²ΡΠ΅ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠ΅ ΠΏΠ»Π°Π½ΡΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΈΡΡΡ Π² Ρ
ΠΎΠ»Π»Π΅. ΠΠ»ΠΈΠ΅Π½Ρ Π½Π°Π±ΠΈΡΠ°Π΅Ρ Π½ΠΎΠΌΠ΅Ρ Π·Π°ΠΊΠ°Π·Π°, Π΄Π°Π»Π΅Π΅ ΠΏΠΎ WiFi ΠΏΠ»Π°Π½ΡΠ΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΡΡΠ°ΡΡΡ Π·Π°ΠΊΠ°Π·Π°.
ΠΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π½Π° Python ΠΏΠΎΠ΄ Android
ΠΠ²ΡΠΎΡΠΈΠ·ΡΠΉΡΠ΅ΡΡ
ΠΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π½Π° Python ΠΏΠΎΠ΄ Android
Π Π°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄Ρ Π’Π΅ΠΉΠ»ΠΎΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠ° Kivy
Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π° Python ΠΏΠΎΠ΄ Android. ΠΡΠ΅ ΡΠ°ΡΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Kivy (ΠΈ Π΅Π³ΠΎ ΠΎΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ), Π²Π΅Π΄Ρ ΠΎΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π² ΡΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΎΠ΄Π½Ρ Π²Π°ΠΆΠ½ΡΡ Π΄Π΅ΡΠ°Π»Ρ Π½Π΅Π·Π°ΡΠ»ΡΠΆΠ΅Π½Π½ΠΎ ΠΎΠ±Π΄Π΅Π»ΡΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ β ΡΡΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ Π΄Π΅Π»Π°ΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Python ΡΡΠ°Π½Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅? ΠΡΡΡ Π»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ? ΠΡΠ΅ Π»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ? ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Π΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ ΡΠΎ ΠΆΠ΅, ΡΡΠΎ ΠΈ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Java? ΠΠ°Π½Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ Π²ΠΎΠ»Π½ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΈΡ , ΠΈ ΠΎΠ½ΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΈ ΡΠ΅ΡΠ°ΡΡΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Kivy. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΠΈ Π²Π°ΠΆΠ½ΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ.
Python-for-android
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΠΎ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Π³ΠΎ Python ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠ΄ Android β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Π½Π°Π·Π²Π°Π½Π½ΡΠΉ, ΠΊΠ°ΠΊ Π½ΠΈ ΡΡΡΠ°Π½Π½ΠΎ, python-for-android. ΠΠ³ΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² β ΠΏΠ°ΠΏΠΊΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π ΡΠΎΡΠ½Π΅Π΅, ΡΠ°ΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, Kivy ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΎΡ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ Π·Π°Π²ΠΈΡΠΈΡ: Pygame, SDL ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΡΡΠ³ΠΈΡ . Π’Π°ΠΊΠΆΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ Java, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠΈΠΉ OpenGL ΠΈ Π²ΡΡΡΡΠΏΠ°ΡΡΠΈΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠΎΡΡΠ΅Π΄Π½ΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ Kivy ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. ΠΠ°ΡΠ΅ΠΌ Π²Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ ΠΊΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΠΎΠΌΡ ΡΠ²ΠΎΠΈ ΡΠΊΡΠΈΠΏΡΡ, Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π²ΡΠΎΠ΄Π΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΈ ΠΈΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Android NDK ΠΈ Π²ΡΠ°Π»Ρ β APK Ρ Π²Π°ΡΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π³ΠΎΡΠΎΠ²!
Π ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ Π±Π°Π·ΠΎΠ²Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ (ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ) Π² ΡΠ΅Π±Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅. ΠΠΌΠ΅ΡΡΠ΅ ΡΠΎ Π²ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΈΠΌ Π² APK Π²ΡΠΈΠ²Π°Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π° Π»ΡΠ±ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° Python, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ β Π²ΡΠ΅ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄Π΅ΡΠΊΡΠΎΠΏ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠΎΠ±Π°Π²ΠΊΠ° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΡΠΎΠΆΠ΅ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΡΠ΄Π½ΠΎΡΡΠ΅ΠΉ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π»ΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊ ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ±ΠΈΡΠ°ΡΡ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠΎ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½ΠΈΡΠ΅Π³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»ΠΈΡΡ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠ°ΡΡ Π³Π°Π»ΠΎΡΠ΅ΠΊ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ±ΠΎΡΠΊΠΈ, Ρ ΠΎΡΡ Π² ΡΠ΅Π΄ΠΊΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. Python-for-android ΡΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠ°ΠΊΠΈΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΊΠ°ΠΊ: numpy, sqlite3, twisted ΠΈ Π΄Π°ΠΆΠ΅ django!
ΠΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Π»ΠΈΡΡ Π² ΠΎΠ±ΡΠΈΡ ΡΠ»ΠΎΠ²Π°Ρ ΠΎΠ±ΡΡΡΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ python-for-android. Π Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π° Π΄Π°Π½Π½ΡΡ ΡΠ΅ΠΌΡ, Π·Π°Π³Π»ΡΠ½ΡΠ² Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Kivy. Π― ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π²Π°ΠΌ Buildozer β Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΡ Π΄Π»Ρ python-for-android, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ. ΠΡ ΡΡΠ°ΡΠ°Π΅ΠΌΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π½Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ Π²ΡΡΠ΅ ΡΠ΅ΠΏΠΎΡΠΊΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² Kivy, Π½ΠΎ ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ . ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅, Π½ΠΎ Π½ΡΠΆΠ΄Π° Π² Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ΅ Java ΠΎΡΠΏΠ°Π΄Π΅Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ Π½ΡΠΆΠ΄ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°.
ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ Android API Ρ ΠΏΠΎΠΌΠΎΡΡΡ PyJNIus
ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Android API: ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Ρ ΡΠ΅Π½ΡΠΎΡΠΎΠ², ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ, Π²ΠΈΠ±ΡΠ°ΡΠΈΡ, ΠΏΠ°ΡΠ·Π° ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊ, Π΄Π° ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ β Π²Π°ΠΆΠ½Π°Ρ ΡΠ°ΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Kivy Π·Π° Π²Π°Ρ ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡ ΠΎΠ± ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π²Π΅ΡΠ°ΠΌΠΈ Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ°ΠΌΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ PyJNIus β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π½Π° Java Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Python.
17β19 Π΄Π΅ΠΊΠ°Π±ΡΡ, ΠΠ½Π»Π°ΠΉΠ½, ΠΠ΅cΠΏΠ»Π°ΡΠ½ΠΎ
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΡΡΠ°Π²ΠΈΡ ΡΠ΅Π»Π΅ΡΠΎΠ½ Π²ΠΈΠ±ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ 10 ΡΠ΅ΠΊΡΠ½Π΄:
ΠΡΠ»ΠΈ Π²Ρ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ Android API, ΡΠΎ Π±Π΅Π· ΡΡΡΠ΄Π° Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ ΠΊΠΎΠ΄ Π²ΡΡΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆ Π½Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ Π½Π° Java β PyJNIus ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ API, Π½ΠΎ ΠΏΡΡΠΌΠΎ ΠΈΠ· Python. ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ Android API ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΡΡΠΈΡΡ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π°, ΡΡΠΎ ΠΈ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π° Java.
ΠΠ»Π°Π²Π½ΡΠΉ ΠΌΠΈΠ½ΡΡ PyJNIus Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎΠ³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΡ Android API, Π° ΠΊΠΎΠ΄ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌ, Ρ ΠΎΡΡ Π΅Π³ΠΎ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ Π½Π° Java Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅. ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Kivy Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Plyer.
Plyer: ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠ΅ API Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ Π·Π°Π΄Π°Ρ
ΠΡΠΎΠ΅ΠΊΡ Plyer ΡΡΠ°Π²ΠΈΡ ΡΠ΅Π±Π΅ ΡΠ΅Π»Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ Β«ΠΏΠΈΡΠΎΠ½ΠΈΡΠ½ΡΠΉΒ» ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ Π½Π° Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ΄ Π²ΡΡΠ΅ Π»Π΅Π³ΠΊΠΈΠΌ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠΊΠΈ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π²β¦
ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ²ΠΎΡ Π·Π°Π΄Π°ΡΡ Π½Π° Π²ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Plyer ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ β Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠΎ: Android, iOS, Linux, Windows ΠΈ OS X (Π΄Π»Ρ iOS ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π°Π½Π°Π»ΠΎΠ³ PyJNIus, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠ°Ρ PyOBJus). ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π²ΠΈΠ±ΡΠ°ΡΠΈΡ β Π½Π΅ ΡΠ°ΠΌΡΠΉ Π»ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΠΎΠ½Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Android, Π½ΠΎ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΠΎΠ²Π½Ρ Π·Π°ΡΡΠ΄Π° Π±Π°ΡΠ°ΡΠ΅ΠΈ:
β ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ Π² Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΡ , ΡΠ°ΠΊ ΠΈ Π² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ , Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Ρ ΠΊΠΎΠΌΠΏΠ°ΡΠ°/Π³ΠΈΡΠΎΡΠΊΠΎΠΏΠ° ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° SMS Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ Π½Π° Android ΠΈ iOS.
Plyer Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ°Π΄ΠΈΠΈ ΡΠ°Π·Π²ΠΈΡΠΈΡ, ΡΠ°ΠΊ ΡΡΠΎ Π»ΡΠ±Π°Ρ ΠΏΠΎΠΌΠΎΡΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΠ΅ΡΡΡ. Π’Π°ΠΊΠΆΠ΅, ΠΌΡ ΡΡΠ°ΡΡΠ²ΡΠ΅ΠΌ Ρ Π½ΠΈΠΌ Π² Google Summer of Code Π² ΡΡΠΎΠΌ Π³ΠΎΠ΄Ρ.
ΠΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π΄ΠΈ Kivy
ΠΡΠ΅ Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π±ΡΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°, Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΎΠ½ΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ΄ Python Π² ΡΠ΅Π»ΠΎΠΌ. Π Plyer ΠΌΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΈΠ·Π±Π΅Π³Π°Π΅ΠΌ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Kivy, Π° PyJNIus Π½ΡΠΆΠ΅Π½ Π»ΠΈΡΡ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Android JNI. ΠΡΠΊΡΠ΅Π½Π½Π΅ Π½Π°Π΄Π΅Π΅ΠΌΡΡ, ΡΡΠΎ ΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΡΠ°Π½ΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ, ΠΊΡΠΎ ΠΏΠΈΡΠ΅Ρ Π½Π° Python ΠΏΠΎΠ΄ Android. ΠΡ ΡΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ PyJNIus, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ QPython. Python-for-android Π±ΠΎΠ»ΡΡΠ΅ Π·Π°Π²ΡΠ·Π°Π½ Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΈ Ρ Kivy, Π½ΠΎ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π΄Ρ ΠΎΠ±ΡΡΠ΄ΠΈΡΡ ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ.
ΠΠ½ΠΎΠ³ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π° Android Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° Π²ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ Ρ Java, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ, Π½ΠΎ ΡΡΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Ρ Π΅ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅ΠΌ Π±ΡΠ΄ΡΡΠ΅ΠΌ. Π Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π»ΠΈΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌΠΈ Π²ΡΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ, ΡΠΎ ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ ΠΊ Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅!
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Python. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° KivyMD
ΠΡΠΈΠ²Π΅ΡΡΡΠ²ΡΡ! Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΡΠ΅ΡΡ ΡΠ½ΠΎΠ²Π° ΠΏΠΎΠΉΠ΄Π΅Ρ ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ KivyMD β Π½Π°Π±ΠΎΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Python Π² ΡΡΠΈΠ»Π΅ Material Design. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠ΄Π΅Π»Π°Ρ Π½Π΅ ΠΎΠ±Π·ΠΎΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² KivyMD, ΠΊΠ°ΠΊ Π² Π½Π΅Π΄Π°Π²Π½Π΅ΠΉ ΡΡΠ°ΡΡΠ΅, Π°, ΡΠΊΠΎΡΠ΅Π΅, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π±ΠΎΠ»ΡΡΠ΅ ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ². Π§ΡΠΎ-ΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅Π³ΠΎ Π½Π° ΡΡΡΠΎΡΠΈΠ°Π» ΠΏΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Python Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² Π·Π΄Π΅ΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ, ΡΠ°ΠΊ ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠ»ΡΡΠΈΡΠ΅ ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ΅ Kivy, Π²ΡΡΠ΄ Π»ΠΈ Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅ ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ. ΠΡ, Π° ΠΌΡ ΠΏΠΎΠ³Π½Π°Π»ΠΈ ΠΏΠΎΠ΄ ΠΊΠ°Ρ!
ΠΠ° Π΄Π½ΡΡ ΡΠΊΠ°ΡΠ°Π» ΠΈΠ· Google Play Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Flutter UIKit:
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ UI ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ, Π½Π΅ Π² ΡΠΈΠ»Ρ ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ, ΠΈΠ·-Π·Π° ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Π»ΡΠ·Ρ Π±ΡΠ»ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π° ΠΏΡΠΎΡΡΠΎ Ρ ΠΏΠΎΡΡΠΈΡΠ°Π», ΡΡΠΎ ΡΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΎΡΠ³Π°Π½ΠΈΡΠ½Π΅ΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΠ½ΡΠΉ Toolbar, ΠΏΠΎ ΠΌΠΎΠ΅ΠΌΡ ΠΌΠ½Π΅Π½ΠΈΡ, ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ ΡΠΌΠΎΡΡΠΈΡΡΡ).
ΠΡΠ°ΠΊ! Π§ΡΠΎ Π±ΡΠΎΡΠ°Π΅ΡΡΡ Π² Π³Π»Π°Π·Π°, Π³Π»ΡΠ΄Ρ Π½Π° ΡΠΊΡΠ°Π½, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ? ΠΡΠΎΠ·ΡΠ°ΡΠ½ΡΠΉ ΡΠΎΠ½ ΠΏΠ΅ΡΠ΅Π΄Π½Π΅Π³ΠΎ layout. Π Kivy ΡΠ°ΠΊΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ FloatLayout, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ Π² ΡΠ΅Π±Π΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Ρ ΠΎΠ΄ΠΈΠ½ Π½Π°Π΄ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π‘Ρ Π΅ΠΌΠ°ΡΠΈΡΠ½ΠΎ Π½Π°Ρ ΡΠΊΡΠ°Π½ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
Π Π°Π·ΠΌΠ΅ΡΠΊΠ° ΡΡΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π° Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ°Ρ:
ΠΠΎΡΠ΅ΠΌΡ Ρ Π³ΠΎΠ²ΠΎΡΡ ΠΎ FloatLayout, Π΅ΡΠ»ΠΈ Π½Π°Ρ ΡΠΊΡΠ°Π½ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ ΠΎΡ Screen?
ΠΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ Π²ΠΎ FloatLayout ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΡΡΡΡΡ ΠΎΡ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠ³Π»Π°, ΡΠΎ Π΅ΡΡΡ, Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΈΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ (0, 0). Π ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ΅ Π½Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π° ΡΠΊΡΠ°Π½ ΡΠ²Π΅ΡΡ Ρ Π²Π½ΠΈΠ·:
ΠΡΠ»ΠΈ ΠΊΡΠΎ-ΡΠΎ ΠΎΠ±ΡΠ°ΡΠΈΠ» Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΌΡ ΡΠΊΠ°Π·Π°Π»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ:
ΠΠ°ΠΆΠ΄ΠΎΠΌΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ Π² Kivy ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ (x, y) ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ:
Π’Π°ΠΊ Π²ΠΎΡ, Π½ΠΈΠΆΠ½Π΅Π΅ ΡΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅β¦
β¦ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ FitImage (Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° KivyMD), Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°ΡΡΡΠ³ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° Π²ΡΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π΅ΠΌΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΉ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ:
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΠΈ Π»Π°ΠΉΠΎΡΡΡ Π² Kivy ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ 100 % ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°, Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎ ΠΈΠ½ΠΎΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π° ΡΠΊΡΠ°Π½ ΠΎΠ΄Π½Ρ ΠΊΠ½ΠΎΠΏΠΊΡ, Π²Ρ, ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠ½ΠΎΠΏΠΊΠ° Π·Π°Π½ΡΠ»Π° 100 % ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°. Π§ΡΠΎΠ±Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΏΠΎ ΡΠ΅Π½ΡΡΡ ΡΠΊΡΠ°Π½Π°, Π½ΡΠΆΠ½ΠΎ, Π²ΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π·Π°Π΄Π°ΡΡ Π΅ΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ, Π²ΠΎ-Π²ΡΠΎΡΡΡ , ΡΠΊΠ°Π·Π°ΡΡ, Π³Π΄Π΅ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠ°ΡΡΠΈΠ½Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π°ΡΡ:
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ size_hint, ΠΎΡ 0 Π΄ΠΎ 1, (ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ 0-100%), ΡΠΎ Π΅ΡΡΡ, ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ°:
ΠΠ»ΠΈ ΡΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Π½ΠΎ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ° ΡΠΈΡΠΈΠ½Ρ (size_hint_x):
MDToolbar ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΠΎΡΡ Π² 56dp, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π²ΡΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΠΈ Π΅ΡΠ»ΠΈ Π΅ΠΌΡ Π½Π΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π΅Π³ΠΎ ΠΌΠ΅ΡΡΠΎ ΡΠ²Π΅ΡΡ Ρ, ΡΠΎ ΠΎΠ½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΈΠΏΠ½Π΅Ρ ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π°:
Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ β OrderProductLayout (ΠΎ Π½Π΅ΠΌ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Π½ΠΈΠΆΠ΅) β ΡΡΠΎ ScrollView Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ MDCard ΠΈ ΠΎΠ½ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π²ΡΡ Π²ΡΡΠΎΡΡ ΡΠΊΡΠ°Π½Π°, Π½ΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ padding (Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΡΡΡΡΠΏΠΎΠ² Π² Π»Π°ΠΉΠΎΡΡΠ°Ρ ) ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ ΠΎΠ½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΡΡΡ Π²ΡΡΠ΅ ΡΠ΅Π½ΡΡΠ° ΡΠΊΡΠ°Π½Π°. ΠΡ Π° MDBottomAppBar ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠΈΠ΄Π°Π΅Ρ ΡΠΊΠΎΡΡ ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΉ Π³ΡΠ°Π½ΠΈΡΠ΅ ΡΠΊΡΠ°Π½Π°. ΠΠΎΡΡΠΎΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ MDToolbar ΠΌΡ ΡΠΊΠ°Π·Π°Π»ΠΈ, Π³Π΄Π΅ Π΅Π³ΠΎ ΠΌΠ΅ΡΡΠΎ.
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ· ΡΠ΅Π±Ρ Π²ΠΈΠ΄ΠΆΠ΅Ρ OrderProductLayout:
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠ΅ΡΡΡΠ΅ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ, Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π² ScrillView. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ ΠΎΡ FloatLayout, Π·Π΄Π΅ΡΡ Π²ΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΡΠΈΡΠ°ΡΡΡΡ ΡΠ²Π΅ΡΡ Ρ Π²Π½ΠΈΠ·.
ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΎΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠΊΠ°Ρ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ², Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΠΈ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Π·Π³Π»ΡΠ΄Π° ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ/ΠΊΠΎΠ½ΡΡΠΎΠ»Π» ΠΊΠ°ΠΊΠΎΠΌΡ Π»Π°ΠΉΠΎΡΡΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ. Π Kivy Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ Π»Π°ΠΉΠΎΡΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ BoxLayout β ΠΊΠΎΡΠΎΠ±ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ Π² ΡΠ΅Π±Π΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ Π»ΠΈΠ±ΠΎ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ β ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅):
ΠΠΎΠ»Π΅Π΅ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ ΡΡΠΎ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡ Π΅ΠΌΡ, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ BoxLayout Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΠΈ:
ΠΡ Π·Π°ΠΏΡΠ΅ΡΠΈΠ»ΠΈ BoxLayout ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ 100% ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° β size_hint_y: None ΠΈ ΡΠΊΠ°Π·Π°Π»ΠΈ β ΡΠ²ΠΎΡ Π²ΡΡΠΎΡΠ° Π±ΡΠ΄Π΅Ρ ΡΠΎΠ²Π½ΠΎ ΡΠ°ΠΊΠΎΠΉ, ΠΊΠ°ΠΊΠΎΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠΎΡΠ° ΡΠ°ΠΌΠΎΠ³ΠΎ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π² ΡΠ΅Π±Ρ β height: self.minimum_height.
ΠΡΠ»ΠΈ Π±Ρ ΠΌΡ Π·Π°Ρ ΠΎΡΠ΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠΊΡΡΡΠΊΡ ΡΠΏΠΈΡΠΊΠ°, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ GridLayout ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ°ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΠΎΠΊΠΈ (rows) Π½Π° ΡΡΠΎΠ»Π±ΡΡ (cols) ΠΈ ΡΠΊΠ°Π·Π°ΡΡ Π² minimum Π½Π΅ ΡΠΈΡΠΈΠ½Ρ, Π° Π²ΡΡΠΎΡΡ:
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠ°ΡΡΡ β Π²ΡΠ±ΠΎΡ ΡΠ²Π΅ΡΠ° ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° (ΠΎΠ½ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Ρ):
ΠΡΠ»ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΡΠ·ΡΠΊΠ° ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ Kv Language ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ², Π½ΠΎ ΠΈ ΡΠΎ, ΡΡΠΎ ΡΡΠΎΡ ΡΠ·ΡΠΊ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ° Python. Π ΠΈΠΌΠ΅Π½Π½ΠΎ: Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅/ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅, I/O ΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈβ¦
ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ value, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² Labelβ¦
β¦ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΡΠ°ΠΌΠΎΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ΅:
Π Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠΎΠ²Π΅ΡΡ, ΡΡΠΎ Π²ΠΎΡ ΡΡΠΎ (ΠΊΠΎΠ΄ Flutter)β¦
β¦ Π»ΠΎΠ³ΠΈΡΠ½Π΅Π΅ ΠΈ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½Π΅Π΅ ΠΊΠΎΠ΄Π° Kv Language:
ΠΡΠ΅ΡΠ° ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°ΡΠΈΠ²Π°Π»ΠΈ, ΠΊΠ°ΠΊ Ρ Kivy ΠΎΠ±ΡΡΠΎΡΡ Π΄Π΅Π»Π° ΡΠΎ ΡΡΠ΅Π΄ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π΅ΡΡΡ Π»ΠΈ Π°Π²ΡΠΎΠΊΠΎΠΌΠΏΠ»ΠΈΡΡ, Ρ ΠΎΡΡΠ΅Π»ΠΎΠ°Π΄ ΠΈ ΠΏΡΠΎΡΠΈΠ΅ ΠΏΡΠ΅Π»Π΅ΡΡΠΈ? Π‘ Π°Π²ΡΠΎΠΊΠΎΠΌΠΏΠ»ΠΈΡΠ°ΠΌΠΈ Π²ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ PyCharm:
ΠΠ°ΡΡΠ΅Ρ Ρ ΠΎΡΡΠ΅Π»ΠΎΠ°Π΄β¦ Python β ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ ΡΠ·ΡΠΊ. Kivy ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Python. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Π½Π΅ Π½ΡΠΆΠ½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΊΠΎΠ΄Π°, Π·Π°ΠΏΡΡΡΠΈΠ» β ΡΠ²ΠΈΠ΄Π΅Π»/ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠ²Π°Π». ΠΠ°ΠΊ Ρ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ», Kivy Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½Π°ΡΠΈΠ²Π½ΡΠ΅ API Π΄Π»Ρ ΡΠ΅Π½Π΄Π΅ΡΠ° UI, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ screen. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ Ρ Π½ΡΠΆΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΡΡΠΎΠ±Ρ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΎΡΠΊΡΡΠ»ΠΎΡΡ ΠΎΠΊΠ½ΠΎ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΠΎΠ½ΠΎ Π±ΡΠ»ΠΎ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅. ΠΠ²ΡΡΠΈΡ ΡΡΡΠ°Π½Π½ΠΎ, Π½ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Kivy Π°Π±ΡΡΡΠ°Π³ΠΈΡΡΠ΅ΡΡΡ ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π² ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ UI, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΆΠ΅Π»ΡΠ΅ ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠ΅ ΡΠΌΡΠ»ΡΡΠΎΡΡ Π΄Π»Ρ ΡΠ΅ΡΡΠΎΠ². ΠΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ UI. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΡΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌΠΎΠ΅ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ -m screen:droid2, portrait, scale=.75.
Π‘Π»Π΅Π²Π° β Π·Π°ΠΏΡΡΠ΅Π½ΠΎ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅, ΡΠΏΡΠ°Π²Π° β Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅:
ΠΡ, ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΡΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ β Π·Π°ΠΏΡΡΠΊ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅β¦
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, ΡΡΠΎ ΠΎΠ³ΠΎΡΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°. Π£ ΡΠΎΠ³ΠΎ ΠΆΠ΅ Flutter ΠΎΠ½Π° ΠΏΡΠΎΡΡΠΎ ΡΠ΅Π½ΠΎΠΌΠ΅Π½Π°Π»ΡΠ½Π°Ρ!
ΠΠ°Π΄Π΅ΡΡΡ, Π±ΡΠ» ΠΊΠΎΠΌΡ-ΡΠΎ ΠΏΠΎΠ»Π΅Π·Π΅Π½, Π΄ΠΎ Π½ΠΎΠ²ΡΡ Π²ΡΡΡΠ΅Ρ!
Kivy β Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Python
Π Π½Π°ΡΠΈ Π΄Π½ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΌ ΠΈΠ»ΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π° Python. Π Python Π½Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ², ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠΎ Kivy, PyQt ΠΈ Π΄Π°ΠΆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Toga ΠΎΡ Beeware.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡΠ° Python. ΠΠ΄Π½Π°ΠΊΠΎ, Π³ΠΎΠ²ΠΎΡΡ ΠΎ Kivy, Π½Π΅Π»ΡΠ·Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ΄ Π²ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π·Π΄Π΅ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΡΡΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Python.
Π ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Π±ΡΠ΄ΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅ΠΌΡ:
Π Π°Π·Π±ΠΎΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ ΡΠΈΡΠ°ΡΠ΅Π»Ρ Π·Π½Π°ΠΊΠΎΠΌ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΠ»Ρ Π²Π²Π΅Π΄Π΅Π½ΠΈΡ Π² ΠΊΡΡΡ Π΄Π΅Π»Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠ°ΡΡΡ ΠΎΠ± ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ (ΠΠΠ) Π² Python 3.
ΠΡΠΈΠ½ΡΠΈΠΏΡ ΡΠ°Π±ΠΎΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Kivy Python
Kivy Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Π² 2011 Π³ΠΎΠ΄Ρ. ΠΠ°Π½Π½ΡΠΉ ΠΊΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Python ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Windows, Mac, Linux ΠΈ Raspberry Pi. Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌΡ Π²Π²ΠΎΠ΄Ρ ΡΠ΅ΡΠ΅Π· ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΈ ΠΌΡΡΡ ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΡΠ»ΡΡΠΈΡΠ°Ρ. Kivy Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ GPU ΡΠ²ΠΎΠ΅ΠΉ Π³ΡΠ°ΡΠΈΠΊΠΈ, ΡΡΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ OpenGL ES2. Π£ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ΡΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ MIT, ΠΏΠΎΡΡΠΎΠΌΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ ΠΈ Π²ΠΊΡΠΏΠ΅ Ρ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ.
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· Kivy ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (Natural user Interface), ΠΈΠ»ΠΈ NUI. ΠΠ³ΠΎ Π³Π»Π°Π²Π½Π°Ρ ΠΈΠ΄Π΅Ρ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠ³ Π»Π΅Π³ΠΊΠΎ ΠΈ Π±ΡΡΡΡΠΎ ΠΏΡΠΈΡΠΏΠΎΡΠΎΠ±ΠΈΡΡΡΡ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±Π΅Π· ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ.
Kivy Π½Π΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Π½Π°ΡΠΈΠ²Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΈΠ»ΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ. ΠΡΠ΅ Π΅Π³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Kivy Π±ΡΠ΄ΡΡ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π½Π° Π²ΡΠ΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ . Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ Π½Π°ΡΠΈΠ²Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ ΠΊΠ°ΠΊ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ, ΡΠ°ΠΊ ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠΌ, Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΠΈ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Kivy
Π£ Kivy Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ Π»ΡΡΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π΅Π³ΠΎ Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄Ρ Python. ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Python venv ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅Ρ virtualenv.
ΠΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΡΡΠ΅Π΄Π° Python ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Python c kivy/buildozer. ΠΠ΅ΠΊΡΠΈΡ Π² Π―Π½Π΄Π΅ΠΊΡΠ΅
ΠΠ΅ ΡΠ°ΠΊΡ, ΡΡΠΎ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΅ΡΡΡΠ·Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Python. Π Π²ΠΎΡ Π±ΡΡΡΡΠΎ ΡΠΎΠ±ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ ΡΠ΅ΡΠ²ΠΈΡ, ΡΡΠΎΠ±Ρ Β«ΠΏΡΠΎΠ΄Π°ΡΡΒ» Π΅Π³ΠΎ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΡ, β ΠΏΠΎΡΠ΅ΠΌΡ Π½Π΅Ρ? Python ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π΅Π½, ΠΈ ΠΎΠΏΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ° Π½Π° ΡΡΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ. ΠΠ»Π°Π΄ΠΈΡΠ»Π°Π² Π¨Π°ΡΠΊΠΎΠ² ΠΈΠ· Π‘Π±Π΅ΡΠ±Π°Π½ΠΊΠ° ΡΠ°ΡΡΠΊΠ°Π·Π°Π» ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΡΡΠΎΠΈΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° kivy.
β ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ. ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΠ»Π°Π΄ΠΈΡΠ»Π°Π² Π¨Π°ΡΠΊΠΎΠ², Ρ ΡΠ°Π±ΠΎΡΠ°Ρ Π² Π‘Π±Π΅ΡΠ±Π°Π½ΠΊΠ΅ ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅-ΡΠΎ Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²ΠΈΠΊ, Π½Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ. ΠΠΌΠ΅Π½Π½ΠΎ ΡΡΠΈΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ ΠΌΠΎΠΉ Π΄ΠΎΠΊΠ»Π°Π΄, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ, ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Python Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎ.
Kivy β Π²ΡΠ΅-ΡΠ°ΠΊΠΈ ΠΎΠ½ Β«ΠΠΈΠ²ΠΈΒ», ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ±ΡΠ°Π·Π½ΠΎ Π΅Π³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π½Π° ΠΎΠ±Π»ΠΎΠΆΠΊΠ°Ρ ΠΊΠ½ΠΈΠΆΠ΅ΠΊ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΊΡΠ°, ΠΈ Π½Π° ΡΡΡΡΠΊΠΎΠΌ Π±Π»ΠΈΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π½ΠΎΡΠ΅Π½ΠΈΠ΅ Β«ΠΠΈΠ²ΠΈΒ». Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ Ρ 2011 Π³ΠΎΠ΄Π°. ΠΠΎ ΡΡΡΠΈ, ΡΡΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ UI-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ . ΠΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ·ΡΠΊ KV, ΡΡΠΎ ΡΠ·ΡΠΊ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ. ΠΡΠ»ΠΈ ΠΎΠ±ΡΠ°Π·Π½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ·ΡΠΊ KV, ΠΏΠΎΠ»ΡΡΠΈΡΡΡ, ΡΡΠΎ ΡΠ°ΠΊ Π±Ρ Π²ΡΠ³Π»ΡΠ΄Π΅Π» HTML, Π±ΡΠ΄Ρ ΠΎΠ½ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Python.
Π’Π°ΠΊΠΆΠ΅ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ KivyMD, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ· ΡΠ΅Π±Ρ Π½Π°Π±ΠΎΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² Π² ΡΡΠΈΠ»Π΅ Material Design. KivyMD ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΄ΡΡΠΆΠ΅Π»ΡΠ±Π½ΡΠΉ Π³ΡΠ³Π»ΠΎΠ²ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΎΠΏΡΡΠΎΠΌ.
ΠΠ΄Π΅ΡΡ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ»ΠΈΡΡΡΠ²Π°ΡΡΡΡ Π²ΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΡΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅. ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ³Π°ΡΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠΎ ΠΈ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ, ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΈ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ-Π±Π°ΡΡ, ΠΈ Π²ΡΠΏΠ»ΡΠ²Π°ΡΠΊΠΈ. Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, Π΅ΡΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅, ΡΡΠΎΠ±Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½ΡΠΆΠ½ΡΠΉ Π²Π°ΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ ΠΎΠΏΡΡ. ΠΡΠ»ΠΈ Π½Π°Π΄ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ±ΡΠ°ΡΡ ΡΠ±ΠΎΡΠΊΡ Π½Π° iOS, ΡΠΎ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅. Π’ΠΎΡ ΠΆΠ΅ Material Design. Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π² App Store, Ρ ΠΎΡΡ ΠΎΠ½ΠΎ ΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡ ΠΎΠΆΠ΅Π΅ Π½Π° Google.
Kivy Π±Π΅Π· KivyMD ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ΅Π½Ρ Π°ΡΠΊΠ΅ΡΠΈΡΠ½ΡΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½. ΠΠ³ΠΎ Π΄Π°ΠΆΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π΅ ΡΡΠΎΠΈΡ. ΠΠΎΡ ΠΎΠΆΠΈΠ΅ Π½Π° ΡΠ±ΡΠ½ΡΠΎΠ²ΡΠΊΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΏΡΠΎΡΡΡΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ, Π½Π΅ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΌΡ ΠΎΠΏΡΡΡ, ΠΊ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ. Π KivyMD ΠΌΠΎΠ»ΠΎΠ΄ΡΡ, Π²ΡΠ΅ ΠΊΡΠ°ΡΠΈΠ²ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ.
ΠΡΡΡ ΠΏΠ»ΠΎΡ Π°Ρ Π½ΠΎΠ²ΠΎΡΡΡ. ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡΠΈΠ»ΠΈΡΠ° β buildozer. Π ΠΏΠ»ΠΎΡ Π°Ρ Π½ΠΎΠ²ΠΎΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π½Π°ΡΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΡΠ±ΠΎΡΠΊΡ Ρ Π΅Π΅ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ ΠΏΡΠΎΡΡΠΎ. ΠΠ°ΠΊ ΠΈ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, Ρ Π»ΡΠ±ΡΠΌ ΠΎΠΏΠ΅Π½ΡΠΎΡΡΠ½ΡΠΌ ΠΠ, ΡΡΠΎΠ±Ρ Π²ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΡΡΠΎΠ±Ρ Π² ΠΈΡΠΎΠ³Π΅ Π΄ΠΎΠΉΡΠΈ Π΄ΠΎ ΡΠ΅Π»ΠΈ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ APK, Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠΉΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Β«ΡΡΠΎΠΏΠΎΠΉΒ», Π½Π΅ ΡΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Ρ ΠΏΠΎ ΡΡΠΎΡΠΎΠ½Π°ΠΌ.
ΠΠ° ΡΡΠΎΠΌ ΡΠ»Π°ΠΉΠ΄Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠΉΡΠΈ ΠΏΠΎ Β«ΡΡΠΎΠΏΠ΅Β» ΠΈ Π½Π΅ ΡΠ΄Π΅Π»Π°ΡΡ Π»ΠΈΡΠ½Π΅Π³ΠΎ. ΠΠ΅ Π½Π°Π΄ΠΎ ΠΏΡΡΠ°ΡΡΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠ°ΠΌ kivy ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π΄ΡΡΠ³ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² ΠΎΠ±ΡΠ°Π·Π΅. ΠΡΠ΅ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ, ΡΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠ»Π°ΠΉΠ΄Π΅, ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°ΠΌΠΎ ΠΏΠΎΠ΄ΡΡΠ½Π΅ΡΡΡ ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΠ°Π»ΡΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ ΡΡΡΡΠΊΡΡΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Kivy. ΠΠ° ΡΠ»Π°ΠΉΠ΄Π°Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Ρ QR-ΠΊΠΎΠ΄Ρ, Π³Π΄Π΅ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Ρ ΡΡΡΠ»ΠΊΠΈ Π½Π° GitHub, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡ ΡΠ΅ΠΉΡΠ°Ρ ΡΡΠΈΡΠ°ΡΡ ΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ Ρ Π±ΡΠ΄Ρ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ. (ΠΠ΅ΡΠ²Π°Ρ ΡΡΡΠ»ΠΊΠ° β ΠΏΡΠΈΠΌ. ΡΠ΅Π΄.)
ΠΠ° ΡΠΊΡΠ°Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΡΠ°ΠΉΠ» buildozer spec, ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡ. Π‘Π°ΠΌΠΎΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅ Π·Π΄Π΅ΡΡ: Π΅ΡΡΡ ΡΡΡΠΎΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡΡΡ requirements, ΡΠΎ Π΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ, ΠΈ Π² Π½Π΅ΠΉ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π°Π΄ΠΎ Kivy, KivyMD, Π·Π°ΠΏΠΈΡΡ ΡΠ°ΠΌ Π΅ΡΡΡ, ΠΈ Π½Π° GitHub ΠΎΠ½Π° ΡΠΎΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Π°.
ΠΠ°ΠΆΠ½ΡΠΉ ΡΠ°Π·Π΄Π΅Π», ΠΎΠ½ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½, ΠΊΠ°ΡΠ°Π΅ΡΡΡ Π°Π½Π΄ΡΠΎΠΈΠ΄ΠΎΠ²ΡΠΊΠΈΡ NDK, SDK, Π΅Π³ΠΎ ΡΡΠΎΠ³Π°ΡΡ Π½Π΅ Π½Π°Π΄ΠΎ. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎ UI ΠΈ UX. Π ΡΠ·ΡΠΊΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ KV Π΅ΡΡΡ Π΄Π²Π° ΠΏΠΎΠ½ΡΡΠΈΡ: Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΠΈ Π»ΡΠΉΠ°ΡΡΡ. ΠΠΈΠ΄ΠΆΠ΅ΡΡ β Π²ΠΈΠ΄ΠΈΠΌΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΠΊΠ½ΠΎΠΏΠΎΡΠΊΠΈ, ΠΏΠΎΠ»Ρ Π²Π²ΠΎΠ΄Π° ΠΈ ΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅. ΠΠΈΠ΄ΠΆΠ΅ΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ. Π Π»ΡΠΉΠ°ΡΡΡ β ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ, ΠΈΡ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΠΈΠ΄ΠΎΠ², ΡΡΠΎΠ±Ρ Π²ΡΡΡΡΠΎΠΈΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ Π² ΡΡΠ΄ΠΎΠΊ ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΠΊΠ°ΠΊ-ΡΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ. Π ΠΎΠ±ΡΠ΅ΠΌ-ΡΠΎ, ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ UI, UX, ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ ΠΎΠ½ ΡΠΎΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
ΠΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ·ΡΠΊΠ° KV (ΡΡΡΠ»ΠΊΠ° β ΠΏΡΠΈΠΌ. ΡΠ΅Π΄.). ΠΠ°ΠΊ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, Π²Π½Π°ΡΠ°Π»Π΅ Π·Π° ΡΠ΅ΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠ΄Π΅Ρ ΠΈΠΌΠΏΠΎΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Π·Π°ΡΠ΅ΠΌ Π² ΡΠ³Π»ΠΎΠ²ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ β¦ ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΡ Β«ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉΒ», ΠΏΡΠΎΡΡΠΎ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ Π»ΡΠΉΠ°ΡΡ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π² ΠΊΠΎΠ΄Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ ΠΊΠ»Π°ΡΡ. ΠΠ΄ΠΈΠ½ Π² ΠΎΠ΄ΠΈΠ½ Π½Π°Π·Π²Π°Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ ΠΈ ΠΊΠ»Π°ΡΡΠ° Π² ΠΊΠΎΠ΄Π΅. ΠΠ°Π»ΡΡΠ΅ ΡΠ΅ΡΠ΅Π· ΠΎΡΡΡΡΠΏΡ ΠΈΠ΄ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ, Π²Π½ΡΡΡΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ², ΠΎΠΏΡΡΡ ΠΎΡΡΡΡΠΏΠΎΠΌ ΠΈΠ΄ΡΡ property ΠΈ ΡΠΎΠ±ΡΡΠΈΡ, ΠΎΠ½ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΠΈΠ΄ΡΡ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°.
ΠΠ²Π΅ΡΡ Ρ ΠΊΠ»Π°ΡΡ β ΠΊΠ»Π°ΡΡ Π»ΡΠΉΠ°ΡΡΠ°. ΠΠ°Π»ΡΡΠ΅ ΠΈΠ΄Π΅Ρ ΠΊΠ»Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈ Π²Π½ΠΈΠ·Ρ Π΄Π²Π΅ ΡΡΡΠΎΡΠΊΠΈ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ, ΠΈ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ½Π°Ρ, ΡΡΠΎ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΡ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, Π½Π΅ ΠΎΡΠ΅Π½Ρ Π·Π½Π°ΠΊΠΎΠΌΠ° Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΡ ΡΠ°Π³Π°Ρ , ΡΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ Π½Π°Π΄ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈ ΠΎΡΠ»Π°Π΄ΠΈΡΡ ΡΠ²ΠΎΠΉ APK.
ΠΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ Π½Π°Π΄ΠΎ Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. ΠΠ½ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Ρ ΠΈΡΡΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ΡΠ΅ΠΊΡΠ΅ΡΠ½Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π½Π°ΠΆΠ°ΡΠΈΠΉ ΠΏΡΠ½ΠΊΡΠΎΠ² ΠΌΠ΅Π½Ρ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°. Π ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ, Π½ΠΎ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠ΅ΠΆΠΈΠΌ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΆΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ APK, ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΈ Π΄Π°Π»ΡΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ.
Buildozer Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅, Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ Π½Π°Π΄ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° Π±ΡΠ»Π° ΠΏΠΎΡΠ²Π΅ΠΆΠ΅Π΅. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ USB, ΡΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½ ΠΊ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅.
ΠΡΠΈΠ·Π½Π°ΠΊ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Ρ Π²Π°Ρ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ β ΡΠ΅Π»Π΅ΡΠΎΠ½ ΡΠΏΡΠΎΡΠΈΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° ΠΎΡΠ»Π°Π΄ΠΊΡ. ΠΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ /BUILD. Π§ΡΠΎΠ±Ρ ΡΠΎΠ±ΡΠ°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ buildozer android debug. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° APK Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠΈΠ»ΠΈΡΠΎΠΉ ΠΈΠ· Android Studio, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ Π² ΠΎΠ±ΡΠ°Π·Π΅, ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ adb install.
Π ΡΡΠ°Π·Π° success Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ ΠΏΠΎΠΊΠ° Π²ΡΠ΅ Ρ ΠΎΡΠΎΡΠΎ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Π·Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½.
ΠΡΠ»Π°Π΄ΠΊΠ° ΠΊΠΎΠ΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΠ°Π΄ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ±ΠΎΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ adb logcat, ΡΡΠΎΠ±Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ°Π» ΡΠ±ΠΎΡΡΠΈΠΊ. ΠΠ°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° Β«Ρ Π²ΡΡΠΎΠΊΠΎΠΉ Π΄ΠΎΠ»Π΅ΠΉ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠΈΒ» ΡΠΏΠ°Π΄Π΅Ρ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΈ ΠΈΠ΄ΡΠΈ ΡΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ»ΠΈΠΊ Π»ΠΎΠ³ΠΎΠ².
ΠΠ°ΠΊ ΠΈΡΠΊΠ°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅? ΠΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΌΡ ΡΠ»ΠΎΠ²Ρ python. Π‘Π°ΠΌΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π·Π°ΠΏΠΈΡΡ c ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ python, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅Ρ Π²Π°ΠΌ, ΡΡΠΎ ΠΏΠΎΡΠ»ΠΎ Π½Π΅ ΡΠ°ΠΊ.
ΠΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅. ΠΠΎΠ±ΠΈΠ»ΡΠ½Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΊΠ½ΠΎΠΏΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊ API Ρ ΠΎΠ΄ΡΡ, Π° ΠΏΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅ΠΌ Π΄Π°ΡΡΠΈΠΊΠΎΠ² Π³Π°Π΄ΠΆΠ΅ΡΠ°. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠ΅ΠΉ Π΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° plyer. ΠΠ½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎ-Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠ°Ρ, ΡΠΎ Π΅ΡΡΡ Π²ΡΠ΅, ΡΡΠΎ Π½Π° Π½Π΅ΠΉ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ, ΠΏΠ΅ΡΠ΅ΡΠΎΠ±Π΅ΡΠ΅ΡΡΡ Ρ Android Π½Π° iOS. ΠΠ° ΡΠ»Π°ΠΉΠ΄Π΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π²ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΎΠΏΡΠΈΠΈ. Π’Π°ΠΌ ΠΈ GPS, ΠΈ Π±Π°ΡΠ°ΡΠ΅Ρ, ΠΈ ΠΊΠ°ΠΌΠ΅ΡΠ°β¦ ΠΠΎ Ρ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ plyer ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ.
Π ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠ°ΠΊ ΡΠ°Π· ΡΠ°ΡΡΠΈΡΡΠ΅Ρ ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ. Π‘ΡΡΠ»ΠΊΠ° Π½Π° GitHub, ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡΠΎΠΊ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ»Π° Π±ΠΈΠ·Π½Π΅Ρ-Π·Π°Π΄Π°ΡΠ° QR-ΠΊΠΎΠ΄ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡ Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ. Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ΠΌ Π²ΠΈΠ΄Π΅ΠΎ, Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΡΡ ΠΈ Ρ. ΠΏ.
ΠΡΠ΅ Ρ kivy Π΅ΡΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ Π°Π΄Π΄ΠΎΠ½ΠΎΠ² β Garden. ΠΡΠ±ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ Π΄Π΅Π»Π°ΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΠΈ ΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅. ΠΠΎΠ»Π΅Π·Π½ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π», ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΊΠ°ΡΡΠ°ΠΌΠΈ. ΠΠ½ Π°ΠΊΡΠΈΠ²Π½ΡΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ, ΠΏΠΎΠΊΡΡΡΠΈΡΡ ΠΊΠ°ΡΡΡ. ΠΠ΄Π΅ΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ. Π Garden Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ².
ΠΠΎΠ³Π΄Π° Ρ ΡΠ°Π±ΠΎΡΠ°Π» Π½Π°Π΄ ΡΠ²ΠΎΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, ΡΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠ» ΠΊΠΎΡΠΈΠ΄ΠΎΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ, ΡΡΠΎΠ±Ρ ΡΠΎΠ±ΡΠ°ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΠ²ΡΠ·Ρ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π ΠΏΠΎΠ»ΡΡΠΈΠ» ΡΠ°ΠΊΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊ Β«Ρ Π»Π΅Π²ΡΠ΅ APK Π½Π΅ Π±ΡΠ΄Ρ ΡΡΠ°Π²ΠΈΡΡΒ», Β«ΠΌΠ°ΠΌΠ° Π½Π΅ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΡΒ», Β«Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½ ΠΊΡΠΏΠΈΠ»Β». Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ° ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²Ρ, ΠΌΠ½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΏΡΠΎΠΉΡΠΈ ΠΏΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅Π»ΠΈΠ· Π² Google Play. ΠΠ° ΡΠ»Π°ΠΉΠ΄Π΅ ΠΎΠ½ ΠΎΠΏΠΈΡΠ°Π½. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π½Π°Π΄ΠΎ Ρ ΠΊΠ»ΡΡΠ°ΠΌΠΈ ΠΏΠΎΠ²ΠΎΠ·ΠΈΡΡΡΡ, ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ Π² Google Play Π½Π΅ Π±Π΅ΡΠΏΠ»Π°ΡΠ½Π°Ρ. Π§ΡΠΎΠ±Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ, Π½Π°Π΄ΠΎ ΠΏΡΠΈΠ³ΠΎΡΠΎΠ²ΠΈΡΡ 25 Π΄ΠΎΠ»Π»Π°ΡΠΎΠ². Π ΡΡΠΎ Π΅ΡΠ΅ ΠΎΡΠ΅Π½Ρ Π΄Π΅ΠΌΠΎΠΊΡΠ°ΡΠΈΡΠ½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Apple ΠΏΡΠΎΡΠΈΡ 99 Π΄ΠΎΠ»Π»Π°ΡΠΎΠ².
ΠΠ° Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»Π°ΠΉΠ΄Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΌΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΡΠΎ Π²ΡΠ΅ Π΅ΡΠ΅ Π°Π»ΡΡΠ°-ΠΏΡΠΎΡΠΎΡΠΈΠΏ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΡΡ Π½Π΅ ΡΡΠ΄ΠΈΡΡ ΡΡΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠ°Π΄Π°ΡΡ. Π‘ΡΡΠ»ΠΊΠ° Π½Π° Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΠ²Π΅ΠΆΠ°Ρ, ΠΌΠ½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ, ΡΡΠΎ ΠΎΠ½Π° Ρ ΠΎΡΠΎΡΠ°Ρ. ΠΡΡΡ ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ, Π³ΡΡΠΏΠΏΠ° ΠΠΠΎΠ½ΡΠ°ΠΊΡΠ΅, Π΅Π΅ Π°Π΄ΠΌΠΈΠ½ Π½Π° Π₯Π°Π±ΡΠ΅ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠ°ΡΡΠΈ Π²ΡΠΏΡΡΠΊΠ°Π΅Ρ.