برنامه نویسی اندروید در Python | ماژول Kivy

چگونه در پایتون برنامه اندروید بنویسم؟!

در این محتوا قصد داریم به بررسی کد نویسی اندروید در Python بپردازیم

نویسنده: امیرحسین تنگسیری نژاد

ماژول Kivy و وظیفه آن

درواقع Kivy که کیوی خوانده می شود(احیانا با اون کیوی که میوه هست اشتباه نگیرید این فرق فوکوله :)))) )

یک ماژول Cross-Platform و Open Source می باشد که توسط شرکت Kivy توسعه پیدا کرده است که در Python به منظور ایجاد برنامه های با رابط کاربری گرافیکی و Multi-Touch مورد استفاده قرار میگیرد. این ماژول ویژگی های بسیاری دارد با استفاده از Kivy ما توانایی ایجاد برنامه های اندرویدی را پیدا خواهیم کرد، درواقع این ماژول به ما امکان کد نویسی برای اندروید در Python را میدهد.

ویژگی های Kivy

  • ارائه شده به صورت Open Source
  • امکان ایجاد برنامه Desktop و Android
  • امکان ایجاد برنامه های Multi-Touch
  • سرعت بالا
  • اجرای کد با منطق کاربر

نصب Kivy

به عنوان اولین کار می بایست این ماژول را نصب کنیم که به شکل زیر عمل می کنیم

pip install kivy

شروع کد نویسی با استفاده از Kivy

پس از پایان نصب آن یک فایل با فرمت .Py می‌سازیم و کد نویسی با این ماژول را شروع خواهیم کرد. اولین کد نویسی ما مثله همیشه نمایش یک Hello World بر روی صفحه می‌باشد

کد زیر را که با استفاده از تابع Label متن را برای ما نمایش می‌دهو را درون فایل .Py خود قرار می‌دهیم و فایل را اجرا می‌سازیم

from kivy.app import App

from kivy.uix.button import Button

class FirstKivy(App):
    
    def build(self):
        
        return Button(text=&quotHi AmirHosein&quot)
    
FirstKivy().run()

خروجی کد ما به شکل زیر می‌باشد.

بیاید کمی صفحه نمایش را زیباتر کنیم و یک رنگ جالب تری به آن بدهیم

پس کد خود را به شکل زیر بازسازی میکنیم و از background_color() به منظور اینکار استفاده خواهیم کرد

from kivy.app import App

from kivy.uix.button import Button

class KivyButton(App):

    def build(self):

        return Button(text=&quotHi AmirHosein&quot, background_color=(155,0,51,53))

KivyButton().run()

خب همانطور که میبینید رنگ تصویر زمینه برنامه ما عوض شد و یک رنگ جالب تر و بهتری به خودش گرفت

حال کمی با تابع Label بازی کنیم و برای مثال سایز Font کد نمایشی خود را با استفاده از font_size= تقییر می‌دهیم

نکته: تابع Label فقد از رشته های ACSII و Unicode پشتیبانی می‌کند.

from kivy.app import App  

from kivy.uix.button import Button
class KivyButton(App):


    def build(self):
       return Label(text=&quotHello AmirHosein&quot, font_size='30')
KivyButton().run()

خب همانطور که میبینید سایز Font متن ما نسبت به قبل بیشتر شده است

کد خودمان را با استفاده از size_hint و pos جوری مینویسیم که پیغام مارا در یک پنجره جدا اجرا سازد:

from kivy.app import App

from kivy.uix.button import Button

class KivyButton(App):

    def build(self):

        return Button(text=&quotWelcome To Virgool&quot, pos=(300,350), size_hint = (.25, .18))

KivyButton().run()

خروجی کد ما