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

خطأ في عمل التطبيق..

مغلق
بدأه Raed B في 19 يناير 2005 · 8 رد · 847 مشاهدة · في JavaME
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم أخواني الكرام...

هذه أول مشاركة لي ولي سؤال بسيط...

عندما حملت التطبيق إلى الجوال ظهرت لي الرسالة التالية:

java.lang.ClassNotFoundException

مع العلم بأن هذه المشكلة تحصل معي دائماً وفي جميع الأكواد , ينجح الـ KToolbar في عمل Build وبعد أن أحمله على الجوال تظهر لي هذه الرسالة على الجوال...

ظهرت لي نفس المشكلة مع هذا الكود (الذي أعتقد أنه صحيح) :

 import javax.microedition.midlet.*;
 import javax.microedition.lcdui.*; 

 public class Sura extends MIDlet implements CommandListener
 {
     private Display display;
     private TextField userName;
     private TextField password;
     private Form form;
     private Command cancel;
     private Command login;
     private Command cmdNext;
     private Command cmdBack;
   // Constructor
   public Sura() {
      userName = new TextField("LoginID:", "", 10, TextField.ANY);
      password = new TextField("Password:", "", 10, TextField.PASSWORD);
      form     = new Form("Sign in");
      cancel   = new Command("Cancel", Command.CANCEL,2);
      login    = new Command("Login", Command.OK,2);
      cmdNext  = new Command("Next", Command.SCREEN,2);
      cmdBack  = new Command("Back", Command.SCREEN,2);
   }

   // MIDlet lifecycle method: called when the MIDlet is started
   public void startApp() {
      display = Display.getDisplay(this);
      form.append(userName);
      form.append(password);
      form.addCommand(cancel);
      form.addCommand(login);
      form.setCommandListener(this);
      display.setCurrent(form);
   }

   // MIDlet lifecycle method: called when MIDlet is paused

   public void pauseApp() {
   }

   // MIDlet lifecycle method: called when the MIDlet is destroyed
   public void destroyApp(boolean unconditional) {
      notifyDestroyed();
   }

   // Checks if the user enters the correct account information
   public void validateUser(String name, String password) {
     if (name.equals("h") && password.equals("h")) {
       menu();
     } else {
       tryAgain();
     }
   }     

   // Display a list of services
   public void menu() {
     Form frm = new Form("التوحيد");
     frm.append("قل هو الله احد* الله الصمد*لم يلد ولم يولد*\n");
     frm.append("ولم يكن له كفوا احد*");
     frm.addCommand(cmdNext);
     frm.addCommand(cancel);
     frm.setTicker(new Ticker("    اللهم اغفر لنا ذنوبنا يا ارحم الرحيم"));
     frm.setCommandListener(this);
     display.setCurrent(frm);
   }

   // Display an error message if the user enters the incorrect account info
   public void tryAgain() {
     Alert error = new Alert("Login Incorrect", "Please try again", null, AlertType.ERROR);
     error.setTimeout(Alert.FOREVER);
     userName.setString("");
     password.setString("");
     display.setCurrent(error, form);
   }


   // Handle events
    public void commandAction(Command c, Displayable d) {
      String label = c.getLabel();
      if(label.equals("Cancel")) {
        destroyApp(true);
      } else if(label.equals("Login")) {
         validateUser(userName.getString(), password.getString());
      }
      else
      if(label.equals("Next"))
      {
     	 Form frm1 = new Form("الكوثر");
        frm1.append("انا اعطيناك الكوثر*فصل لربك وانحر *  ان شانئك  هو الابتر");
        frm1.addCommand(cmdBack);
        frm1.addCommand(cancel);
        frm1.setTicker(new Ticker("    اللهم اغفر لنا ذنوبنا يا ارحم الرحيم"));
        frm1.setCommandListener(this);
        display.setCurrent(frm1);
      }
      
      else if(label.equals("Back")){menu();}
      
      
   }
   

 }

فهل يستطيع أحد من الأخوة الأفاضل مساعدتي؟

شاكراً لكم مقدماً... أخوكم Raed B

تم تعديل هذه المشاركة بواسطة Raed B في 19 يناير 2005 في 13:24

#2

قم بتحويل setting من JTWM الى MIDP 1.0 وقم بنقله الى الجوال

