יום רביעי, 23 בדצמבר 2009

אנדרואיד - מתחילים

לפני שבועות מספר, כתבתי פה על אנדרואיד, מערכת ההפעלה החדשה לטלפונים סלולריים (ולא רק לטלפונים) מבית גוגל. היום אני מתכוון להסביר, במה פיתוח אפליקציות לאנדרואיד שונה כל-כך בפיתוח אפליקציות למערכות הפעלה אחרות. הפוסט הזה הולך להיות קצת טכני, ולא ידבר למי שאין לו רקע בפיתוח תוכנה - עמכם הסליחה.
אחד היתרונות המרכזיים של אנדרואיד, הוא שהמערכת מאפשרת לי שימוש קל ונכון ברכיבי תוכנה שאינם שייכים לאפליקציה שלי. אחד המאפיינים המרכזים של אנדרואיד, הוא שכל אפליקציה רצה על Virtual Machine משלה ב-Process נפרד, כך שהיא לגמרי לא מודעת לקיומן של אפליקציות אחרות, וודאי שאינה יכולה לחלוק עימן מידע. דומה כי שני המשפטים הקודמים שכתבתי אינם מתיישבים יחדיו היטב, אולם מערכת ההפעלה של אנדרואיד מציעה סט שלם של כלים על מנת לאפשר שיתוף מוגן וקל בין אפליקציות. בפוסט זה ובפוסטים הבאים בנושא, נכיר את הכלים הללו. הבה נתחיל אם כן.
מבנה אפליקציה באנדרואיד, שונה משאר האפליקציות שאולי הכרתם בעבר. בניגוד לרב המוחלט של תוכנות שכתבתם, לאפליקציה באנדרואיד אין פונקצית main. אין נקודת כניסה בודדת לאפליקציה שממנה הכל מתחיל. במקום זאת, יש לנו אוסף של קומפוננטות (מעתה אמור רכיבים) שמערכת ההפעלה יודעת לתקשר איתם. על הרכיבים אנחנו מצהירים בקובץ שנקרא AndroidManifest.
זהו קובץ XML שמכיל את הגדרות האפליקציה, כגון שם, סמליל (אייקון), הרשאות שהאפליקציה דורשת, הרשאות שהיא משתמשת בהם, ועוד. כמו כן, מכיל הקובץ את ההגדרות של כל רכיב שמערכת ההפעלה יכולה להכיר באפליקציה. ישנם 4 רכיבים כאלו: Activity, Service, ContentProvider ו-BroadcastReceiver. עבור כל רכיב, מוגדר כיצד מערכת ההפעלה, או יותר נכון, כיצד רכיבים אחרים באפליקציות אחרות, יכולים להשתמש בשירותיו. הדרך העיקרית להשתמש בשירותי הרכיבים היא באמצעות אובייקט ה-Intent (בתור בוגר בפילוסופיה של השפה, אני חושב שזו בחירת שם מאוד חיננית - אתה מצהיר מה אתה מתכוון לעשות, ורכיבים שמצהירים שהם מממשים את הכוונה שלך, נקראים לעזרתך). על אובייקט זה, נדבר בפוסט הבא בנושא.

אין תגובות:

הוסף רשומת תגובה