مقدمة لبايثون على الأندرويد

 

هناك العديد من الأسباب تجعلك في تفكر في تطوير تطبيقات الأندرويد ومن بينها قد تجعلك هذه التطبيقات في حالة مادية جيدة وقد يكون هذا هو الدافع الوحيد، وقد تريد أيضا الكسب المزيد من المهارات البرمجية ولربما تكون بحاجة إلى تطبيقات ذات إستخدامات شخصية أو تريد إبهار أصدقاءك إلخ من الدوافع التي تجعلك تخوض في هذا الميدان .

بايثون عبارة عن لغة برمجة بسيطة وأنيقة تم تصميمها لتكون خيار المبتدئين الأول.

المشكلة أن تعلم البرمجة مع الأندرويد ليس مجرد سطر أو سطرين من التعليمات الرمجية فقبل حتى مجرد كتابة برنامج مرحبا بالعالم علينا تحميل ستيديو الأندرويد وتحديد المسارات ومعرفة كيفية إنشاء APK وإضافة بعض التصريحات لهاتفك وحتى الإنتهاء من جميع ما سبق تحتاج أيضا إلى الحصول على السيطرة على الأشياء مثل المعاينة قبل أن تتمكن من إظهار أي شيء على الشاشة.

لهذا فإن تعلم البرمجة مع بايثون قد يوفر بديلا جذابا للبعض فبايثون لغة بسيطة وأنيقة تم تصميمها لتكون خيار المبتدئين الأول، ولكن ماذا بعد ؟ هل يمكن بناء تطبيقات وتجربتها على أجهزة الأندرويد ؟

وهذه هي الطريقة التي تعد من أسرع الطرق للحصول وتشغيل يعض الأكواد الأساسية على الأندرويد وبمجرد مداومتك على البرمجة في هذا المجال وإكتساب المزيد من الخبرات سيمكنك من تنفيذ العديد من الحيل لأتمتة هاتفك والكثير من الأمور ويمكنك حتى الوصول إلى بناء تطبيق  APK كامل .

ماهو بايثون 

بايثون لغة جديدة نسبيا تم تطويرها من طرف  Guido van Rossum وتم إطلاقها سنة 1991 وهي تتميز بسهولة أكوادها ويمكن حتى لغير المبرمجون قراءتها وهي تستخدم الكثير من المسافات البيضاء ويمكن فعل الكثير من الأشياء بأكواد قليلة .

تعتبر بايثون أيضا اللغة الأساسية التي تستخدم مع رسبري باي وهذا يعني أنه بإمكانك فعل الكثير من الأدوات المثيرة معها .

هذه البساطة و الأناقة تجعل من بايثون الخيار الأفضل للمبرمجين المبتدئين، تتوفر بايثون على مفسرات فورية على أغلب أنظمة التشغيل وهذا يعني أنه بإمكانك تشغيل السكريبتات على كل من الويندوز، الماك، ولينكس كما تعتبر بايثون أيضا اللغة الأساسية التي تستخدم مع رسبري باي وهذا يعني أنه بإمكانك فعل الكثير من الأدوات المثيرة معها و جعلها لغة مثالية لتعليم الأطفال، وهي أيضا الخيار الأفضل لمطوري المواقع خاصة في هذه الأيام بإستخدام إيطار العمل جانغو .

البداية 

حسنا كيف يمكن البدء في إستخدام بايثون ؟ إذا كنت تتعلم بايثون لتطوير برامج مكتبية فعليك أولا تحميل أخر نسخة من بايثون 3 من الموقع الرسمي للغة وتحميل بيئة تطوير كاملة مثل  PyCharm .

ولكن في حالتنا اليوم تطوير البرامج المكتبية لايعنينا وبالتالي للبدء في تطوير تطبيقات بايثون للأندرويد سنستخدم  QPython أو QPython3 حيث QPython هو محرك نصي لبايثون 2 أما QPython3 فهو لبايثون 3.

بايثون عبارة عن مشروع مستمر وهو دائم التطوير وحتى نتأكد من عمل تطبيقاتنا على أكمل وجه وجب علينا تحميل أخر نسخ بايثون المتوفرة وإلى غاية كتابة هذه الأسطر النسخة الأخيرة هي 3.6.1.

التعقيدات الطفيفة هي القفز من بايثون 2 إلى بايثون 3 والتي كانت مشكلة كبيرة وهذا يعني أن أكواد بايثون 2 لن تعمل على بايثون 3 إلا بوجود بعض الطرق ، في الحقيقة هي ليست مشكلة كبيرة إلا  أن بعض المكتبات مازالت متأخرة عن الركب ولم تقم بالتحديث ولكن أؤكد لك أن معظمها قامت بعملية الحديث وأصبحت تدعم كل من بايثون 2 و3 .

المكتبة الأساسية التي سنقوم بإستخدامها لاحقا هي مكتبة Kivy وهي تدعم بايثون 3.

كتابة بعض الأكواد البسيطة مع المتغيرات والمدخلات 

بعد تحميلك وثبيتك ل  QPython3 سيكون لديك بيئة تطوير صغيرة على هاتفك أين يمكنك البدء في عملية البرمجة وسيكون بإمكانك تحميل الأكواد من هنا والتي ستكون تقريبا مفيدة مثل إنشاء التطبيقات الأصلية الخاصة بك، وهذا يعني أنه إذا كنت ترغب في إنشاء أداة أساسية لأداء بعض الرياضيات، أو لتخزين و إسترجاع البيانات الخ …

وسنقوم بتعلم كيفة فعل كل هذا الأن وفي هذا المكان، فدعونا نقوم بإنشاء أول برنامج وهو برنامج مرحبا بالعالم .

قم بفتح تطبيق QPython3 ثم إختر المحرر أو Editor وهذا هو المكان الذي يكمن فيه كتابة الأكواد أو تعديل أكواد السكريبتات الأخرى ، سخصيا لا يمكنني التعامل مع هكذا بيئات للتطوير إلا إذا إستخدمت لوحة مفاتيح تعمل بالبلوتوث ولكن هذا يبقى خيار إختياري طبعا .

الأن قم بكتابة الكود التالي :



"print(“Hello World)

قم بحفظ السكريبت ولا تنسى إضافة الأمتداد py قم بالحفظ بالظغط على أيقونة القرص المرن الموجودة في الأسفل .

قم بالضغظ على تشغيل وينبغي أن تشاهد جملة مرحبا بالعالم على الشاشة جنبا إلى جنب مع الكثير من المصطلحات الأخرى، هذه هي لوحة التحكم أين يتم تشغيل السكريبتات إلى وصولنا إلى إضافة المميزات الرسومية .

دعونا ننتقل الأن إلى المتغييرات وهي كلمات تمثل بيانات أخرى،أي يمكن للمتغير أ أن يكون يمثل قيمة مثل 1 أو 2 أو يمكن للمتغير ب أن يمثل قيمة لكلمة مثل ‘محمد’ ، والمتغيرات التي تمثل أعداد تسمى integers بينما يطلق على المتغييرات التي تمثل السلاسل strings.

الخبر المميز هنا هو أننا لسنا مضظرين للتعريف عن المتغييرات في بايثون فبكل بساطة تسمي المتغير الخاص بك وتتبعها بعلامة = ثم قيمة ذلك المتغير وعلى سبيل المثال :


Name = “Mohamed”
print(“Hello ” + Name)

الأن لدينا متغير إسمة Name وقيمته Mohamed وقبل أن ننادي على إسمة أضفنا كلمة تريحيبة قبل ذلك .

Number=7
print(“The number is “ + Number)

الهدف من المتغييرات هو السماح لنا بتغيير عناصر الكود ديناميكيا حيث يمكننا الأن كتابة Number = Number + 1 لزيادة قيمته وبطريقة مماثلة يمكننا كتابة تطبيق صغير يستجيب للمستخدم مثل :


Name = input(“What is your name please?”)
print(“Why hello “ + Name)

كما رأيت فإن الأمر input يسمح لنا بالحصول على البيانات من المستخدم وفي هذه الحالة قمنا بربط البيانات المدخلة بالمتغير وليكن في علمك أن المتغيرات حساسة للأحرف الكبيرة والصغيرة .

الحلقات التكرارية والعبارات الشرطية.

مثل مايدل إسمها فالحلقات التكرارية تقوم بالتكرار إلى غاية تحقيق بعض الشروط قم بكتابة الأكواد التالية :


Age = int(input(“How old are you?”))
Count = 0
print(“Let’s count your remaining years…”)

while Count < Age:
    Count = Count + 1
    print(“That’s “, Count, “ years, “, Age – Count, “ to go!”)

print(“And we’re done!)

تتذكر عندما قلنا أن بايثون قابلة للقراءة ؟ من خلال المثال السابق يمكن رؤية ذلك، فالأمر While يعني حرفيا أن التعليمات البرمجية التالية سوف تعمل طالما أن العبارة التالية صحيحة وطبعا فالأمر متروك لنا بإختيار أسماء المتغييرات منطقية حتى يتسنى لنا قراءة الكود بكل سهولة .

في حالتنا هته الشرط مادامت قيمت المتغير أصغر أو ساوي  من قيمة العمر ولاحظ وضعية السطريين المواليين للعبارة وهذا يعني أنهما تابعين للحلقة .

بجانب الحلقات هناك العبارات الشرطية والتي لا يقل شأنها هي أيضا في عالم البرمجة وكما هو واضح من إسمها فعملها يقتصر على تحقيق الأكواد مادام الشرط صحيح .

وعلى سبيل المثال :


if Age > 50:
    print(“You’re over half way!”)

بدلا من ذلك يمكنك إستعمال الأمر else والتي تقوم بالتنفيذ في حالة عدم تحقق الشرط مع عبارة if .


if Age > 50:
    print(“You’re over half way!”)
else:
    print(“Ah, still young!”)

كما توجد أيضا elif وهي تعمل عمل if ونستخدمها في حالة تعدد الشروط.


if Age > 50:
    print(“You’re over half way!”)
elif Age < 50:
    print(“Ah, still young!”)
else:
    print(“You’re exactly halfway!”)

إستخدام المكتبات وإنشاء لعبة بسيطة

بإستخدام الكود الذي تعلمنها هنا يمكننا برمجة لعبة بسيطة وقبل ذلك بقي لدينا أمر أخر مهم يجب علينا تعلمه وهو كيفية إستخدام المكتبات الخارجية .

اللعبة التي سنقوم ببرمجتها هي لعبة التخمين مثل ‘أصغر أو أكبر’ وللقيام بذلك علينا توليد أرقام عشوائية ولا يوجد أي أمر في بايثون يقوم بذلك ولكن ولحسن الحظ فإن بايثون يأتي مع مجموعة من المكتبات تسمى ‘مكتبات بايثون القياسية ‘ وهذا يعني أننا لسنا مضطرين لتثبيت أي واحدة منهم فقط قم بكتابة السطر التالي :


from random import randint

الأن يمكننا إستخدام دالة randint  المتبوعة بقوسين بداخلهما رقمين لتحديد المجال .

الأن يمكننا إستخدام الكود التالي لأنشاء لعبتنا البسيطة ، ملاحظة: != تعني لا تساوي

from random import randint
RandomNumber = randint(0, 10)
print(“I’m thinking of a number between 1 and 10, can you guess what it is?”)

Guess = 11

while Guess != RandomNumber:
    Guess = int(input(“Have a guess…”))
    if Guess > RandomNumber:
        print(“Too high!”)
    if Guess < RandomNumber:
        print(“Too low!”)

print(“Got it!”)

حسنا هذا ليس تطبيق أندرويد ولكن هذا لا يمنعك أبدا من إنشاء سكريبتات مثل هذا النوع ومشاركته بين أصدقائك طالما هم مثبتين على هواتفهم QPython3  حتى يقوموا بجريب وإستخدام السكريبت وبإستخدام مكتبات بايثون القياسية والمكتبات الأخرى يمكنك كتابة ملفات على جهازك، تحميل الأشياء من الأنرتنيت والكثير .

إستخدام طبقة بايثون لبرمجة الأندرويد

ماذا إذا كنت تريد برمجة تطبيق أندرويد حقيقي ؟حسنا في هذه الحالة لديك بعض الخيارات إعتمادا على فكرتك .

إذا كنت تريد من خلال البرمجة الوصول إلى بعض مميزات هاتفك فقط يمكن فعل ذلك بإستخدام مكتبة sl4a وهي ستسمح لنا بالقيام بإشياء مثل : إظهار الحوارات،قراءة الأستشعارات أو حتى الوصول إلى كاميرا الخاصة بجهازك

الأوامر التالية ستقوم بفتح الكامير وحفظ الصورة


import sl4a

droid = sl4a.Android()
droid.cameraInteractiveCapturePicture(“/sdcard/qpython.jpg”)

