here - המחלקה להנדסת חשמל ומחשבים

‫מעודכן לסימסטר א' תשע"ו‬
‫הפקולטה למדעי ההנדסה‬
‫המחלקה להנדסת חשמל ומחשבים‬
‫מעבדת מיקרו מחשבים מתקדמת (‪)36114693‬‬
‫ניסוי מס' ‪( 4‬חובה)‬
‫‪Android‬‬
‫(מדריך מעבדה‪ :‬ניב ווסקו‪(nivosco@gmail.com‬‬
‫‪ .1‬הקדמה‬
‫מערכת ההפעלה ‪ Android‬הוצגה לראשונה על ידי חברת ‪ Google‬בשנת ‪ Android .2007‬הינה‬
‫מערכת הפעלה התומכת במספר רב של אפליקציות למספר רב של מכשירים‪ .‬אפליקציות ב‪-‬‬
‫‪ Android‬נכתבות בשפת התכנות ‪ .Java‬מערכת ההפעלה נשענת על ליבת ‪ ,Linux‬היכולה לרוץ‬
‫על מגוון רחב של מעבדים‪ .‬כיום ‪ Android‬הינה מערכת ההפעלה הנפוצה בעולם‪ .‬סביבת‬
‫הפיתוח של מערכת ההפעלה הינה ה‪ .(Software Development Kit),SDK -‬ה‪ SDK-‬מספק‬
‫לנו מספר ספריות ‪ )Application Programming Interface( API‬ואת ה‪Android ( AVD -‬‬
‫‪ .)Virtual Device‬במהלך הניסוי נכיר את סביבת הפיתוח של מערכת ההפעלה‪ ,‬וניצור מספר‬
‫אפליקציות ייעודיות ל‪.Android-‬‬
‫‪ .2‬מטרות הניסוי‬
‫‪ .2.2‬הכרת מערכת ההפעלה וסביבת העבודה‪.‬‬
‫‪ .2.2‬פתיחת פרויקט חדש‪ ,‬והתנסות באפליקציה ראשונית עם שימוש ב‪.AVD-‬‬
‫‪ .2.2‬כתיבת אפליקציה אינטראקטיבית הכוללת שימוש בספריות הייעודיות‪.‬‬
‫‪ .3‬ספרות מומלצת‬
‫‪.http://www.ee.bgu.ac.il/~adcomplab/androidlab/index.htm‬‬
‫‪ .4‬הציוד הדרוש‬
‫‪ .1.2‬מחשב הכולל ‪ )Java Development Kit( JDK‬ניתן להוריד מהאתר‪:‬‬
‫‪.http://www.oracle.com/technetwork/java/javase/downloads/index.html‬‬
‫‪ .1.2‬הורדת ‪ (Integrated Development Environment) IDE‬מהאתר‬
‫‪https://developer.android.com/sdk/index.html‬‬
‫‪-‬‬
‫כל ההורדות הינן בעלות רישיון חופשי‬
‫‪1/3‬‬
‫מעודכן לסימסטר א' תשע"ו‬
‫‪ .5‬שאלות הכנה‬
‫יש לענות על כל שאלות ההכנה‪:‬‬
‫‪ .5.2‬הסבר את ההבדלים בין קומפילציה של קוד ‪ C‬לבין קומפילציה של קוד ‪– Java‬‬
‫תוצרים‪ ,pre-processor ,‬וכדומה‪.‬‬
‫‪ .5.2‬תן דוגמא לקוד ‪ Java‬אשר מריץ שני תהליכים (‪ )Threads‬אחד אשר סופר מ‪ 2-‬עד ‪20‬‬
‫והשני מ‪ 20-‬עד ‪ .2‬צרף את הקוד ואת הפלט‪.‬‬
‫‪ .5.2‬מנה לפחות ‪ 8‬הבדלים בין שפות התכנות ‪ ++C‬ו‪ .Java-‬התייחס לנושאים הבאים‪:‬‬
‫הורשה‪ ,‬הקצאת זיכרון‪ ,‬שחרור הזיכרון הדינמי‪ ,‬מיקום ה‪ ,main-‬מצביעים וכדומה‪.‬‬
‫‪ .5.1‬הגדר את המושגים הבאים‪:‬‬
‫‪Object, Class, Inheritance, Interface, Method, Package‬‬
‫‪ .6‬מהלך הניסוי‬
‫במחשבי המעבדה נמצאת סביבת העבודה הנקראת ‪ .Eclipse‬פתח פרויקט חדש ולאחר מכן‬
‫התחל במשימות‪ ,‬שים לב במצגת המצורפת למעבדה זו מופיעים הסברים מפורטים כיצד‬
‫לבצע כל אחת מן המשימות‪.‬‬
‫‪ .6.2‬בפרויקט החדש שפתחת‪ ,‬הוסף שני כפתורים בדף ה‪ .XML-‬אחד עבור ‪ Quit‬והשני‬
‫עבור ‪.Start‬בלחיצה על כפתור ה‪ Start-‬היכנס ל– ‪ Activity‬נוסף‪ .‬בלחיצה על כפתור ה‪-‬‬
‫‪ Quit‬הפעל את השיטה )(‪ finish‬על מנת לסגור את האפליקציה‪ .‬הרץ את האפליקציה‬
‫וודא ששני הכפתורים אכן עובדים‪.‬‬
‫‪ .6.2‬בתוך ה‪ Activity-‬החדש שיצרת בסעיף הקודם צייר מלבן בצבע כחול במיקום לבחירתך‬
‫על המסך‪ .‬הוסף ‪ Thread‬שיגרום לכך שהמלבן יחליף צבע בין כחול וצהוב כל שנייה‬
‫בעזרת השיטה ‪ .postInvalidate‬על מנת לבצע מטלה זו עליך להוסיף גם מחלקה שתירש‬
‫ממחלקת ‪.View‬‬
‫‪ .6.2‬השתמש בשיטה )‪ onTouchEvent(MotionEvent e‬על מנת לשנות את מיקום המלבן‬
‫בהתאם למיקום הלחיצה על המסך‪.‬‬
‫‪ .6.1‬הוסף לאפליקציה תמונה של כדור על מנת להחליף את המלבן‪ .‬כמו כן במקום לשנות את‬
‫צבע המלבן‪ ,‬שנה את מיקום הכדור בכל שנייה באופן רנדומאלי‪ .‬שים לב‬
‫)(‪ Math.random‬מחזיר מספר רנדומאלי בתחום )‪ .[0,1‬במידה וזוהתה לחיצה על הכדור‬
‫השמע צליל אזהרה‪.‬‬
‫‪ .6.5‬בדו"ח המסכם יש לענות על שאלות ההכנה‪ ,‬להציג צילומי מסך עבור כל סעיף‪ ,‬ולצרף את‬
‫הקוד של סעיף ‪ 6.1‬במלואו עם הערות‪ .‬שים לב במעבדה זו ישנו ניקוד עבור מקוריות‬
‫עיצוב ויצירתיות‪.‬‬
‫‪2/3‬‬
‫מעודכן לסימסטר א' תשע"ו‬
‫‪ .7‬הציון‬
‫להלן האופן בו יורכב הציון על ניסוי זה‪:‬‬
‫שאלות הכנה‬
‫מהלך הניסוי‬
‫‪20%‬‬
‫‪70%‬‬
‫מטלה ‪6.2‬‬
‫‪25%‬‬
‫מטלה ‪6.2‬‬
‫‪25%‬‬
‫מטלה ‪6.2‬‬
‫‪25%‬‬
‫מטלה ‪6.1‬‬
‫‪25%‬‬
‫דו''ח מסכם‪ ,‬מקוריות‪ ,‬עיצוב‬
‫‪20%‬‬
‫ויצירתיות‬
‫‪20%‬‬
‫‪200%‬‬
‫הגנה‬
‫סה"כ‬
‫בהצלחה !!!‬
‫‪3/3‬‬