الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الرجاء بحاجة للإجابة على هذه الأسئلة ضروري :(

مغلق
بدأه primrose في 10 ديسمبر 2006 · 5 رد · 1,051 مشاهدة · في JavaME
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أنا مبتدأة في البرمجة بلغة j2me بواسطة netbeans5.5 ومحتاجة الإجابة على هذه الأسئلة جزاكم الله خيرا

1- كيف ممكن أستطيع عمل تطبيق بحيث يخزن اليوزر تاريخ ميلاده وعندما يوافق تاريخ ميلاده تاريخ اليوم يصدر البرنامج تنبيه لليوزر، أي مثل برنامج تذكير بالميلاد.

يعني متى وأين في الكود أقدر كل مرة أختبر التاريخ المدخل من اليوزر مع التاريخ الحالي؟

2- كيف أقدر استخدم باقي الأزرار مثل الأرقام لتعمل أكشن في التطبيق. غير مفتاحي الإختيار الأيمن والأيسر ومفتاح الإختيار select.

3-ما هي الفائدة من الأمر Command.SCREEN وماذا يختلف عن Command.OK

4- أيضا عندما استخدمت j2me polish لم استطيع اضافة splashScreen ولا waitScreen. لماذا؟

ولكم جزيل الشكر والتقدير

#2
اقتباس
السلام عليكم

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

اقتباس
أنا مبتدأة في البرمجة بلغة j2me

مبتدئة ..

اقتباس
1- كيف ممكن أستطيع عمل تطبيق بحيث يخزن اليوزر تاريخ ميلاده وعندما يوافق تاريخ ميلاده تاريخ اليوم يصدر البرنامج تنبيه لليوزر، أي مثل برنامج تذكير بالميلاد.

يعني متى وأين في الكود أقدر كل مرة أختبر التاريخ المدخل من اليوزر مع التاريخ الحالي؟

مقال : دورة حياة تطبيق J2ME ( الـ MIDlet )

اقتباس
الحالة الثالثة : تعريف التطبيق كعمل مؤقت Timer Task

مؤقت بفتح الفاء ..

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

ولكن كيف سيبقى الـ AMS متذكرا تاريخ وساعة ولحظة التنبيه المطلوبة لتفعيل التطبيق ...

بفرض انها بعد شهر على سبيل المثال ولن يجدي استخدام الطريقة schedule من غرض من الصف Timer

حيث قد يجري اغلاق الجهاز خلال هذا الشهر وبالتالي تموت كل الـThread الخاصة بالتطبيق .

الحل يكون باستخدام قائمة خاصة مخزنة على الجهاز تسمى سجل الدفع Push Registry

يخزن فيها الأوقات والتواريخ اللازمة لإيقاظ أو نقل أحد تطبيقات J2ME المنصبة على الجهاز من حالة الايقاف الى حالة الفعالية .

كما يخزن فيها برامترات الاتصالات الشبكية (رقم المنفذ ونمط الاتصال) المطلوبين لايقاظ (تفعيل) أحد تطبيقات J2ME المنصبة على الجهاز .

كل هذه الامور تخزن في قائمة سجل الدفع Push Registry المخزنة على وسط التخزين الدائم للجهاز بحيث لا تضيع مع اغلاق الجهاز .

ملاحظة : جرى اضافة تقنية سجل الدفع PushRegistry الى التشكيل الجانبي MIDP بدءا من اصداره الثاني MIDP 2.0

كيف يمكننا الاستفادة من تقنية سجل الدفع Push Registry وتسجيل بارامترات تطبيقنا J2ME فيها ؟!!

عملية تسجيل بارامترات تطبيق J2ME تتم وفق احدى طريقتين :

طريقة ساكنة

يجري التسجيل عن طريق اضافة برامترات معينة يدويا للملف JAD للخاصية MIDlet-Push-<n>

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

طريقة ديناميكية

وهي طريقة برمجية حيث يجري تسجيل البرامترات اللازمة في زمن التنفيذ عبر تنفيذ سطور معينة من الكود

باستخدم الصف PushRegistry الموجود في الحزمة javax.microedition.io

وذلك يتحقق باستدعاء تطبيقك للطريقة الستاتيكية PushRegistry.registerConnection واعطائها البرامترات المناسبة مثل نوع بروتوكول الاتصال الشبكي ان كان sms أو كان Packetمنتظرة بتحديد datagram أو socket ورقم المنفذ المطلوب التصنت عليه والمتوقع ورود الرسالة أو الـPacket المنتظره منه وتكتب هذه المعلومات كبرامتر واحد بالصيغة <Protocol Type>://<Port number>

كمثال sms://1234 أو datagram://1234

وأيضا برامتر اخر هو اسم التطبيق الذي يستوجب تفعيله عند ورود هذا الاتصال الشبكي ... قد يكون تطبيق MIDlet آخر غير تطبيقك .

هذا الاستدعاء لتحقيق حالة التشغيل الثانية (ورود أو تلقي اتصال شبكي)

لمعلومات أكثر حول البرامترات وترتيبها يرجى مراجعة الـDocumentation الخاص بـالصف PushRegistry

أما لتحقيق حالة التفعيل الثالثة ( تشغيل التطبيق عن زمن وتاريخ محدد ) يتحقق باستدعاء تطبيقك للطريقة الستاتيكية PushRegistry.registerAlarm واعطائها البرامترات المناسبة مثل اللحظة الزمنية التي يستوجب تفعيل التطبيق عندها واسم التطبيق الذي يستوجب تفعيله عند ورود هذه اللحظة الزمنية... قد يكون تطبيق MIDlet آخر غير تطبيقك .

اقتباس
2- كيف أقدر استخدم باقي الأزرار مثل الأرقام لتعمل أكشن في التطبيق. غير مفتاحي الإختيار الأيمن والأيسر ومفتاح الإختيار select.

استخدمي الطريقة keyPressed في صف يرث الصف Canvas سيجري تمريره للطريقة setCurrent عن غرض من الصف Display

protected void keyPressed(int keyCode) {
int action = getGameAction(keyCode);
switch (action) {
case Canvas.RIGHT:
...
break;
case Canvas.LEFT:
...
break;
case Canvas.UP:
...
break;
case Canvas.DOWN:
...
break;
}
}

اقتباس
3-ما هي الفائدة من الأمر Command.SCREEN وماذا يختلف عن Command.OK

Command.SCREEN أوامر على مستوى النافذة الحالية فقط ... اذا كان تطبيقك مكون من اكثر من نافذة

Command.OK أوامر على مستوى التطبيق كله .... ستظهر في ل النوافذ

4- أيضا عندما استخدمت j2me polish لم استطيع اضافة splashScreen ولا waitScreen. لماذا؟

لم استخدم j2me polish ولا علم لي به !

سيمضي ركبنا العملاق لن يركع .. بإيمان لغير الحق لا يصدع

عزيزا شامخا كالمجد بل أروع .. فسجل أيها التاريخ ما تسمع :

فلسطين لنا الآمال والمطمع .. نعاهد أن نحررها وأن ترجع

ونقسم نستعيد الأرض أو نصرع .. ويبقى رمزنا الزيتون والمدفع

Palestine.gif

#3

شكرا لك أخت ناردين على ردك السريع وشرحك الوافي

بس جزاك الله خير لو توضحين أكثر بالنسبة للأمر Command.Screen انتي تقولين على مستوى النافذة الحالية هل تقصدين الفورم نفسه؟ وايضا أنا ولا مرة استخدمت الCanves ايش الفائدة منها؟وكيف استخدم الطريقة KeyPressed هل هي معرفة مسبقا أو انا أعرفها؟

وشكرا لك مرة أخرى وأرجو انك تتحملي اسألتي لأني مبتدئة :)

#4

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

بعد اذن الأخت ناردين ساجيب على اسئلتك .... لانى لاحظت انها تاخرت فى الرد

انا ايضا مبتدئه ولكن ذاكرت قليلا

1. بالنسبه للفرق بين انواع الازرار ... بصراحه لم ارى فرق بينهم واضح سوى زورار exit لانه بيوضع على جانب اخر غير الجانب الذى توضع عليه باقى الازرار

2. بالنسبه لل canvas فهو مثل ال display ولكنه يتيح امكانيات اكثير كالرسم وكالاستشعار بضغط الازرار شمال ويمين وفوق وتحت

و بالنسبه لل keyPressed فهى وظيفتها ... لما اعرف ترجمتها بالعربى ولكن معنها واضح

Invoked when a key is pressed

وهذا مثال لاستخدام هذه ال Method

protected void keyPressed(int keyCode)
{
switch (getGameAction(keyCode))
{
// Place logic of each action inside the case
case FIRE:
case UP:
case DOWN:
case LEFT:
case RIGHT:
default:
// Print the text of the game action
keyText = getKeyName(keyCode);

ملحوظه ... لاستخدام ال canvas فعليكى عمل كلاس و عمل Inhertans من ال canvas

hh.jpg
#5

شكرا جزيلا لك عزيزتي someone83 على مساعدتك

وبما أنك مبندئة مثلي ياليت لو عندك مصادر لتعليم j2me للمبتدئين سواء اسماء كتب ممكن اشتريها أو شي مجاني على النت وبأي لغة عربي أو انجلش.

والف شكر لك مرة ثانية

#6

السلام عليكم

معذره على التاخر فى الرد ولكنى لم الاحظ ردك الا الان

بالنسبه للكتب فانا افضل جدآcore j2me

حقيقي رائع جدآ

hh.jpg

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…