éèæžã®ç©èª

- ãããŠãGoogle AndroidãäœæããŸããã 圌ã¯ã¢ãã€ã«ãã©ãããã©ãŒã ã®åºã«èœã¡çãã劻ã«JavaãäžããŸããã
- ãããŠã圌ã¯Google Javã«åœããŸãã
: Android
ãçŸãããé«éã«äœæããAndroid : , Jav
ã ãããŠåœŒã¯ã圌ãã®ããã°ã©ã ããŠãŒã¶ãŒã«ãšã£ãŠé
ããŠäžæå¿«ã«ãªããªãããã«ããã¬ãŒã ã¯ãŒã¯ãšããã°ã©ãã³ã°èšèªã®ç¥èã®æšã®å®ãé£ã¹ãããšã圌ãã«çŠããŸããã - ãã®æšã§æãé£ããã®ã¯ãå€ä»£ã®è-åçãªPythonã§ãã é·ãéã圌ã¯AndroidãèŠãŠ
, , . Python Android
, , . Python Android
ïŒGoogleã¯ããªãã«çå®ãäŒããŸãããïŒãã¬ãŒã ã¯ãŒã¯ãšããã°ã©ãã³ã°èšèªã®ç¥èã®æšã®å®ãé£ã¹ãŠã¯ãããŸãããããªãã®ããã°ã©ã ããŠãŒã¶ãŒã«ãšã£ãŠé
ããŠäžå¿«ã«ãªããªãããã«ïŒ - ããã¯ãŸãã«å
šèœã®Googleãç§ã«åœãããã®ã§ãããAndroidã¯ããã«å¿ãã劻ãç§ã®ããã«Javaããã°ã©ã ãäœæããŸããã
- ã°ãŒã°ã«ã¯ããªãã欺ãããæããªPythonã¯ã·ã¥ãŒããšããé³ã§ã圌ã¯ããªãããã¬ãŒã ã¯ãŒã¯ãšããã°ã©ãã³ã°èšèªã®ç¥èã®æšã®å®ãå³ããæ¥ã«ãããªãã¯å
ãèŠããšä»ã®éçºè
ãããªãã«å±ããããã°ã©ã ã®äœæãéå§ããããªãã®ã¢ããªã±ãŒã·ã§ã³ãã¡ããã©åãããã«èŠããããšãç¥ã£ãŠãã劻ã®Javaã®ããã«é«éã§ãã¯ãã¹ãã©ãããã©ãŒã ã«ãªããŸãïŒ
- ãããŠããã¬ãŒã ã¯ãŒã¯ãšããã°ã©ãã³ã°èšèªã®ç¥èã®æšããPythonã®å®ãæã¿åããAndroid'uãææž¡ããŠé£ã¹ãŸããã
- ãã®æå®ã®ååã¯Kivyã§ãã
Kivy Framework BookïŒç¬¬2ç« ã1ã7ç« ïŒ
ãæ³åã®ãšãããKivyãã¬ãŒã ã¯ãŒã¯ãšPythonããã°ã©ãã³ã°èšèªã䜿çšããAndroidãã©ãããã©ãŒã åãã®ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³ã®éçºã«çŠç¹ãåœãŠãŸãã Habréã«ã¯ããã®äž»é¡ã«é¢ããããã€ãã®èšäºããããŸããäž»ã«ããã®Kivyãã©ã®æç©ãšäžç·ã«é£ã¹ãããã®ããHello Worldãtic-tac-toeãªã©ã®ããã€ãã®äŸã«ã€ããŠäžè¬çã«èª¬æããå°ããªãšãã»ã€ã§ãã
ã€ã³ã¿ãŒãããã§ã¯ãKivyã¢ããªã±ãŒã·ã§ã³ã䜿çšããŠæžããããã®ã¯å€ããªãã2Dããã³3Dã°ã©ãã£ãã¯ã¹ãåããé«å質ã®ã²ãŒã ã®ããªãé·ããªã¹ããèŠã€ããããšãã§ããŸãã ããã¯ãGPUã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ã®ãµããŒããã°ã©ãã£ãã¯ãããã€ããŒPyGameãOpenGLãSDLãX11ãã·ã§ãŒããŒã®ãµããŒããKivyã®ãããã§ãããã©ã«ãã§ã¯ã²ãŒã æ¥çã§ã®äœ¿çšã«åããŠããã誰ãããã£ãšæžããšçŽæ¥èšã£ãŠãããšããäºå®ã«ãããã®ã§ãKivyã®äŸ¡å€ã®ãªãçŸããã¢ããªã±ãŒã·ã§ã³ã¯å€±æããããWhatsAppã®ãããªãããžã§ã¯ãã¯ãã¡ããããã€ãã£ãã³ãŒãã䜿çšãããããã¯ããã«å€ãã®æéãè²»ããããšã«ãªããŸãã
ããŠãããªãã¯èª°ã«ãä¿¡çšã§ããŸããïŒç§ã«ã¯ã§ããŸãïŒããã®èšäºã§ã¯ãã¢ãã€ã«éçºã®ãããã«ãããKivyã®æ©èœãå人çã«ãã¹ãããŸãã ããããWatsAppã®ãããªã¢ããªã±ãŒã·ã§ã³ããŒãããèšè¿°ããKivyã§2æ¬ã®ã¿ãã³ãš1æ¯ã®ã³ãŒããŒã®éã«ã©ãã ãç°¡åããèšãããšã¯ã§ããŸããïŒèšäºã®åœ¢åŒã§ã¯èš±å¯ãããŸããïŒããä»ã§ã¯ãã°ãããCleanMasterããã°ã©ã ãã€ã³ã¹ããŒã«ãããŠããŸãïŒã¢ãã¡ãŒã·ã§ã³ãã«ã¹ã¿ã ã³ã³ãããŒã«ãéæãªããã°ã¬ã¹ããŒ-ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãªããã»ã¯ã·ãŒ-ãã¬ãŒã ã¯ãŒã¯ã®æ©èœã瀺ãããã«å¿
èŠãªãã®ã ãã§ãïŒ
å€èŠ³ã¯æ¬¡ã®ãšããã§ãïŒå
ã®Clean Masterç»é¢ïŒã
Javaã®èšèªãã¢ã¯ãã£ããã£ïŒã¢ãã¡ãŒã·ã§ã³ãå€æãçŸããé²è¡ç¶æ³ãã¯ãªã¢ããããã£ãã·ã¥ã«ãŠã³ã¿ãŒãªã©ã䜿çšããŠãåæ§ã®ãã®ãäœæããããšããŸãã次ã®èšäºã§ã¯ãAndroidããã€ã¹ã®ããã©ã«ãã®ã€ã³ã¹ããŒã«apkãåéãããã®é·æãšçæãåæããŸãã ã¢ããªã±ãŒã·ã§ã³ã®UIèŠçŽ ã®ãã¢ä»¥å€ã®æ©èœã¯ãªãããšã«æ³šæããŠãã ããããã£ãã·ã¥ã®ã¯ãªã¢ã®é²è¡ã®ã¢ãã¡ãŒã·ã§ã³ãSTORAGE / RAMã®ã«ãŠã³ãã®ã¢ãã¡ãŒã·ã§ã³ã¯éåžžã®ãã¢ã§ãã
ãã®èšäºã®åœ¢åŒã¯åå¿è
åãã§ã¯ãªããã³ãŒãäŸã«ã¯ã³ã¡ã³ããããªãå¯éããŠããŸãããæ¬è³ªçã«äžè¬çãªãã®ã§ã¯ãªããJavaéçºè
ã¯ãKivyãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠãã€ãã£ãã³ãŒããšåãå®è£
ãæ¯èŒããã®ãèå³æ·±ããšããç¹ã§èšäºã«èå³ãæã£ãŠããã§ãããã
ããã«ã¯äœãå¿
èŠã§ããïŒ æãã·ã³ãã«ãªããŒã«-ã³ãŒããŒãšã¿ãã³ã®ããã¯ã å®éãKivyããã³é¢é£ããapkã¢ã»ã³ããªããŒã«ã®ã€ã³ã¹ããŒã«ã¯ããããäžã§ç°¡åã«èŠã€ããããšãã§ãããããåã«æ€èšããããšã¯ãããŸããã
ãããã£ãŠããŸãããããžã§ã¯ãã®ãã£ã¬ã¯ããªãäœæããŸãã ãããKivyCleanMasterDemoãšåŒã³ãŸãããã
ãããžã§ã¯ãã®æ§é ã¯ä»»æã§ãã PythonãšKivyã¯ãã®ç¹ã«é¢ããŠå¶éã課ããŠããªãããã奜ããªãã£ã¬ã¯ããªã«ååãä»ããŠãå¿
èŠãªå Žæã«ãã¡ã€ã«ãä¿åã§ããŸãã å¯äžã®æ¡ä»¶ïŒmain.pyãã¡ã€ã«ã¯ãããžã§ã¯ãã®ã«ãŒããã©ã«ããŒã«ååšããå¿
èŠããããŸã-ããã¯ããã°ã©ã ãžã®ãšã³ããªãã€ã³ãã§ãã ãã§ã«ã€ã³ã¹ããŒã«ãããŠããapkããã±ãŒãžãå®è¡ãããšããã®ãã¡ã€ã«ãã€ã³ããŒããããŸãã
ããã§ãã¢ããªã±ãŒã·ã§ã³ã«å
¥ããŸãïŒ
ããã§ã¯ãã¹ãŠãã·ã³ãã«ã§ãããè¿œå ã®ã³ã¡ã³ãã¯äžèŠã§ãã ã³ãŒãã«èå³ããããŸãïŒ
from program import Program
main.pyãããã³ãŒãã«æ²¿ã£ãŠããã«ç§»åããŸãã program.pyã¢ãžã¥ãŒã«ãããã¢ã¢ããªã±ãŒã·ã§ã³ã®ã¡ã€ã³ã¯ã©ã¹ãæ€èšããŸã
å®éããã®ã¯ã©ã¹ã¯ã¢ããªã±ãŒã·ã§ã³ã®ã¡ã€ã³ç»é¢ãèšå®ããSTORAGE / RAMã®ã«ãŠã³ãã®é²è¡ã®ã¢ãã¡ãŒã·ã§ã³ãéå§ããã€ãã³ãã远跡ãããã¢ã¢ããªã±ãŒã·ã§ã³ã®ç»é¢ãåãæ¿ããŸãã
ã¢ããªã±ãŒã·ã§ã³ã®ã¡ã€ã³ã¢ã¯ãã£ããã£ã¯ã次ã®ã³ãŒãéšåã«è¡šç€ºãããŸãã
ãã ããéå§ã¢ã¯ãã£ããã£ã®ã€ã³ã¿ãŒãã§ã€ã¹ã€ã³ã¿ãŒãã§ãŒã¹ã®ã¬ã€ã¢ãŠããã¡ã€ã«ãèŠãåã«ãKivyã§ã®UIã®æ§ç¯ã«ã€ããŠããã€ã説æããŸãã
Kivyã€ã³ã¿ãŒãã§ã€ã¹ã¬ã€ã¢ãŠãã¯ãã³ãŒãå
ã§çŽæ¥2ã€ã®æ¹æ³ã§æ§ç¯ã§ããŸãã
root = MyRootWidget() box = BoxLayout() byt1 = Button() byt2 = Button() box.add_widget(btn1) box.add_widget(btn2) root.add_widget(box)
ãã®æ¹æ³ã®äœ¿çšã¯ãå§ãããŸãããããã»ã©è€éã§ãªãã¬ã€ã¢ãŠãã§ã¯ããŠã£ãžã§ããã®éå±€ãšçžäºäœçšããã¬ãŒã¹ãããã®æ¹æ³ã§æ§ç¯ãããã¬ã€ã¢ãŠããå€æŽããããšã¯éåžžã«é£ãããå€ãã®æéãè²»ããããã§ãã
ãŸã£ããç°ãªãUIãç¹å¥ãªããŒã¯ã¢ããèšèª-Qtã®QMLãšéåžžã«ãã䌌ãKvèšèªã䜿çšããŠæ§ç¯ãããŸãããŠã£ãžã§ããéå±€ã¯èå¥åã«ãã£ãŠåºå¥ããããã®ã¬ã€ã¢ãŠããŸãã¯ãã®ã³ã³ãããŒã«ãå±ããã¬ã€ã¢ãŠãã«æ確ã«è¡šç€ºãããããããã£ã¯åãååã®ããã°ã©ã ã³ãŒãã§ç®¡çãããŸããŠã£ãžã§ããIDãä»ããã¯ã©ã¹ïŒ
<MyRootWidget@BoxLayout>: Button: id: btn1 Button: text: " btn2"
class MyRootWidget(BoxLayout): def __init__(self. **kvargs): super(MyRootWidget, self).__init__(**kvargs) self.ids.btn1.text = " btn1"
ããŠãã€ã³ã¿ãŒãã§ã€ã¹ã¬ã€ã¢ãŠããèªã¿åãããã®åºæ¬æ
å ±ãæäŸããŸããïŒJavaããã°ã©ããŒã¯ãŸã£ããåé¡ãªãã¯ãã§ãïŒã次ã«ãKivyã§äœæãããéå§ã¢ã¯ãã£ããã£ãã©ã®ããã«ãªãããèŠãŠã¿ãŸãããã
Kvèšèªã§ã®ãã®ã¢ã¯ãã£ããã£ã®ããŒã¯ã¢ããã¯æ¬¡ã®ãšããã§ãã
ã芧ã®ããã«ãKvèšèªã¯UIèŠçŽ ãããŒã¯ããããšã«å ããŠãkvãã¡ã€ã«ã§èšç®ãå®è¡ããã³ãŒã«ããã¯ãååŸããŠãããã«ãã©ã¡ãŒã¿ãŒãæž¡ããæšæºãŸãã¯å€éšã®Pythonã¢ãžã¥ãŒã«ãã€ã³ããŒãããŠäœ¿çšã§ãããšããæå³ã§ãã»ãŒPythonã§ãã
ããã§ãã¬ã€ã¢ãŠããå¶åŸ¡ããã¯ã©ã¹ãèŠãŠã¿ãŸãããããã¹ãŠã®èŠçŽ ãã¬ã€ã¢ãŠããã¡ã€ã«ã«äœæãããããã§ã¯ãªãã®ã¯æããã§ããããšãã°ãActionBarã«ã¯ã¹ãããŒããªããã¡ãã¥ãŒãã¿ã³ã®äžã«ã¯ã«ãŒãããã¯ã¹ã®ã¿ãäœæãããŸãã
ãã®ã¯ã©ã¹ã«ã¯ãActionBarããããããŠã³ãªã¹ãçšã®ãã¿ã³ããã¿ã³ãããã³ã¡ãã¥ãŒã©ãã«ãäœæãããšããã¿ã¹ã¯ã2ã€ãããããŸããã ã¯ã©ã¹ã¯ãã³ãŒãã§åŸã§äœ¿çšããããã«å±æ§ãåæåããŸããããã¯ãstartscreen.kvããŒã¯ã¢ãããã¡ã€ã«ããèå¥åã«ãã£ãŠååŸããããŠã£ãžã§ããã§ãã
ããã«äœæ¥ãé²ããã«ã¯ãã«ã¹ã¿ã ãã¿ã³ãŠã£ãžã§ãããå¿
èŠã§ã...
...次ã®2ã€ã®ã¢ã¯ãã£ããã£ã§äœ¿çšãããŸãã å°ãããããããã£ãæäœããã€ã³ã¿ãŒãã§ã€ã¹ããŒã¯ã¢ãããšããã°ã©ã ã³ãŒãã®çžäºäœçšãããããç解ããã®ã«åœ¹ç«ã¡ãŸãã
custombutton.kv
custombutton.py
ããŠãæºåãã§ããã¹ãããŒãã«ã¹ã¿ã ãã¿ã³ãŠã£ãžã§ãããããã³on_eventsé¢æ°ã®ã¡ã€ã³ã¯ã©ã¹Programã«ã¯ããAboutãã€ãã³ãã®åŠçããããŸã...
...ãã®ã¢ã¯ãã£ããã£ãšãã®ã³ã³ãããŒã«ã¯ã©ã¹ãäœæããŸãããã
ããã§ãActionBarã®ããããããŠã³ãªã¹ããéãã[ããŒãžã§ã³æ
å ±]é
ç®ãéžæããŠãéžæããç»é¢ã«ç§»åã§ããŸãã ãAboutããšããããã¹ãã«é¢ããŠããã€ãã®èªç±ãèªããGNU GPLã©ã€ã»ã³ã¹ã«çœ®ãæããŸããããããã¯ãã¢ã«ã¯äžå¯æ¬ ã§ã¯ãªããšæããŸãã
ActionBarã®å·ŠåŽã®ç¢å°ãã¯ãªãã¯ããŠãã¹ã¿ãŒãç»é¢ã«æ»ãããšãã§ããŸãã startscreen.kvã¬ã€ã¢ãŠãã«ãã®ã³ãŒã«ããã¯ã®åŒã³åºããèšé²ããŸããã
ãããŠãon_eventsé¢æ°ã®ã¡ã€ã³ã¯ã©ã¹Programã§ããããã£ããããŸããã
show_aboutããã³back_screené¢æ°ã«æ³šæããŠãã ãã-ãããã¯ãon_eventsã§ãžã£ãŒã¯ããåãååã®programclassããã±ãŒãžã¢ãžã¥ãŒã«ã®ShowScreensã¯ã©ã¹ã®é¢æ°ã§ãã ãã®ã¯ã©ã¹ã¯ããã¢ã¢ããªã±ãŒã·ã§ã³ã®3ã€ã®ã¬ã€ã¢ãŠããéããããããåãæ¿ããŸãã
, , Program, , , , , .
ShowScreens.
ã ããïŒ , , , Activity JUNK FILES . Activity JUNK FILES :
junkfiles.py junkfiles.kv:
ProgressLine junkfiles.kv:
junkfiles.py:
, .
:
KivyCleanMasterDemo githab â https://github.com/HeaTTheatR/KivyCleanMasterDemo