مممممممممممممممم
يالنسبة أني أتعلم JavaMe كان لي تجربة معاها زي العسل وأنتا عارفها :(
بالنسبة لموضوع objective c أنا كنت أحسبها لـ symbian جيد أن يجد المرء من يقومه
أخيراً بطل يا هويدي تخرب المواضيع تبعت الناس ![]()
![]()
قال ماك قال ![]()
تحياتي
مممممممممممممممم
يالنسبة أني أتعلم JavaMe كان لي تجربة معاها زي العسل وأنتا عارفها :(
بالنسبة لموضوع objective c أنا كنت أحسبها لـ symbian جيد أن يجد المرء من يقومه
أخيراً بطل يا هويدي تخرب المواضيع تبعت الناس ![]()
![]()
قال ماك قال ![]()
تحياتي
شوف, إنتا كنت فاكر إن Objective-C لل symbian لولا أنا إتدخلت في الوقت المناسب :P
علاء الصالحي كتب:مممممممممممممممم
يالنسبة أني أتعلم JavaMe كان لي تجربة معاها زي العسل وأنتا عارفها :(
بالنسبة لموضوع objective c أنا كنت أحسبها لـ symbian جيد أن يجد المرء من يقومه
أخيراً بطل يا هويدي تخرب المواضيع تبعت الناس
قال ماك قال
تحياتي
ولماذا لا تحاول من جديد ؟؟
كويس ان المعلومه عندك تم تصليحها
هههههههههههههههههههه معلش بس هو عاوز يشتغل لكن فيه ناس حاولت و لا تريد المحاوله مره اخرى :P :P
هويدي كتب:شوف, إنتا كنت فاكر إن Objective-C لل symbian لولا أنا إتدخلت في الوقت المناسب :P
اكيد طبعا التدخل فى الوقت مناسب جميل اوووى
وبعدين خليكوا كويسين مع بعض اصل اعمل حظر تجول هنا :P :P
:lol: :lol: :lol: :lol:
هويدى :) علاء :)
ومن قال أنك غير مفيد يا هويدي
لكني مازلت مصر على أنك خربت الموضوع ![]()
قال ماك قال ![]()
مشكلتي معها ليست مشكلة برمجية
مشكلتي معها كانت في نقص دعم الشركات لها بتوفير API
كدت أفقد المادة التي كنت أعمل عليها في الفصل السابق من أجل هذه المشكلة
على كل ليست لدي أدنى مشكلة في العمل عليها من جديد
لكن ليس لأغراض التعلم :lol:
تحياتي
علاء الصالحي كتب:ومن قال أنك غير مفيد يا هويدي
لكني مازلت مصر على أنك خربت الموضوع
قال ماك قال
مشكلتي معها ليست مشكلة برمجية
مشكلتي معها كانت في نقص دعم الشركات لها بتوفير API
كدت أفقد المادة التي كنت أعمل عليها في الفصل السابق من أجل هذه المشكلة
على كل ليست لدي أدنى مشكلة في العمل عليها من جديد
لكن ليس لأغراض التعلم :lol:
تحياتي
مش قولنا العبوا مع بعض
امممم كانت اصدارات قديمه من الموبيلات فلذلك لم يكن هناك الدعم الكافى
دا انت باين عليك مجرب من زمان :lol: :lol:
لا جرب دلوقتى كل حاجه تعتبر بقت متاحه
يا اخى اغراض التعلم ولا لا
بس المهم تشتغل
وبعدين لو مش لاغراض التعلم
ارنا همتك فى ايجاد مشروع فكرته جديده وجذابه وقم بتطبيقها
وبعد كدا تصبح مليونير :P :P
بس انت اشتغل بس وربنا يوفققك :)
لا يا محمود مش بعيدة كثير
تجربة قريبة جداً وتجربة أسود من قرن الخروب :(
لو حبيت أجرب فهجرب على android
لأنه على حسب توقعاتي سيسطر في فترة قريبة :)
تحياتي
علاء الصالحي كتب:لا يا محمود مش بعيدة كثير
تجربة قريبة جداً وتجربة أسود من قرن الخروب :(
لو حبيت أجرب فهجرب على android
لأنه على حسب توقعاتي سيسطر في فترة قريبة :)
تحياتي
امممم
ماشى يا عموو علاء
اكيد انت ادرى بهذه التجربه
ولكن من وصفك فهي جميله اوووى ( طبعا بالعكس :P )
ربنا يوفققك ان شاء الله
طيب اتجهه انت بس وربنا يوفققك ان شاء الله
لو سمحت عندي استفسار غريب شوية
انا لسه جديد اوي في موضوع الجافا مكملتش ساعات فيه فاستحملني شوية :blush:
دلوقتي بعد لما اعمل البروجكت عاوز ابقا انزلو على الموبايل اعمل اييه ؟
وشكرا
هتعمل clean and build للبرنامج
وبعدين تدخل على مسار المشروع
هتجد مجلد يسمى dist ستجد فيه برنامجك بامتداد .jar
خذه وقم بتنزيله على الموبيل
وقم بالضغط عليه هيطلب منك التسطيب كأى برنامج استخدمته من قبل
السلام عليكم ورحمة الله وبركاته
بارك الله فيك أخي على الموضوع القيم
أنا جديدة في الجافا ومشروع تخرجي بتطلب برمجة تطبيق على الهاتف المحمول
المرحلة الأولى من مشروعي بده client- server system بحيث مثلا في قاعة المحاضرات اللي فيها عدد كبير من الطلبة يعرض الدكتور سؤال اختيار من متعدد لمدة 30 ثانية والطلبة خلال تلفوناتهم يجابوا يعني بدي exceclusive choise group يعني مثلا (A, B, C, D) ويرسلوها للخادم اللي هو اللاب توب اللي عند الدكتور عن طريق البلوتوث .
ممكن تكتب شو هي ال software tools and hardware tools اللي بحتاجها وياريت تكتب شو النسخة من ال netbeans اللي بتنصحني أستخدمها
وبعدين كيف بقدر أخلي الخادم يستقبل حوالي 100 رد من الطلبة في نفس الوقت عن طريق البلوتوث
أرجو الرد العاجل للضرورة القصوى
للأسف استنيت الإجابة كتير ولسا ما في رد
المهم بدي أسأل
http://netbeans.org/downloads/6.9.1/
الرابط اللي فوق لتنزيل نتبينز 6.9.1 بس في خيارات كتير أنزل من خيار جافا ولا all
أرجو الرد العاجل؟؟
محدش رد عليك علشان سوالك فى موضوع جانبى
والمفروض يكون فى موضوع مستقل حتى يقوم احد بالرد عليك
بالنسبه للتحميل فقم بالتحميل من اخر عمود "ALL" كى يدعم الـ JavaME
بارك الله فيك على الرد
Mahmoud Kelany كتب:هذا هو الكود كاملا
وسوف نقوم بشرح الكود سطر سطر
لتحميل الكود على الـ netbeans
FirstLessonLearnMobileApplications.zip
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package hello; import javax.microedition.lcdui.*; import javax.microedition.midlet.*; /** * @author Mahmoud Mahrous */ public class FirstMidlet extends MIDlet implements CommandListener { private Form firstForm; private Form secondForm; private List friendsList; // Commands Command gotoSecondFormCmd; Command gotoFriendsListCmd; Command backFromSecondFormCmd; Command backFromFriendsListCmd; public void startApp() { Display.getDisplay(this).setCurrent(getFirstForm()); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } /** * @return the firstForm */ public Form getFirstForm() { if (firstForm == null) { firstForm = new Form("First Form"); StringItem message = new StringItem("Hello", "Welcome"); firstForm.append(message); Ticker ticker = new Ticker("Welcome to my first test application with my self"); firstForm.setTicker(ticker); // Commands gotoFriendsListCmd = new Command("Friends", Command.ITEM, 0); gotoSecondFormCmd = new Command("Second", Command.ITEM, 0); firstForm.addCommand(gotoSecondFormCmd); firstForm.addCommand(gotoFriendsListCmd); firstForm.setCommandListener(this); } return firstForm; } /** * @return the secondForm */ public Form getSecondForm() { if (secondForm == null) { secondForm = new Form("Second Form"); StringItem message = new StringItem("Second form", "Welcome to second form"); secondForm.append(message); // Commands backFromSecondFormCmd = new Command("Back", Command.BACK, 0); secondForm.addCommand(backFromSecondFormCmd); secondForm.setCommandListener(this); } return secondForm; } /** * @return the friendsList */ public List getFriendsList() { if (friendsList == null) { friendsList = new List("Friends List", List.EXCLUSIVE); friendsList.append("Mahmoud", null); friendsList.append("Mahrous", null); friendsList.append("Waleed", null); // Commands backFromFriendsListCmd = new Command("Back", Command.BACK, 0); friendsList.addCommand(backFromFriendsListCmd); friendsList.setCommandListener(this); } return friendsList; } public void commandAction(Command cmd, Displayable d) { if (cmd == gotoSecondFormCmd) { Display.getDisplay(this).setCurrent(getSecondForm()); } else if (cmd == gotoFriendsListCmd) { Display.getDisplay(this).setCurrent(getFriendsList()); } else if (cmd == backFromFriendsListCmd || cmd == backFromSecondFormCmd) { Display.getDisplay(this).setCurrent(getFirstForm()); } } }هيا بنا نبدا فالشرح
private Form firstForm; private Form secondForm;نقوم بانشاء شاشتين
private List friendsList;وننشأ ايضا قائمة
ثم بعد ذلك نقوم بتحديد الـ Commands
هذه تمثل الزارير فى ال J2ME
بمعنى اخر الاحداث
فى الشاشه الاولى سوف نجد ان هناك حدثين احداهما يذهب الى الشاشه الثانيه والاخر يذهب الى قائمه الاصدقاء
لذلك قمنا بتعريف
Command gotoSecondFormCmd; Command gotoFriendsListCmd;لكن عندما نكون فى احدى الشاشتين الفرعيتين نريد الرجوع الى الشاشه الاولى
فهناك حدث نقوم باضافته لكلا من الشاشه الثانية و القائمه
فقمنا بتعريف
Command backFromSecondFormCmd; Command backFromFriendsListCmd;وبعد ذلك نقوم بعمل getter الى الشاشتين وقائمه الاصدقاء
نبدا بعمل getFirstForm
فى داخلها نقوم بالاستعلام هل الـ FirstForm = null
اذا كان كذلك يعنى انه لم يتم تعريفه الى الان
نقوم بتعريفه
هكذا
firstForm = new Form("First Form");وبعد ذلك نقوم باضافه كلام ترحيبى فى الاول
وذلك يكون من نوع StringItem
نقوم بتعريف كائن نقوم باضافته الى الشاشه الاولى
باستخدام الداله append
firstForm.append(message);وذكرنا من قبل اننا نريد ان نقوم بعمل شريط اخبارى
وهذا الشريط يكون بانشاء كائن من الـ Ticker Class
ونقوم بكتابه الرساله اللتى تقوم بالعرض فى البناء الخاص بهذا الكائن
لكن عندما نريد ان نضيفه الى الشاشه الاولى
لا نستخدم الداله append
لكن هناك داله خاصه بذلك وهى setTicker
firstForm.setTicker(ticker);بعد ذلك نقوم باضافه الحدثين الخاصيين بالتنقل
من الشاشه الاولى الى الشاشه الثانيه او قائمه الاصدقاء
نقوم الاول بتعريفهم باستخدام new KeyWord
gotoFriendsListCmd = new Command("Friends", Command.ITEM, 0);وفى البناء الخاص به
نكتب اسم الكلمة المراد ان تظهر للمستخدم
وبعد ذلك نحدد نوع الحدث
على انه item command
وبعد ذلك تقوم بوضع درجه الأولوية
لكنها نادرا ما تستخدم فدائما نضعها بصفر
كذلك فى الحدث الاخر الخاص بقائمه الاصدقاء
هناك سطر خاص بالاستماع الى الاحداث كما فى ال actionListener
فى الـ J2SE
لكن لكى نتمكن من استخدام هذا الامر
لابد من ان تكون الـ FirstMidlet
تحتوى على الـ interface
CommandListener
فتكون الكلاس بهذا الشكل
public class FirstMidlet extends MIDlet implements CommandListener { }وهناك داله عندما نقول ان هذه الكلاس تستخدم CommandListener
فهناك داله abstract
وهى
public void commandAction(Command cmd, Displayable d) { }سوف نقوم بكتابه الكود الخاص بها بعد ذلك
فائدتها هى اللتى تستمع الى الاحداث التى يقوم المستخدم بفعلها
وبهذا نكون قد قمنا من الانتهاء من عمل الـ FirstForm
عمل الـ secondForm
مثل الـ firstForm
سوف نقوم بشرح الجديد وهو الـ FriendsList
نقوم ايضا بالسوال هل تم انشاء القائمه من قبل ام لا
ان كان لالا
فنقوم بتعريف القائمه
وفى البناءا لخاص بيها
friendsList = new List("Friends List", List.EXCLUSIVE);نقوم بكتابه اسم الـقائمة
ونختار نوع القائمه
فهنا نختار EXCLUSIVE
يعنى انه يتم اختيار عنصر واحد فى وقت واحد
نقوم بعد ذلك باضافه عناصر الى القائمه
friendsList.append("Mahmoud", null);باستخدام append
اللتى تقوم بكتابه اسم العنصر ونقوم بوضع له صوره ان وجد
ان لم يوجد نكتب null
وكما قولنا قبل ذلك ان هذه الشاشه سوف تحتوى على زر رجوع الى الشاشه الاولى
backFromFriendsListCmd = new Command("Back", Command.BACK, 0);نقوم بتعريف الحدث الخاص بذلك
ونكتب له اسمه الخاص به
وبعد ذلك نحدد نوعه
سوف يكون من النوع BACK
وبعد ذلك نضيف هذا الحدث على القائمه
friendsList.addCommand(backFromFriendsListCmd);وبعد ذلك نقوم بعمل مستمع للقائمه
friendsList.setCommandListener(this);الى هنا
بقى شيئين هما
الـ CommandListener
والبدايه اللتى يبدا من عندها البرنامج
سوف نقوم بشرحهم لاحقا
يتبع ....
السلام عليكم
انا اخدت الكلام كلو كوبى بس قى مشكلة انة ظهر خطا فى جملة معينة انا لسى بتعلم ومش عارف اعمل اية السطر رقم 13