• 0
nardien28

مدخل الى J2ME

سؤال

J2ME هي اختصار ل Java 2 Micro Edition

عبر J2ME قامت شركة Sun للأنظمة الميكروية بتكييف منصة عمل لجافا لتناسب الأجهزة والأدوات التي تعتبر أجهزة حاسوبية صغيرة , هذه الأجهزة محدودة الموارد مقارنة بالأجهزة الحاسوبية المكتبية .

حيث تعرف شركة sun تقنية J2ME بأنها بيئة زمن التنفيذ الخاصة بجافا

Java Runtime Environment JRE الموجهة الى مجموعة كبيرة من الأجهزة والأدوات التي تدعم جافا مثل أجهزة المنادي pagers والهواتف الخليوية والمساعد الرقمي الشخصي PDA.

نعلم انه لتشغيل البرامج المكتوبة بلغة البرمجة جافا يجب أولا الحصول بيئة زمن التنفيذ الخاصة بجافا Java 2 Runtime Environment وتنصيبها على الجهاز, إما ان نحصل عليها من موقع شركة Sun أو يرفقها مطورين برامج جافا مع CDs برامجهم .

كذلك نعلم ان أن بيئة زمن التنفيذ الخاصة بجافا Java Runtime Environment JRE تتكون من

العناصر التالية اللازمة لتشغيل البرامج المكتوبة بلغة البرمجة جافا :

Java virtual machine JVM

runtime class libraries

Java application launcher

يمكن تشغيل تطبيقات J2ME على أي جهاز يتقبل جافا بمعنى انه يستطيع تشغيل آلة جافا الافتراضية JVM .... وهذا امر يرجع للشركات المصنعة .

حيث يجب ان تبحث في ملف مواصفات الجهاز عن عبارة Java-enabled .

تستخدم J2ME تشكيلات أو اعدادات أساسية configurations بالإضافة الى تشكيلات جانبية profiles لتحديد بيئة زمن التنفيذ (JRE)الملائمة لصنف من الأجهزة .

حيث ان بيئة زمن تنفيذ JRE في J2ME تتكون من :

  • تشكيل أساسي Configuration يحدد بيئة جافا الافتراضية JVM المستخدمة
    الهدف الأساسي للتشكيل الأساسي تحديد الصفوف الأساسية لبيئة زمن التنفيذ بالإضافة الى تخصيص آلة جافا الافتراضية JVM لأجل صنف محدد من الأجهزة .
    تميز J2ME تشكيلان أساسيان CDC و CLDC .
  • تشكيل جانبي Profile يحدد التطبيق
    هدفه إضافة الصفوف المخصصة لمجال استخدام محدد للتشكيل الأساسي ليعرف استخدامات محددة للأجهزة .

وسنتناول كل من هذه التشكيلات بشيء من التفصيل .

التشكيلات الأساسية Configurations

تغطي منصة عمل J2ME مجال واسع من الأجهزة ذات أنواع مختلفة .

بعض الأجهزة مثل مثل أنظمة الملاحة والتصفح الخاصة بالسيارات والسفن و الهواتف الذكية Smart Phones واجهزة التلفاز الذكية .

هذه الأجهزة تتقبل مجال واسع من واجهات الاستخدام الرسومية GUI و تمتلك حيز من الذاكرة كبير نسبيا (ما بين 2 الى 16 ميجا بايت ) .

ولكن هناك بعض الأجهزة كالهواتف النقالة , أجهزة المناداة pagers , جهاز المنظم organizers .لا تتقبل الا أشكال محدودة من GUI مقيدة بقيود كثيرة للتعامل معها والتحكم فيها بالإضافة الى محدودية الذاكرة

نظرا لهذه الإختلافات بأصناف الأجهزة قامت Sun بفصل منصة عمل جافا للأجهزة الى تشكيلات كل منها يناسب صنف من هذه الأجهزة .

التشكيل configuration في J2ME يعني منصة العمل Platform اللازمة لعائلة معينة من الأجهزة تتشابه في المتطلبات الأساسية كخواص الGUI ( اساليب التحكم المتوافرة بها ) و حيز الذاكرة و قوة المعالجة (أداء المعالج) .

ما الذي يتغير من تشكيل أساسي الى اخر ؟

  1. مميزات بيئة جافا الافتراضية JVM الخاصة بتشكيل معين تختلف عن غيره .
  2. مميزات لغة البرمجة جافا المسموح استخدامها في تشكيل ما .
  3. صفوف ومكتبات واجهات تطوير التطبيقات البرمجية API المسموح استخدامها في تشكيل محدد قد تختلف عن تشكيل اخر.

لسهولة التفرقة بين الأجهزة تعرف شركة Sun نوعين فقط من التشكيلات الأساسية يميزان صنفان متمايزان من الأجهزة :

التشكيل المرتبط بالأجهزة المحدودة CLDC

CLDC: Connected Limited Device Configuration

صفات وسمات الأجهزة المصنفة ضمن هذا التشكيل :

