J2me התמחות פלפוניה (תכנות טלפונים ניידים)
Download
Report
Transcript J2me התמחות פלפוניה (תכנות טלפונים ניידים)
תכנות טלפונים ניידים
בטכנולוגית Jme
סאמח עבאס
1
מה נראה היום:
למה JVM ?JAVA
סקירה והדגמת תכני המגמה.
הדגמה של כלי הפיתוח.
הצגת פרויקטים.
2
למה ?JAVA
3
כל מכשיר היום נעשה חכם יותר ויותר
ולמעשה מכיל סוג של מחשב בתוכו
הבעיה :בכל מכשיר של כל יצרן צורת
התכנות שונה ובדרך כלל לא ניתן
להטעין עדכון לתוכנה שתוסיף למכשיר
פונקציונאליות.
וידאו שניתן לתכנת,
מיקרוגל ,פלאפון
כיצד בונים סביבה
כך שניתן יהיה
להריץ תכניות על
סוגים כל כך רבים
של משאבים
ומעבדים שונים
ומשונים?
פלאפוניה -סאמח עבאס © JME- Samih Abbas
למה ?JAVA
הצורך
פלאפוניה -סאמח עבאס JME-
© Samih Abbas
4
למה ?JAVA
( )JVM -Java Virtual Machine
• ה JVM -היא תוכנת מחשב ככל תוכנה אחרת ,והיא
משמשת כמעין שכבת-מיפוי בין מערכת ההפעלה לבין
תוכניות הרצות על גביה.
שכבת
ביניים
• היא תוכנה היוצרת סביבה הנחוצה להפעלתה של
תוכנה אחרת ,מבלי שיהיה צורך במימוש פיזי של
סביבה זו.
מפעילה
תוכנית
• משחררת את התוכנה המתבססת עליה מתלות
בחומרה מסוימת ,משום שכל חומרה שעליה תמומש
המכונה הווירטואלית תאפשר את הפעלת התוכנה.
משחררת
תלות
פלאפוניה -סאמח עבאס JME-
© Samih Abbas
5
?JAVA למה
)JVM -Java Virtual Machine (
6
JME- סאמח עבאס-פלאפוניה
Samih Abbas ©
?JAVA למה
)JVM -Java Virtual Machine (
7
JME- סאמח עבאס-פלאפוניה
Samih Abbas ©
?JAVA למה
Write once, run anywhere
JME- Samih סאמח עבאס-פלאפוניה
Abbas ©
8
9
JVM הטלפונים החכמים ו
)JME – Java Micro Edition(
10
JVM
JME – Java Micro Edition
11
בנוסף ב J2ME
Javaלמכשירים חזקים כמו PDA - Personal Digital
Assistant
שווה להזכיר יש גם Java TVלטלוויזיה אינטראקטיבית
ומשחקים הרצים על ממירים כתובים ב .Javaששיכים לאותו
הקבוצה.
אפליקציות – Embeddedלמשל מערכת בקרה לרובוט
שהוצגה ב Java ONE-האחרונה או .Java on card
12
מה בחלופה זו?
בחלופה זו יתכנתו התלמידים אפליקציות בשפת
JAVAשרצות על מכשירים קטנים שמאפשרים הרצת
אפליקציות שנקראים מכשירים חכמים( Smart
)Devicesכגון הטלפונים הניידים ,מחשבי כף יד וכו'.
המטרה:
שהתלמיד יתכנת תוכנה בממשק משתמש גראפי בהקשר
הטלפונים הניידים ,ע"י שימוש בממשק משתמש גראפי
רמה-גבוהה (שימוש ברכיבי ממשק משתמש גראפיים
קיימים) ,וגם שימוש בממשק משתמש גראפי רמה-נמוכה.
13
היעדים
להכיר מה הם מאפייני תוכנה שרצה על מכשירים זעירים.
להכיר וללמוד עקרונות בבניית משחקים ,ולבנות אפליקציות כאלו.
להכיר את המוגבלויות הכרוכות במכשירים אלו מבחינת התכנות.
להכיר וללמוד את הטכנולוגיה j2meבפרט הקשורה לטלפונים ניידים.
להכיר את המכונה הוירטואלית ותפקידה.
ללמוד עקרונות פיתוח תוכנה בשפת תכנות מונחת עצמים.
להכיר מערכת ניהול האפליקציות במכשירים זעירים.
14
תכני ההתמחות
15
,jme וJAVA רקע טכנולוגיות
MIDP ,CLDC
16
מטרות ,דרישות וטווח
סטנדרטים
מטרות על.
MIDP , CLDCומכשירי
יעד.
דרישות כלליות.
דרישות חומרה של
.CLDC
טווח סטנדרטים
של CLDCו .MIDP
17
תכנות מונחה עצמים OOP
בשפת JAVA
מבוא לעצמים ומחלקות.
מחלקות.
מערכים ,מחרוזות( Stringו ,)StringBuffer
הרשאות גישה ומנגנון התיעוד .javadoc
הורשה ופולימורפיזם .
ממשק .interface
מחלקות מופשטות .
אוספים .Hashtable ,Vector :
חריגות .Exception
מודל האירועים .
18
חבילות/ספריות ה CLDC
מחלקות נגזרות מ .j2se
מחלקות ספציפיות ב
CLDCומחלקות חדשות
מגרסה .CLDC 1.1
חבילות/ספריות בסיסיות
המיוחדות של .j2me
19
MIDP מודל אפליקציות ה
Mobile Information Device (
)Profile
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Midlet extends MIDlet {
public void startApp() {
}
public void pauseApp() {
}
public void destroyApp(boolean b){
}
}
20
ממ"ג ממשק משתמש גרפי (GUI-
Graphic
21
רמה גבוההMIDP ממ"ג
Screen מסך:)high level(
22
.Commands פקדים
command
23
Form טופס
24
ממשק משתמש גרפי רמה נמוכה
(low level Graphic User
Interface
25
תכנות מקבילי -תהליכונים
Threads
26
מה זה תכנות מקבילי?
threadבתוך אפליקציה ,מימוש הממשק Runnable
יצירת threadבאמצעות הורשה מהמחלקה .Thread
threadsמרובים :תזמון בין רצפי פעולה - threads
,schedulingסיום חייו של , threadהמתודה isAliveו
.join
שמירת שלמות הנתונים .synchronization -
בעיית ה.Deadlock-
המתודות )( waitו.notify() -
המתודות )( suspendו.resume() -
המתודה )(.stop
Game API תכנות משחקים
Sprites
27
טיפול בקול Sound API
28
סקירה ,Mobile Media API ,MIDP Sound API:דרישות,
ארכיטקטורה .MIDP Sound
יצירת וניהול נגן ( :)Playerיצירת נגן נתוני מדיה ,מקורות נתונים
למדיה ,מאזין לנגן ,יצירת צליל.
בקרי מדיה :בקרי צליל ,בקרי עוצמת קול.
תמיכה משופרת במידיה ע"י .Mobile Media API
אחסון נתונים ע"י מערכת RMS
Record -RMS
Management
System
רשומות ורשומות
אחסון ( Record
:)Storesהפעלה,
ניהול ,המרה מ/למערך
ביתים ,סינון ,השוואה,
האזנה ועוד.
29
תכני החלופה
בנוסף אפשר עוד
Light Weight UI Toolkit (LWUIT)
.BlueTooth
.Networking
.3D
30
Light Weight UI Toolkit
)(LWUIT
31
חבילת ממשק משתמש גרפי
מעוצבת.
חיקוי ל Swingשל JSE
שמתאים ל .JME
LWUIT
32
סביבת עבודה
סביבת פיתוח ,צריך להוריד ולהתקין את:
JDK 6.
) NetBeans IDE 6.9. (With Mobile feature
תוכנה לעיבוד תמונות:
Paint.net
33
תכני החלופה
חלוקת שעות:
כיתה י"א 180-200ש"ה (כ 6ש"ש) עד פרק :10
מבוא .MIDlet +
לימוד סיבית העבודה.
תמ"ע בשפת גאווה (היום אחרי שינוי שפות התכנות נשארו רק הנושאים המתקדמים :ירושה,
פולימורפיזם ,חריגות וממשקים).
ממשק משתמש גרפי (.)high-level
בחירה :פרק 16אחסון נתונים ע"י מערכת .RMS
מי שמלמד את היחידה ה 5בתמ"ע חוסך עוד יותר זמן ויוכל להתחיל עם גרפיקה (low-
.)level
כיתה י"ב כ 220ש"ה ( 8-9ש"ש):
34
גרפיקה (,)low-levelאירועים ,תכנות מקבילי ,אחסון נתונים ע"י מערכת . RMS
קול.
ממשקי משחקים.
הנחיית פרויקטים.
רמת הפרויקט
בפרויקט בהיקף של 1יח"ל
אפליקציה ממומשת ב .high level UI
בפרויקט בהיקף של 3יח"ל
אפליקציה ממומשת ב high level UIורכיבים גראפיים
חדשים custom itemשבונה אותם תלמיד.
בפרויקט בהיקף של 5יח"ל
פרויקט המיושם ב :low level Graphic
.Canvas API, Game API, MultiThreading
35
היכרות עם סביבת העבודה
הדגמה
36
תודה רבה לכם
37