الاثنين، ٢١ صفر ١٤٣٠ هـ

حاسوب محمول لكل طفل - برنامج تطبيقي ١

هذا البرنامج فقط لتوضيع التركيب العام لبرامج الإكس إو, لذا فهو يتميز بالبساطة. الصورة التالية تظهر الملفات النهائية التي يحتاجها البرنامج.

أولاً: المجلد الرئيسي (HelloWorldActivity.activity)
يتم وضع جميع الملفات المتعلقة بالبرنامج هنا. (للعلم أن برامج الإكس إو تسمى Activities)
ثانياً: مجلد المعلومات عن الفعالية (activity)
يوضع داخل المجلد الرئيسي ويجب تسميته (activity) ويحتوي على معلومات عامة عن البرنامج كأيقونة البرنامج واسمه واسم الشركة وغيرها.
ثالثاً: ملف المعلومات (activity.info)
يحتوي هذا الملف على معلومات عامة عن البرنامج مثل: اسمه, الأيقونة ورقم النسخة. في هذا المثال يحتوي هذا الملف على ما يلي:



activity.info
[Activity]
name = HelloWorld
bundle_id = org.laptop.HelloWorldActivity
class = HelloWorldActivity.HelloWorldActivity
icon = activity-helloworld
activity_version = 1
host_version = 1
show_launcher = yes




رابعاً: أيقونة البرنامج (activity-helloworld.svg)
من الملاحظ أنه تم استخدام امتداد (svg) والذي يمكنك من رسم الأيقونة بلغة مشابهة لل (XML). في برنامجنا هذا ستكون الأيقونة عبارة عن مربع, كما يلي:






للمزيد من المعلومات عن كيفية عمل أيقونة لواجهة سكر (اسم نظام التشغيل على الإكس إو) يمكنك زيارة هذه الصفحة.

خامساً: ملف البرنامح الرئيسي (HelloWorldActivity.py)
هنا تكتب البرنامج الذي تود تصميمه. في مثالنا هذا نود فقط إضافة زر مكتوب عليه (Hello World). كما يلي:


from sugar.activity import activity
import logging

import sys, os
import gtk

class HelloWorldActivity(activity.Activity):
def hello(self, widget, data=None):
logging.info('Hello World')

def __init__(self, handle):
print "running activity init", handle
activity.Activity.__init__(self, handle)
print "activity running"

# Creates the Toolbox. It contains the Activity Toolbar, which is the
# bar that appears on every Sugar window and contains essential
# functionalities, such as the 'Collaborate' and 'Close' buttons.
toolbox = activity.ActivityToolbox(self)
self.set_toolbox(toolbox)
toolbox.show()

# Creates a new button with the label "Hello World".
self.button = gtk.Button("Hello World")

# When the button receives the "clicked" signal, it will call the
# function hello() passing it None as its argument. The hello()
# function is defined above.
self.button.connect("clicked", self.hello, None)

# Set the button to be our canvas. The canvas is the main section of
# every Sugar Window. It fills all the area below the toolbox.
self.set_canvas(self.button)

# The final step is to display this newly created widget.
self.button.show()

print "AT END OF THE CLASS"






سادساً: ملف تنصيب البرنامح (setup.py)
هذا الملف يحتوي الأوامر اللازمة لتثبيت البرنامج في نظام سكر, يوجد العديد من الخيارات لهذا الملف, ولكن لتبسيط الأمور فقط نود استدعاء أمر البناء كما يلي:


#!/usr/bin/env python
from sugar.activity import bundlebuilder
bundlebuilder.start()





سابعاً: ملف قائمة الملفات (MANIFEST)
هذا الملف يحتوي على قائمة بالملفات التي يتكون منها البرنامج وهي عبارة عن جميع الملفات التي ذكرناها سابقاً لذا ملفنا سيبدو كالتالي:


MANIFEST
activity/activity-helloworld.svg
activity/activity.info
HelloWorldActivity.py
MANIFEST
setup.py


بقي الآن أن نثبت البرنامج لواجهة سكر وتشغيل البرنامج. أولاً علينا أن نعطي بعض الملفات إمكانية التشغيل, بعد نقل الملفات إلى جهاز الإكس إو, شغل هذا الأمر:


$ sudo chmod a+x HelloWorldActivity.py
$ sudo chmod a+x setup.py



الآن علينا تثبيت البرنامج ليظهر في واجهة النظام وذلك بالأمر التالي:

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

$ python setup.py dev

بقي أن نعيد تشغيل النظام بالضغط على Ctrl + Alt + Backspace, بعدها ستجد برنامجك مع البرامج الأخرى, اضغط عليه لتشغيله وسترى البرنامج الذي كتبته

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




ليست هناك تعليقات:

إرسال تعليق