واجهة الاستخدام الرسومية GUI بسيطة جدا

معالج 16 أو 32 بت

حيز ذاكرة منخفض نسبيا (ما بين 160 الى 512 كيلو بايت )

تستخدم عرض حزمة bandwidth للإتصالات الاسلكية منخفض نسبيا

الطاقة محدودة ... غالبا تعمل على البطارية .

اتصالات شبكية بطيئة نسبيا .

أمثلة لأجهزة تنتمي لهذا الصنف من التشكيل : الهواتف الخليوية , أجهزة المناداة pagers وأجهزة المنظم organizers وأجهزة المساعد الشخصي الرقمي PDA و أجهزة الكمبيوتر الكفي Palm .

هذا التشكيل يتضمن في آله جافا الافتراضية JVM الخاصة به ( تسمى KVM )

بعض الصفوف ليست موجودة في واجهة تطوير التطبيقات من اصدار جافا القياسي J2SE هذه الصفوف صممت خصيصا لتلائم مستلزمات الأجهزة الصغيرة مثل محتويات الحزمة :

javax.microedition

وبعض الصفوف هي أجزاء من J2SE مثل بعض الصقوف المختارة الموجودة في الحزم :

java.io

java.lang

java.util

التشكيل المرتبط بالأجهزة CDC: Connected Device Configuration

يعتبر هذا التشكيل جزء مقتطع من اصدار جافا الفياسي J2SE مع اضافة صفوف التشكيل الأساسي CLDC اليه .

نستنتج من هذا ان كل التطبيقات المبنية على التشكيل CLDC تعمل مع الأجهزة ذات التشكيل CDC

الة جافا الافتراضية JVM المسؤلة عن تشغيل التطبيقات المبنية ضمن هذا التشكيل تسمى CVM

صفات وسمات الأجهزة المصنفة ضمن هذا التشكيل :

واجهات استخدام رسومية GUI متطورة وبوسائل افضل للتحكم .

حيز ذاكرة ما بين 2 الى 16 ميغا بايت

معالج 16 او 32 بايت .

أمثلة لأجهزة تصنف ضمن هذا التشكيل :

TV set-top boxes ( لا اعرف ما هو !! )

Internet TVs

أنظمة الملاحة navigation systems .

الهواتف الذكية Smart Phones

febac8daa1.jpg

مفهوم التشكيل الجانبي Profile

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

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

مثلا يصنف كل من أجهزة المساعد الرقمي الشخصي Personal Digital Assistance ( PDA) وأجهزة الهواتف الخليوية وآلات غسيل الملابس (الغسالة) ضمن التشكيل الأساسي CLDC على الرغم من تباين قدراتهما وخواصهما واستخداماتهما .

فلا يجوز ان نتوقع ان يعمل التطبيق المخصص للهاتف الخلوي على الغسالة .

ولا يجوز ان نتوقع ان يعمل التطبيق الموجه الى PDA المتطورعلى الهاتف الخلوي المتواضع .

ومن هنا جاء مفهوم التشكيل الجانبي Profiles في منصة عمل J2ME

التشكيل الجانبي يعين صنف أو عائلة الأجهزة التي يدعمها تطبيقك .

لتحديد أكبر لبيئة عمل التطبيق كي لا نخل بخاصية المحمولية portability التي تتميز بها لغة البرمجة جافا .

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

أهم التشكيلات الجانبية واكثرها استخداما :

التشكيل الجانبي KJava

هو عبارة عن واجهة تطوير التطبيقات KJava API .

ألة جافا الافتراضية الملائمة لهذا التشكيل الجانبي هي KVM .

هذا التشكيل يحتوي على واجهة تطويرالتطبيقات API الملائمة للتشغيل على نظام تشغيل الأجهزة الكفية Palm .

هذا التشكيل الجانبي يضاف الى التشكيل الاساسي CLDC

الحزمة الأساسية لهذا التشكيل : com.sun.kjava

التشكيل الجانبي للأجهزة المعلوماتية الجوالة

MIDP: Mobile information device profile

وهو التشكيل الجانبي الأكثر شيوعا واستخداما لأنه التشكيل الموجه للهواتف الخليوية وجهاز المناداة Pager

هذا التشكيل الجانبي يضاف على التشكيل الأساسي CLDC .

هذا التشكيل يمثل منصة عمل قياسية للأجهزة المعلوماتية الجوالة اللاسلكية

الصغيرة المحدودة الموارد .

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

هذا غير حيز الذاكرة وعمرالبطارية وقوة المعالجة المحدودين .

اختيار هذا التشكيل يوفر لنا واجهات تطوير التطبيقات API المتوافرة في الحزم التالية :

حزم التشكيل CLDC الأساسية :

java.lang

java.io

java.util

حزم التشكيل الجانبي MIDP التي تضيف التخصيص المطلوب :

javax.microedition.io

javax.microedition.lcdui

javax.microedition.midlet

javax.microedition.rms

التشكيل الجانبي الخاص بأجهزة المساعد الرقمي الشخصي PDAProfile (PDAP)

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