/index.php?showtopic=49611

وقم بنقل ملفات الجاد والجار الى الهاتف

تم تعديل هذه المشاركة بواسطة مجدي محمود في 19 يناير 2005 في 13:43

لست متواجد بشكل يومي

#3

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

اقتباس
قم بتحويل setting من JTWM الى MIDP 1.0 وقم بنقله الى الجوال

أخي العزيز هذا ما عملته وأتبعت الخطوات بدقة في هذه الوصلة

/index.php?showtopic=49611

ولكن لازالت المشكلة قائمة..

فهل من حل آخر..

مع العلم بأني عملت Uninstull ثم Instull أكثر من مرة ل

j2me_wireless_toolkit-2_1-windows.exe

و

jdk-6_0-ea-bin-b16-windows-i586-16_dec_2004.exe

فهل الإصدارتين متوافقتين مع بعض؟؟

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

شاكراً لكم أخي الحبيب..

#4

وانت بالف خير

اقتباس
فهل الإصدارتين متوافقتين مع بعض؟؟

نعم

فعلا اخي غريبة وهل انت متاكد انك نقلت ملفات الجار والجاد لانه لا تستطيع نقل ملفات الجافا الى بعد تحويلها الى الجار والجاد

/index.ph...=0entry211774

لست متواجد بشكل يومي

#5

وقم بفحص ان اسم الملف صحيح

Setting-->>MIDlets

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

لست متواجد بشكل يومي

#6

أشكرك على سرعة الرد...

اقتباس
فعلا اخي غريبة وهل انت متاكد انك نقلت ملفات الجار والجاد لانه لا تستطيع نقل ملفات الجافا الى بعد تحويلها الى الجار والجاد

نعم أخي نقلت ملفات الجاد والجار ...

وحتى لو عملت Run للتطبق بعد أن تنجح عملية ال Build تظهر لي نفس الرسالة

java.lang.ClassNotFoundException

على صورة البرنامج (Run MIDP Application)

لا أعرف ماذا أصنع مع هذه المشكلة ...

#7

اعتقد اني عرفت المشكلة

اذهب الى Setting -->>MIDlets وتاكد من Class تاكد من ان تحتها هو اسم الملف الذي كتبته وليس اسم المشروع يعني مثلا اسم المشروع ArabTeam واسم الملف Raed.java فلازم يكون موجود تحت Class اسم Raed وبالمناسبة تستطيع تغييرها عن الضغط عليها مرة واحدة ومن ثم Edit

لست متواجد بشكل يومي

#8

أستاذنا الفاضل أتبعت ماقلتم..

اقتباس
اذهب الى Setting -->>MIDlets وتاكد من Class تاكد من ان تحتها هو اسم الملف الذي كتبته وليس اسم المشروع يعني مثلا اسم المشروع ArabTeam واسم الملف Raed.java فلازم يكون موجود تحت Class اسم Raed وبالمناسبة تستطيع تغييرها عن الضغط عليها مرة واحدة ومن ثم Edit

عملت مشروع أسميته : ArabTeam

والملف هو : TinyAnimation.java

حفظته هنا C:\WTK21\apps\ArabTeam\src

ولكن بقيت نفس المشكلة وهذا ما ظهر لي عندما عملت له Run

Test.JPG

وهذا ما ظهر على ال KToolbar

Running with storage root DefaultColorPhone
Unable to create MIDlet TinyAnimation.java
java.lang.ClassNotFoundException: TinyAnimation/java
	at com.sun.midp.midlet.MIDletState.createMIDlet(+14)
	at com.sun.midp.midlet.Selector.run(+22)

غلبناكم معنا أخي مجدي...

تم تعديل هذه المشاركة بواسطة Raed B في 19 يناير 2005 في 20:26

#9

يا اخي في الحقيقة انت ما فهمتني انا قصدت التالي

لازم تنتبه انه هنا مكتوب بدلا من AddressBookMIDlet هو TinyAnimation

5_19120051245240.892666.jpg

قم بتجربة مشروع اخر لان هذا المشروع اعتقد فيه مشاكل

اقتباس
غلبناكم معنا أخي مجدي...

عادي يا اخ رائد موجودين لخدمتكم

لست متواجد بشكل يومي

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

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