לפני שקופצים למים
בכדי שנוכל להתחיל לכתוב אפליקציות ל-Android נדרש ידע קודם בתכנות. שפת הפיתוח שבה אנו כותבים ל-Android היא Java, ולכן ידע קודם נדרש בשפה זו בכדי לפתח לסביבה זו. הבנת התיאוריה הבסיסית כמו ירושה וממשקים גם כן נחוצה.
בנוסף לידע קודם ב-Java יהיה עלינו להכין את סביבת הפיתוח:
- הורדת ה-JDK) Java Development Kit).
- הורדת סביבת הפיתוח – Eclipse.
- הורדת ה-Android SDK.
- הורדת והתקנת ה-ADT Plugin.
יש להתקין את כל אחד ואחד מן הרכיבים הנדרשים למעלה. ישנו מדריך כיצד להתקין את כל ה- SDKבקישור הבא. לאנשים המסתבכים עם ההתקנה יש לעקוב אחר הסירטון הבא:
הערה: בתחילת הווידאו מוצג כיצד להוריד את הרכיבים שציינו למעלה
מונחים ב-Android
אפליקציה המפותחת ב-Android מכילה מספר מרכיבים. כל רכיב בעל תפקיד שונה. אפליקציה מכילה 4 רכיבים ראשיים:
- Activities – הרכיב Activity בעצם מתאר מסך תוכנה. בדיוק כמו שב-.Net WinForm הוא חלון – כך גם Activity. היא מכילה כפתורים, תיבות טקסט ורכיבים שונים אשר מרכיבים אותה. היא זאת המבצעת את האינטראקציה בין המשתמש למערכת ההפעלה (GUI). אנו מעצבים את ה-Activity באמצעות מסמך XML אשר מאפשר לנו לתאר כיצד המסך יראה והיכן יוצבו כל הרכיבים, דבר המזכיר במקצת את WPF. בהמשך המדריך נלמד על מחזור החיים של Activity ונלמד גם כיצד להשתמש בה.
דוגמא ל-Activity |
- Services – או בשמו העברי – שירות . Service נותן מענה לשירות אשר התוכנה שלנו באה לתת. הוא עובד ברקע ואין לו ממשק ממשתמש כמו ב-Activity. דוגמא לשירות היא כאשר אנו שומעים מוסיקה ומשתמשים באפליקציות אחרות באותו הזמן והמוסיקה ממשיכה לנגן ברקע. אפליקציית ה-Music בעצם מריצה שירות ברקע שאחראי לנגן את המוסיקה שאנו רוצים. כאשר אנו לוחצים על לחצן ה-Play באפליקציית ה-Music ה-Activity שמכיל את אותו הלחצן קורא לשירות להתחיל ולנגן מוסיקה.
- Content providers – או בשמו העברי, ספק תוכן מאפשר לנו לנהל מידע משותף בין אפליקציות. התוכן יכול להימצא על המערכת, על מסד נתונים, ברשת וכו… ספקי תוכן אינם בהכרח משותפים ויכולים לשמש גם לשמירת מידע של האפליקציה (כגון הגדרות). דוגמא לספק תוכן היא ספק התוכן של אנשי הקשר על המכשיר. נוכל לכתוב אפליקציה שניגשת לספק התוכן של אנשי הקשר, לקרוא אותו ולשנות אותו.
- Broadcast receivers – הינו רכיב אשר מאפשר לנו להגיב לאירועי מערכת שונים אשר המערכת "כורזת" ברגע שהם מתבצעים. לדוגמא, אם נרצה לכתוב אפליקציה אשר תדליק את מסך הפלאפון כל פעם שהוא נכבה עלינו להשתמש ברכיב ה-Broadcast receiver ולהאזין להודעה זה. ברגע שנקבל הודעה שמסך הפלאפון נכבה, נשלח פקודה להדליק אותו שוב.
רוב האפליקציות מכילות Activity או שילוב של Activity עם Service.
מחלקות חשובות ב-Android
בכדי שנרצה לכתוב אפליקציה מוצלחת ולנצל את כל היכולות הטמונות במערכת עלינו להכיר היטב את סביבת הפיתוח והמחלקות שאיתן נעבוד:
- Intent – אובייקטים מסוג Intent מאפשרים לנו לשלוח הודעות/פקודות למערכת. בעברית Intent אומר "כוונה" – באמצעות אובייקט זה מצהירים על כוונה מסוימת שברצוננו שהמערכת תבצע. Intent מאפשרים לנו להגיד למערכת למשל לפתוח את הדפדפן באתר מסוים, לפתוח Activity נוסף או לדבר עם רכיבים שונים של המערכת. סרטון מעולה שמסביר כיצד להשתמש ב-Intent נמצא בקישור הבא. ניתן להשתמש ב-Intents גם בכדי לשלוח הודעות Broadcast – אפליקציות מאזינות להודעות מסוג זה ומחליטות כיצד להגיב. הערה: במדריך זה לא נשתמש ב-Intents בכדי לשלוח הודעות Broadcast.
- Intent Filter – אובייקטים מסוג IntentFilter מאפשרים לנו להצהיר למערכת לאיזה סוג של "כוונות" האובייקט שלנו (כמו למשל Activity) מוכן להיענות. לדוגמא: כאשר אנו רוצים לפתוח את אפליקציית אנשי הקשר מערכת ה-Android "שולחת" כוונה (Intent) כי היא רוצה להראות למשתמש את אנשי הקשר (המערכת עושה זאת על ידי שימוש ב-Intent). כל האפליקציות אשר נענות לכוונות מסוג זה (על ידי IntentFilter) יענו לה. אם ישנם מספר אפליקציות אשר ביכולתם לענות ל"כוונה" מערכת האנדרואיד תעלה תיבת בחירה שבה על המשתמש יהיה לבחור איזה אפליקציה תפתח. בהמשך המדריך נבין טוב יותר מה הן כוונות.
Android Manifest
כל אפליקציה מכילה קובץ בשם AndroidManifet.xml. מטרת קובץ זה היא לתת מידע למערכת ה-Android לגבי האפליקציה שלנו. קובץ זה מכיל מידע לגבי הרכיבים שהאפליקציה שלנו משתמשת בהם (כגון Activities, Services ועוד), הרשאות שהיא צריכה, הספריות שהתוכנה מקושרת אליהן, ועוד…
אם קובץ זה אינו מצהיר על רכיבים מסוימים או הרשאות מסוימות שהתוכנה צריכה – מערכת ה-Android פשוט לא תיתן לאפליקציה גישה לאותם רכיבים/הרשאות דבר אשר עלול להסתיים בשגיאה או קריסה של התוכנה. ניתן לקרוא עוד על קובץ זה בעמוד הבא.
האימולטור – Android Virtual Device
עם ה-SDK מצורף אימולטור. האימולטור מאפשר לנו להריץ את מערכת ה-Android על המחשב מבלי הצורך אפילו להחזיק במכשיר אמיתי. ה-SDK מספק לנו כלי בשם AVD Manager (Android Virtual Device Manager). כלי זה מאפשר לנו ליצור, לנהל ולהריץ מכשירים ווירטואלים.
היתרונות במכשירים הווירטואלי מלבד אי הצורך להריץ את התוכנה על מכשיר אמיתי היא בכך שנוכל להריץ אותו על מכשירים שונים המריצים גרסא שונה של מערכת ההפעלה או רזולוציה שונה. כך נוכל לוודא שהתוכנה שלנו רצה בצורה אופטימאלית על מגוון רב של מכשירים. כמובן, שהפתרון הטוב ביותר הוא הרצת התוכנה על המכשיר האמיתי.
המדריך הבא מסביר כיצד ניתן ליצור מכשיר ווירטואלי. צרו מכשיר ווירטואלי זאת מפני שנצטרך בהמשך להשתמש בו.
מכשיר ווירטואלי – הצד הימני מתאר את לחצני המכשיר בעוד הצד השמאלי מציג את מסך המכשיר |
הרצת האפליקציה על מכשיר פיזי
ניתן להריץ את האפליקציה על המכשיר שלנו בקלות רבה על ידי הפעלת USB Debugging. המכשיר חייב להיות מחובר למחשב. ניתן להפעיל USB Debugging באמצעות המדריך הבא. אם עקבנו אחרי המדריך כמו שצריך, כאשר נרצה להריץ את האפליקציה נוכל לבחור את הפלאפון שלנו.
אם במהלך המדריך אינכם מצליחים להריץ את האפליקציה על המכשיר נסו לעקוב אחר המדריך הרשמי.
מדריך איכותי בטירוף
תודה רבה!!
כל הכבוד
סוף סוף מדריך מ- א ועד ת.
מדריך מעולה !
ממש מדריך טוב ! תודה !
תודה@
נהדר תודה לך
איזה מקצוענות…כל הכבוד !
מדריך מעולה!
קצר וקולע, כל הכבוד!
הורדה של הכתבה ?
אפשר להוריד את הכתבה בפורמט pdf ?
כל הכבוד.
דרך אגב מישהו פעם ניסה לפתח עם flex?
זה מומלץ?
שי, יש אפשרות ליצור איתך קשר במייל?
אם כן, אשמח אם תשלח לי מייל לכתובת הבאה: [email protected]
אני זקוק לעזרה קטנה, שאני מאמין שלא תיהיה לך בעיה מיוחדת לעזור בה, תודה.
פששש
אחלה, כל הכבוד על ההשקעה.
hwzone – תמשיכו להביא כאלו כתבות !
מדריך מצויין אך
רק דבר אחד חסר לי וזה הסבר על google adsense ואיך משתמשים ומשלבים באפליקציה.
תותחים!!
כל הכבוד לhwzone תמשיכו להפציץ במדריכים מעולים!!
שאלה
לא הבנתי מאיפה מחלצים את resources.rar
קישור
איפה הקישור למדריך ?
מדריך מושקע לפיתוח אפליקציות
כל הכבוד על המדריך
רעיון לאפליקציה
שלום יש לי רעיון.
אפליקציה בשם המשמרת שלי . האפליקציה חיונית כיום בכל מפעל שמכבד את עצמו.כולנו בעלי סמארטפונים , אנחנו רוצים כל יום לדעת את המשמרת שלנו בעבודה . האפליקציה שאני בונה תסונכרן מול מחשבי החברה ותתריע על כל משמרת שאתה עושה. באיזה שעה מתחילה ובאיזה מסתיימת . שעת איסוף ועוד .. איזה משכורת אתה מקבל , כמה שעות אתה עובד. כמה % יש תוספת , מי שמעוניין לבנות איתי את האפילקציה ולהתחלק ברווחים שייצור קשר.
מדריך מצויין !!יש אפשרות ליצור איתך קשר?
שי אשמח אם תיצור איתי קשר במייל יש לי כמה שאלות ואשמח אם תוכל לעזור לי
[email protected]
בעניין תוכנת הeclipse
מלבד החלון הראשי שנוצר עם הפרויקט שלנו (MainActivity) אשר יכיל את התפריט הראשי של המשחק, ניצור חלון נוסף אשר יכיל את המשחק עצמו.
נעשה זאת על ידי העתקת קובץ ה-MainActivity ושינוי שמו ל-GameActivity. כעת נעשה את אותו הדבר לקובץ ה-main.xml שבתיקיית ה-reslayout ונקרא לו game.xml.
אני חייב עזרה בזה לא הבנתי איזה קובץ בדיוק להעתיק מאיפה ולאיפה אשמח למי שיעזור לי . המייל שלי [email protected] תודה
כל הכבוד!!!! מאמר מעולה.
מדריך טוב,
אבל הקבצים להורדה לא עובדים.
אם אפשר לסדר/יש למישהו ויכול להעלות שוב…
תודה!