(GUI ملونة وبدقه افضل وبتقنيات تحكم افضل من الأجهزة الخلوية , سرعة معالجة أفضل , تقنيات شبكية أفضل , ذاكرة اكبر ....الخ )

التشكيل الجانبي الأساسي Foundation Profile

يستخدم مع التشكيل الأساسي CDC وهو يمثل أساس كل التشكيلات الجانبية المستخدمة في CDC لأنه يحتوي على صفوف جافا الأساسية .

التشكيل الجانبي للألعاب Game Profile

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

التشكيل الجانبي الشخصي Personal Profile

يستخدم مع التشكيل الأساسي CDC والتشكيل الجانبي Foundation Profile

وهو يحتوي الصفوف اللزمة للتعامل مع واجهات استخدام رسومية GUI متطورة ومعقدة .

كالتي تستطيع عرض أكثر من نافذة في الوقت ذاته .

مجموعة الحزم الإختيارية

هي مجموعة من واجهات التطوير التطبيقات APIs التي تقدم بعض المميزات والوظائف لا يمكن تصنيفها ضمن أي تشكيل أساسي ولا تشكيل جانبي كمثال حزمة البلوتوث

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

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

أمثلة على الحزم الإختيارية :

RMI Optional Package :

تضاف على التشكيل الجانبي Foundatio الخاصة بالتشكيل الأساسي CDC

Java APIs for Bluetooth :

تضاف على أي من التشكيلات الجانبية الخاصة بالتشكيل الأساسي CLDC

JDBC Optional Package

تضاف على التشكيل الجانبي Foundatio الخاصة بالتشكيل الأساسي CDC

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

13 إجابة على هذا السؤال .

  • 0

:)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

قد يظن البعض ان موضوع التشكيل الأساسي والتشكيل الجانبي موضوع خطير .

كل ما في الأمر انك قبل ما تبدأ بتطوير تطبيقك ادرس الحزم التي ستختارها بدقة طبقا للأجهزة التي ستوجه اليها تطبيقك وطبقا للسمات العامة لتطبيقك مثل واجهات استخدامه ( ان وجدت) .

ثم في مرحلة تطوير ( افترض عندك بيئة تطوير J2ME ) استورد الحزم التي قررت استخدامها ب import

وبعد الانتهاء من تطبيقك حرر السمات attribute التالية في ملف توصيف التطبيق JAD على هوى الحزم التي استخدمتها :

MicroEdition-Profile أعطيها مثلا القيمة MIDP-2.0

MicroEdition-Configuration أعطيها مثلا القيمة CLDC-1.0

وهيك بتكون اخترت التشكيل الأساسي والتشكيل الجانبي .

الجزء الباقي على الجهاز ان يكون فيه الJVM المناسب للتشكيل الأساسي لتطبيقك

(هنا في المثال يفترض ان يكون KVM)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

اين يمكن ان نجد الحزم :

اختيار هذا التشكيل يوفر لنا واجهات تطوير التطبيقات API المتوافرة في الحزم التالية :

حزم التشكيل CLDC الأساسية :

java.lang

java.io

java.util

حزم التشكيل الجانبي MIDP التي تضيف التخصيص المطلوب :

javax.microedition.io

javax.microedition.lcdui

javax.microedition.midlet

javax.microedition.rms

عندما اقوم ببنا المشروع يعطيني خطا على هده الحزم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بارك الله فيك افدتينا كثيرا

لو سمحت انا كنت بسال ازاى احول code j2me on POP3 to--> IMAP

ياريت ماتعتبريش سؤالى خارج عن الموضوع

تم تعديل بواسطه amar elzaman
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أثابك الله على هذا كل خير

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
السلام عليكم

اين يمكن ان نجد الحزم :

اختيار هذا التشكيل يوفر لنا واجهات تطوير التطبيقات API المتوافرة في الحزم التالية :

حزم التشكيل CLDC الأساسية :

java.lang

java.io

java.util

حزم التشكيل الجانبي MIDP التي تضيف التخصيص المطلوب :

javax.microedition.io

javax.microedition.lcdui

javax.microedition.midlet

javax.microedition.rms

عندما اقوم ببنا المشروع يعطيني خطا على هده الحزم

طيب هو حضرتك هاتكمل معانا كود ان شاء الله وبرامج انانفسيفي كده

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بجد شرح مبسط و محتوي جيد

جزاكي الله خيرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم اخواني - نداء الى خبراء برمجة جافا

اخوكم مبتدء و حاب يتعلم برمجة لغة java وبالأخص برامج الموبايل ، فساعدوني ما هي الأمور التي يجب ان اتعلمها.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ورحمة الله

مشارك جديد وعضو جديد

واتمنى ان استفيد من منتداكم الرائع والكريم في اعطاء المعلومات

جزاكم كلكم كل خير

تحياتي

الطائر الفلسطيني

من فلسطين الجريحه

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شرح ممتاز اختى ناردين

ان شاء الله فى ميزان حسناتك... :wub:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .