/Java Micro Edition (ME)

Java Micro Edition (ME)

هي احدى تقنيات الجافا المستخدمة لعمل تطبيقات للاجهزة الصغيرة يمكننا القول ان  هذه التقنية الى الجافا مؤخرا تقريبا في عام 1999 وشهدت  هذة التقنية تطورا كبيرا في الاونه الاخيره مع تطور الاجهزة التي تدعم  J2ME

وعلى الرغم من ان اللغه تدعمها البلايين من اجهزه الموبايل مثل سامسونج ونوكيا الى ان اللغه بدات فى الانقراض الى ان جاءت نوكيا وبعثتها من جديد عندما ادركت ان السوفتوير يؤثر جدا على المبيعات مثل مافعله نظام التشغيل اندرويد  فطرحت فى الاسواق مجموعه من الموبايلات المسما بآشـــــــــا وبدات فى تعليم وتوجيه نظر المبرمجين للبرمجه على موبايلات اشا من خلال مؤتمرات وورش عمل  ولكى نتعلم كيف نبرمج  لموبايلات اشا  نحتاج ان نتعلم ME والاختلاف فقط اننا سنستخدم مكتبه جديده لكى نستخدم الاضافات الجدبده فى نظام التشغيل والتصميم الجديد للـ
form ,button and textbox,etc

  • javax.microedition.lcdui

 تزودنا هذه المكتبة بالعديد من واجهات المستخدم مثل
form ,button and textbox,etc

لكن لكى نبرمج لموبايلات اشـــــــــا سنستخدم مكتبه Lwuit
لتضيف المنظر الجمالى كما ذكرنا سابقا

  • javax.microedition.midlet

تزودنا هذه المكتبه بالبيئه التى يعمل فيها التطبيق ويجب ان يحتو ى التطبيق على ميتلت ويعتبر الميتلت مثل داله الـ Main
ويحتوى الميتلت على ثلاث ميثود هى ()startApp(), destroyApp() and pauseApp

1

وباقي المكتبات سنذكرها عند الاحتياج لها ولكى نستطيع عمل أول برنامج لنا نحتاج بيئه عمل Nokia Sdk وكومبيلر للجافا JDK

هيا بنا لعمل برنامج لانى مللت من هذا النظرى 🙂

File –new-Midlet project
لكى ننشأ مشروع جديد تفتح نافذه نكتب اسم المشروع ونضغط Finish

File-new-java me midlet
لكى ننشا ميتلت ونكتب اسم الميتلت ونضغط Finish

يظهر لك هذا الكود

public class MyMIDlet extends MIDlet {
	public MyMIDlet() {
  	    }
	public void destroyApp(boolean arg) throws MIDletStateChangeException {

	}
	public void pauseApp() {

	}
	public void startApp() throws MIDletStateChangeException {

  	}
}

ولعمل فورمه

public class MyMIDlet extends MIDlet {
privateMyFormmyForm;
private Display display;
publicMyMIDlet() {
this.display = Display.getDisplay(this);
this.myForm = new MyForm("First App");
    }
public void destroyApp(booleanarg) throws MIDletStateChangeException {
this.myForm  = null;
this.display = null;
    }
public void pauseApp() {
    }
public void startApp() throws MIDletStateChangeException {
this.display.setCurrent(myForm);  
      }
}

private Display display

تعريف كائن وهو عباره عن تمثيل لشاشه الموبايل ويتم التعامل مع الشاشه عبر هذا الكائن

;(display =Display.getDisplay(this

وبعد ان قمنا بتعريف الكائن سنقوم بربطه مع شاشه هذا التطبيق طبعا هذا بشكل افتراضى
File-new-class

ننشا كلاس جديده ونسميها MyForm
ونجعلها تورث من Form

public class MyForm extends Form {
privateTextField name;
privateTextField password;
publicMyForm(String title) {
super(title);
name = new TextField("Name:", "", 20, TextField.ANY);
password = new TextField("Password:", "", 20,
TextField.PASSWORD);
append(name);
append(password);
    }
}

Append اى ضع الـ TextField على form

مبروووووووووووك لقد انشأت اول برنامج لك مع لقاء اخر ان شاء الله

وهذا الفورمه التى ستظهر
2013-09-15 00_33_29-(2000) Nokia SDK 2