أو مارأيك في فتح صفحة ويب


from android import Android

droid = Android()
droid.webViewShow(“http://www.pyarab.com”)

هناك العديد من الخيارات التي يمكنك فعلها مع هذه المكتبة خاصة إذا تم جمعها بأداة الأندرويد للأتمتة بعدها ستحصل على عالم كامل من الإحتمالات

Kivy وإنشاء APK

أما إذا كنت تريد الذهاب بعيدا فعليك بإستخدام مكتبة  Kivy فهذه المكتبة تفتح الأبواب على مصرعيها لتسمح لنا بإنشاء تطبيقات أندرويد تعمل بكل طاقتها بإستخدام اللمس المتعدد، الرسوميات و الكثير، وهي تستخدم أيضا لتحويل سكريبتات بايثون إلى تطبيقات APK وتثبيتها مباشرة على جهازك أو نشرها على منصة Play Store كما تعتبر هذه المكتبة متعددة المنصات أي يمكنك إنشاء تطبيقات لمختلف المنصات

الان يمكننا عرض بعض عناصر واجهة المستخدم مثل الأزرار واللوحات مع الرسومات وإليك هذا المثال البسيط يظهر زر


from kivy.app import App
from kivy.uix.button import Button

class HelloWorld(App):
    def build(self):
        btn = Button(text='Hello World')
        return btn

HelloWorld().run()

للقيام بهذا علينا بتشغيل مكتبة kivy على جهاز الكمبيوتر، يمكنك تطوير تطبيقات بإستخدام هذه المكتبة على أنظمة الويندوز ولكن إذا أردت فعلا الذهاب بعيدا في هذا الميدان فأنا أنصحك بإستخدام نظام لينكس، المشكلة هي أن عملية تطوير تطبيقات APK من خلال سكريبت بايثون لا تزال عملية طويلة ومعقدة على أنظمة الويندوز وتتطلب تثبيت العديد من المكتبات مثل Android NDK وإعداد المسارات أنه أمر معقد جدا لرجة أنه مستحيل نوعا ما

لحسن الحظ هناك أداة موجودة يمكنها التعامل مع كل هذه الأحمال الثقيلة وتسمى Buildozer وهي لا تعمل على أنطمة الويندوز ولكن يمكن الحصول عليها بكل سهولة على لينكس (يمكنك إستخدام VirtualBox) بعد ذلك قم بتحميل صورة قرص من خلال Kivvy والذي يأتي مع كل شيء نحتاجه لبناء تطبيق حقيقي، قم بقراءة ملف إقرأني الذي يأتي مع الجهاز الإفتراضي والذي ستجد فيه كل شيء تريد معرفته، وبعد الإنتهاء من إدخال أوامر التعليمات داخل الطرفية يبقى تعديل ملف buildozer.spec وهو المسؤول عن بعض الإعدادات مثل إسم التطبيق، أسماء الحزم و غيرها

يمكنك إيجاد الكثير من المعلومات والإرشادات التي يمكنك تحميلها من هنا  وهي فرصة جيدة لك أخي الكريم للتعامل مع نظام لينكس جرب أن تقوم بتحميل إضافات وبرامج أخرى للتعامل معها وإذا أعجبك النظام فحاول البقاء هناك .

في الأخير أريد أن أقول أن بايثون ليست الخيار الأمثل لتطوير تطبيقات مهنية ولكنها طريقة جيدة لإنشاء سكريبتات وأدوات للإستخدام الشخصي سواء كانت من أجل مساعدتك للقيام ببعض المهام في الرياضيات أو إدارة بعض البيانات أو وتشغيل بعض المميزات على هاتفك .

شيء أخر بايثون من بين اللغات الممهدة إلى عالم البرمجة وشكرا ل QPython3 التي جعلت من السهل تجربة البرمحة عموما وبايثون خصيصا على أجهزة الهواتف الذكية ولقد رأينا في هذا الموضوع المتواضع كيفية تجربة بعض الإحتمالات الرائعة ضاربا لكم موعد أخر ومزيد من المواضيع المميزة .

 

أرجوا أن تقوم بدعمنا عبر نشرك والاعجاب بالموقع

One Thought on “مقدمة لبايثون على الأندرويد

  1. عبدالله في 4 يونيو، 2017 at 6:31 ص قال:

    شرح رائع
    شكرآ لك آستمر

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

Post Navigation