برنامه نویسی اندروید با پایتون

برنامه نویسی اندروید با پایتون

این روزها توسعه دهندگان زیادی روی ایجاد اپلیکیشن موبایل یا وب کار می کنند. درپایتون پکیج هایی مانند Kivy، PyQt وجود دارد که می‌توانید از آنها برای ایجاد برنامه‌های کاربردی موبایل استفاده کنید. ما در این مقاله به بررسی برنامه نویسی اندروید با پایتون با پکیج Kivy می پردازیم .پیش نیاز کاربا kivy  مسلط بودن به پایتون است . پس اگر به پایتون مسلط نیستید ابتدا روی یادگیری پایتون تمرکز کنید .

فریمورک Kivy

Kivy اولین بار در اوایل سال 2011 منتشر شد. این فریمورک چند پلتفرمی پایتون را می توان در ویندوز، مک، لینوکس و رزبری پای اجرا کرد. می توانید از این کتابخانه برای ایجاد نرم افزارهای رایگان و تجاری استفاده کنید.

هنگامی که یک برنامه با Kivy ایجاد می کنید، یک رابط کاربری طبیعی یا NUI ایجاد می کنید. ایده پشت یک رابط کاربری طبیعی این است که کاربر به راحتی می تواند نحوه استفاده از نرم افزار شما را بدون هیچ دستورالعملی یاد بگیرد. ما در این مقاله به بررسی برنامه نویسی اندروید با پایتون با Kivy می پردازیم.

نصب Kivy

توصیه می شود Kivy را در یک محیط مجازی پایتون نصب کنید. می توانید از کتابخانه داخلی venv پایتون یا بسته virtualenv استفاده کنید. دراینجا نحوه ایجاد یک محیط مجازی پایتون آمده است:

python3 -m venv my_kivy_project

این فایل اجرایی پایتون 3 شما را در پوشه ای به نام my_kivy_project کپی می کند و چند زیرپوشه دیگر را به آن دایرکتوری اضافه می کند. برای استفاده از محیط مجازی که ایجاد کردید ،  باید آن را فعال کنید. حا باید kivy را نصب کنید :

python -m pip install kivy

کار با ویجت های Kivy

ویجت یک کنترل روی صفحه است که کاربر با آن تعامل خواهد داشت. تمام ابزارهای رابط کاربری گرافیکی با مجموعه ای از ویجت ها ارائه می شوند. برخی از ویجت‌های رایجی که ممکن است استفاده کرده باشید عبارتند از دکمه‌ها، جعبه‌های ترکیبی و برگه‌ها و غیره.

اجرای یک برنامه

برای اینکه ببینید کیوی چگونه کار می کند، به برنامه ی زیر نگاه کنید:

from kivy.app import App

from kivy.uix.label import Label

class MainApp(App):

     def build(self):

           label= Label( text=’Hello from Kivy’ , size_hint = (.5 , .5 ) , pos_hint={‘center_x’: .5, ‘center_y’: .5})

           return label

 if __name__ == ‘__main__’ :

     app = MainApp()

     app.run()

در این حالت، یک ویجت Label ایجاد می کنید و متن، size_hint و pos_hint آن را ارسال می کنید. size_hint به Kivy اندازه هایی را می گوید که هنگام ایجاد ویجت باید از آنها استفاده کند که دو عدد می گیرد:

 

  • اولین عدد x است و به عرض کنترل اشاره دارد.
  • عدد دوم y است و به ارتفاع کنترل اشاره دارد.

هر دوی این اعداد می توانند بین 0 و 1 باشند. مقدار پیش فرض برای هر دو 1 است. pos_hint در کد بالا، به Kivy می‌گوید که ویجت را روی محورهای x و y متمرکز کند.

نمایش یک عکس

Kivy چند ویجت مختلف مرتبط با تصویر دارد. می توانید از Image برای بارگیری تصاویر از هارد دیسک خود یا از AsyncImage برای بارگذاری تصویر از URL استفاده کنید. به مثال زیر توجه کنید :

from kivy.app import App

from kivy.uix.image import Image

 

class MainApp(App):

     def build(self):

         img = Image(source=’/path/to/real_python.png’, size_hint=(1, .5), حos_hint={‘center_x’:.5, ‘center_y’:.5})

 

         return img

 

if __name__ == ‘__main__’:

     app = MainApp()

     app.run()

 

در این کد Image را از زیر بسته kivy.uix.image وارد می کنید. کلاس Image پارامترهای مختلفی را می گیرد، اما یکی از پارامترهایی که باید از آن استفاده کنید source است. source به Kivy می گوید که آدرس تصویر چیست و کدام تصویر را بارگذاری کند. بقیه کدها همان چیزی است که در مثال قبلی مشاهده کردید. 

