# J2ME

### מתוך ויקיפדיה, האנציקלופדיה החופשית

יש לך הודעות חדשות (השווה לגרסה הקודמת).

| יש לשכתב ערך זה הסיבה לכך: הערך טכני מידי וצורת הכתיבה והעימוד אינם מותאמים לוויקיפדיה. אתם מוזמנים לסייע ולתקן את הבעיות בדף זה, אך אנא אל תורידו את ההודעה כל עוד לא תוקן הדף. אם אתם סבורים כי אין בדף בעיה, ניתן לציין זאת בדף השיחה שלו.

ב Java מורצת התוכנה על מכונה וירטואלית. תכונה זו של ניתוק ממערכת ההפעלה על ידי כתיבת JVM שהיא מיני מערכת הפעלה סטנדרטית אומץ לתחום אחר והוא הטלפונים החכמים כחלק מקבוצה של Embedded Devices. גם שם ריבוי המכשירים, ריבוי מערכות ההפעלה, וסוגי מעבדים שונים נתנו יתרון לפיתוח מבוסס מכונה וירטואלית תחום זה הוא J2ME - Java 2 Micro Edition.
בתחום זה הוגדרו מספר וריאציות:

- Java למכשירים חזקים כמו PDA - Personal Java
- Java לטלפונים ומכשירים אחרים שבמקור היו מוגבלי זיכרון ויכולת מחשוב וזה הMIDP.
- שווה להזכיר יש גם Java TV לטלוויזיה אינטרקטיבית ומשחקים הרצים על ממירים כתובים בJava. ששיכים לאותו הקבוצה
- אפליקציות Embedded – למשל מערכת בקרה לרובוט שהוצגה ב-Java ONE האחרונה או Java on card.
  הואיל וJava רצה על מכונה וירטואלית ולכן מתאימה לטלפוניה. כך ניתן לכתוב קוד משחק Java פעם אחת והוא יצליח לרוץ על מגוון רב של סוגי טלפונים ששונים הן במערכת ההפעלה, במעבד או במסך. גם כאן הכלל "כתוב פעם הרץ בכל מקום" עוזר למפתחים. אך עדיין גם פה פרמטרים כמו: גודל מסך, מספר צבעים,תמיכה במצביע ועדכון מסך חכם, הם פרמטרים שהמתכנת צריך להתייחס אליהם.
  שני הסוגים העיקרים ב-J2ME הם MIDP ו-Personal Java. כאשר נבנתה גם וריאציה מורחבת לMIDP לPDA . ביפן פותחה גרסה אחרת שנקראת IAPP ועליה בהמשך.
  כדי לפשט את התאמת וכתיבת המכונה הוירטואלית לטלפונים ומערכות קטנות חולקה המכונה הוירטואלית JVM לשתי שכבות:
- שכבה התלויה במערכת ההפעלה CDC או CLDC.
- שכבת ממשק האפליקציה כמו טיפול בתפריט ובמסכים.
  ה-CDC היינו התשתית למערכות שהן יחסית עתירות משאבים ומשמעותו Connected Device Configuration כגון PDA וחלק מהטלפונים החכמים, ואילו ה CLDC מיועד למערכות מוגבלות משאבים: Limited= L כגון טלפונים שהם לרוב מוגבלי זיכרון ומהירות הCPU.
  ה MIDP הוא הגרסה שרצה ב-90% מהטלפונים / PDA תומכי Java – היתר מתחלקים בין Personal Java לבין IAPP. עכשיו החדירה של טלפונים תומכי Java היא 25% וההערכה היא שעד 2006 כל הטלפונים יתמכו בJava . ה-MIDP רוכב מעל הרמה הבסיסית - CLDC, שהיא השכבה המוגבלת, ובהתאם מכילה תת מרחב של ממשק הAPI הסטנדרטי. למשל לא קיים טיפול במספרים ממשיים(תמיכה זו נוספה בגירסה חדשה יותר של המפרט) ובפונקציות מתמטיות וגם ממשק האפליקציה מנוון ומבוסס על ספריה אחרת ומצומצמת.
  מצד שני Personal Java (וגם-Java TV) רוכב מעל שכבה CDC ובהתאם תומכים בממשק מורחב יותר, הדומה יותר לממשק הסטנדרטי, למשל Personal Java כולל תמיכה בAWT. יש טלפונים חכמים Pocket PC או P800 של Sony Ericcson שמריצים את שתי הגרסאות.
  כדי לעזור לחברות יצרני הטלפונים באדפטציה של Java נכתבו דוגמאות מימוש כבסיס. בנוסף יש קבוצה בSun שמספקת שירותי מימוש Java לטלפונים וכתיבת סביבת פיתוח כמו אמולטורים (מדמי טלפון בתוכנה), שחלק ניכר מהם מפותח בקבוצה בישראל. בניגוד לרוב השפות הקיימות על שפת Java יש זכויות יוצרים. הרווחים של Sun הם בין היתר מזכויות יוצרים על שימוש ב-JAVA, למשל על כל טלפון נייד תומך Java, אפילו אם לא השתמשו במימוש של Sun.
  האפליקציה של MIDP נקראת Midlet על שם הממשק של התוכנית הראשית (שהוא כמו ה – main של C או Java ולמעשה הוא ה Class הבסיסי ל main של תוכנת טלפונים).
  הממשק הנ"ל תומך בפונקציות העיריות הבאות:
- הפעלה ראשונית, המתנה (בעת קבלת שיחה למשל) וסיום האפליקציה.
- קבלת אובייקט המסך כדי לשנותו על ידי אובייקט אחר שהינו או Form שעליו ניתן לשים שדות, כפתורי ברירה תפריטים וכולי) או Canvas לציור על ידי אלמנטים פרי מטיבים יותר (כמו קו / מעגל / תמונה)
- אפליקציה (או מספר אפליקציות) ארוזה בפורמט Jar (שזה למעשה ZIP המורץ על ידי Java) ובמקביל יוצרים קובץ קצר Jad שזה קובץ תיאור האפליקציה כולל גודל זיכרון נדרש שמות האפליקציות בתוך ה –Jar והIcon שלהם, תאור מטרת התוכניות וכתובת הJar לטעינה.
- בשרתי טעינה תוכנה אתה יכול לטעון קובץ Jad ראשית כדי לקבל תיאור האפליקציה ולבדוק אם יש לך מספיק מקום בזיכרון ואם זה האפליקציה הנכונה ואז לאשר טעינת התוכנה.
- מערכות טעינה חכמות מגנות מטעינה חוזרת על ידי יצירת Jad דינמי ונתינת כתובת זמנית לJar , חד פעמית, לכל טעינה.
  האם עקרון " כתוב פעם אחת הרץ בכל מקום" עובד תמיד? ברמת העיקרון התשובה חיובית, כל עוד הדבר נוגע לממשק משתמש מופשט(כגון טפסים, התראות, מסכי בחירה וכיוצא בזאת). יחד עם זאת, כאשר נעשה שימוש בCanvas, לדוגמה, במשחקים, על המתכנת מוטלת האחריות להקפיד שהמשחק יוכל להתאים לגדלי מסך שונים, והיה והדבר אפשרי.
  במקביל להתפתחות של הטלפונים באירופה ובארצות הברית על ידי נוקיה, מוטורולה וסימנס התפתחה ביפן תרבות משחקי טלפון שגרמה להיווצרות דיאלקט Java משלהם שנקרא IAPP. בניגוד לMIDP היא הותאמה למשחקים וDoCoMo היינו המפעיל המפורסם מכולם. משחק כמו עולם וירטואלי של סמוראים הוא דוגמה לרמת התפתחות תרבות המשחק בטלפונים שם.
  בהמשך לדרישה של תמיכה חזקה יותר באפליקציות בידוריות ובמשחקים יצאו שלוש הרחבות של הגדרות ממשקים:
- ממשק מולטימדיה התומך בנגנים של אודיו ווידאו וSMS/MMS והרבה טלפונים תומכים בו בימינו.
- ממשק MIDP 2.0 שמוסיף את התמיכה במשחקים כמו Sprites (דמויות דו ממדיות הזזות על פני המסך ויודעים לזהות התנגשות) ובאנימציה (הצגה של סדרת תמונות). בנוסף שופרו בו תוכנות התקשרות כמו בקרת גישה לרשת ואפשרות יזומה של בקשה כלפי הטלפון (Over The Air) בMIDP המקורי ברוב הפעמים הטלפון פנה בבקשת HTTP (כמו דפדפן) לשרת. פה הורחבו האפשרויות.
- ממשק תלת ממד למכשירים ניידים ממשק המקביל לשכבת הDirect3D בטלפונים.

## [עריכה] קישורים חיצוניים

- http://java.sun.com/j2me
- http://www.java.com
- http://wireless.java.sun.com
- http://www.midlet.org
- http://www.javaworld.com/javaworld/jw-01-2001/jw-0105-midp.html
- http://www.forum.nokia.com/main.html

מקור: http://he.wikipedia.org../../../j/2/m/J2ME_ac36.html

קטגוריות: ויקיפדיה: ערכים הדורשים שכתוב | שפות תכנות

##### Views

- ערך
- שיחה
- גרסה נוכחית

##### קהילה

- שער הקהילה
- עזרה
- דלפק ייעוץ
- מזנון
- יצירת קשר
- ספר אורחים

##### חיפוש

##### שפות אחרות

- English
- Česky
- Dansk
- Deutsch
- Español
- Suomi
- Français
- Italiano
- 日本語
- Nederlands
- Norsk (nynorsk)
- Polski
- Português
- Русский
- Türkçe
- Tiếng Việt
- 中文