چیدمان ویجت

در Kivy، از لایه ها برای تقسیم بندی صفحه استفاده می کنیم. انواع مختلفی از لایه ها وجود دارد که می توانید از آنها استفاده کنید. اینجا برخی از رایج ترین آنها آورده شده است:

  • BoxLayout
  • FloatLayout
  • GridLayout
BoxLayout را با این کد امتحان کنید:

import kivy

from kivy.app import App

import random

from kivy.uix.button import Button

from kivy.uix.boxlayout import BoxLayout

 

red = [1,0,0,1]

green = [0,1,0,1]

blue =  [0,0,1,1]

purple = [1,0,1,1]

 

class HBoxLayoutExample(App):   

    def build(self):

        layout = BoxLayout(padding=10)

        colors = [red, green, blue, purple]

         for i in range(5):

            btn = Button(text=”Button #%s” % (i+1), background_color=random.choice(colors) )

            layout.add_widget(btn)

        return layout

if __name__ == “__main__”:   

    app = HBoxLayoutExample()   

    app.run()

 

برنامه نویسی اندروید با پایتون

 

اینجا، شما BoxLayout را از kivy.uix.boxlayout وارد می کنید. سپس فهرستی از رنگ ها را ایجاد می کنید که لیستی از رنگ های قرمز-آبی-سبز (RGB) هستند. در نهایت، شما روی محدوده 5 حلقه می زنید و برای هر تکرار یک دکمه btn ایجاد می کنید. برای اینکه کارها کمی سرگرم کننده تر شوند، background_color دکمه را روی یک رنگ تصادفی تنظیم می کنید. سپس دکمه را با layout.add_widget(btn) به طرح خود اضافه کنید.

بسته بندی برنامه خود برای اندروید

اکنون که کد برنامه خود را تکمیل کرده اید، می توانید آن را با دیگران به اشتراک بگذارید. یکی از راه های عالی برای انجام این کار این است که کد خود را به برنامه ای تبدیل کنید که می تواند بر روی تلفن اندرویدی شما اجرا شود. برای انجام این کار، ابتدا باید بسته ای به نام buildozer را نصب کنید:

pip install buildozer

سپس، یک پوشه جدید ایجاد کنید و در ترمینال خود به آن پوشه برویدو دستور زیر را اجرا کنید:

buildozer init

با این کار یک فایل buildozer.spec ایجاد می شود که از آن برای پیکربندی اپ خود استفاده خواهید کرد. برای این مثال، می توانید چند خط اول فایل مشخصات را به صورت زیر ویرایش کنید:

# نام اپلیکیشن خود را بنویسید

title = myapp

# نام پکیج

package.name = myapp

# نام  domain

package.domain = myapp.org

در این مرحله، تقریباً آماده ساختن برنامه خود حال باید فایل اصلی اپ خود را در پوشه جدیدی که ایجاد کرده بودید کپی کنید و نام آن را به main.py تغییر دهید.  سپس باید دستور زیر را اجرا کنید :

buildozer -v android debug

زمان ساخت اپ

مرحله ساخت اپ زمان زیادی می برد! بسته به سخت افزار شما، ممکن است زمان زیادی طول بکشد، بنابراین با خیال راحت یک فنجان قهوه بنوشید و منتظر بمانید .  buildozer  تمام چیزهای مورد نیاز خود را در طول فرآیند ساخت از Android SDK  دانلود می کند. اگر همه چیز طبق برنامه پیش برود، فایلی به نام چیزی شبیه myapp-0.1-debug.apk در پوشه bin خود خواهید داشت.

گام بعدی این است که گوشی اندرویدی خود را به رایانه متصل کرده و فایل apk را در آن کپی کنید.  و روی فایل apk کلیک کنید. اندروید از شما می پرسد که آیا می خواهید برنامه را نصب کنید؟ از آنجایی که برنامه از خارج از Google Play دانلود شده است، ممکن است هشداری ببینید، اما همچنان می توانید آن را نصب کنید.

سخن پایانی

برای برنامه نویسی اندروید با پایتون kivy یک فریمورک رابط کاربری گرافیکی واقعا جالب است که می توانید از آن استفاده کنید. در این آموزش، اصول اولیه Kivy از جمله نحوه اضافه کردن ویجت ها، اتصال رویدادها، چیدمان چندین ویجت و استفاده از زبان KV را آموختید. و یاد گرفتید که چگونه آن را در سیستم عامل اندروید  توزیع کنید!

همچنین بخوانید : تمرین فیبوناچی در پایتون

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دلیل بازگشت وجه