‫Android Kotlin Fundamentals 01.1: תחילת העבודה

ה-codelab הזה הוא חלק מהקורס Android Kotlin Fundamentals. כדי להפיק את המרב מהקורס הזה, מומלץ לעבוד על ה-codelabs לפי הסדר. כל ה-codelab של הקורס מפורטים בדף הנחיתה של ה-codelab בנושא יסודות Kotlin ל-Android.

מבוא

ב-codelab הזה תיצרו ותפעילו את אפליקציית Android הראשונה שלכם, HelloWorld, באמולטור ובמכשיר פיזי. בנוסף, תוכלו לראות איך נראה פרויקט Android.

מה שכדאי לדעת

  • חשוב להבין את תהליך פיתוח התוכנה הכללי לאפליקציות מונחות-אובייקטים באמצעות סביבת פיתוח משולבת (IDE) כמו Android Studio.
  • צריך להיות לכם ניסיון של שנה לפחות בתכנות מונחה-עצמים, עם הבנה לפחות של Java ו-Kotlin.

מה תלמדו

  • איך ליצור אפליקציה בסיסית ל-Android ב-Android Studio.
  • איך יוצרים פרויקט Android מתבנית.
  • איך מוצאים את הרכיבים העיקריים של פרויקט Android.
  • איך מריצים אפליקציית Android באמולטור או במכשיר פיזי.

מה עושים

  • יוצרים פרויקט חדש ל-Android ואפליקציית ברירת מחדל בשם HelloWorld.
  • ליצור אמולטור (מכשיר וירטואלי) כדי להריץ את האפליקציה במחשב.
  • מריצים את אפליקציית HelloWorld במכשירים וירטואליים ופיזיים.
  • עיון בפריסת הפרויקט.
  • עיין בקובץ AndroidManifest.xml.

האפליקציה HelloWorld מציגה את המחרוזת Hello World במסך של מכשיר וירטואלי או פיזי של Android. כך נראית האפליקציה:

במשימה הזו יוצרים פרויקט אפליקציה חדש כדי לוודא ש-Android Studio מותקן בצורה נכונה.

  1. פותחים את Android Studio אם הוא עדיין לא פתוח.
  2. בתיבת הדו-שיח הראשית Welcome to Android Studio (ברוכים הבאים ל-Android Studio), לוחצים על Start a new Android Studio project (התחלת פרויקט חדש ב-Android Studio).

  3. מופיעה תיבת הדו-שיח Choose your project . בוחרים באפשרות Empty Activity (פעילות ריקה) כמו שמוצג למטה, ולוחצים על Next (הבא).



    Activity היא דבר יחיד וממוקד שהמשתמש יכול לעשות. לכל אפליקציה חייבת להיות פעילות אחת לפחות כנקודת כניסה. אפשר לחשוב על הפעילות הזו כנקודת כניסה, כמו הפונקציה main() בתוכנות אחרות. לפעילות בדרך כלל משויך פריסת רכיבים שמגדירה איך רכיבים של ממשק המשתמש (UI) מופיעים במסך. ב-Android Studio יש כמה Activity תבניות שיעזרו לכם להתחיל.
  4. בתיבת הדו-שיח Configure your project , מזינים "HelloWorld" בשדה Name.

  5. מקבלים את ברירת המחדל android.example.com עבור דומיין החברה, או יוצרים דומיין חברה ייחודי. הערך הזה בתוספת שם האפליקציה הוא שם החבילה של האפליקציה. אם אתם לא מתכננים לפרסם את האפליקציה, אפשר לאשר את ברירת המחדל. אפשר לשנות את שם החבילה של האפליקציה מאוחר יותר, אבל זה דורש עבודה נוספת.
  6. בודקים שמיקום השמירה שמוגדר כברירת מחדל הוא המיקום שבו רוצים לאחסן את האפליקציה. אם לא, משנים את המיקום לספרייה המועדפת.
  7. מוודאים שהשפה היא Kotlin.
  8. מוודאים שרמת ה-API המינימלית היא API 19: Android 4.4 (KitKat). בזמן כתיבת ה-codelab הזה, ‏ Android Studio ציין שברמת ה-API הזו, האפליקציה תפעל בכ-95.3% מהמכשירים.
    (מידע נוסף על רמות API מינימליות מופיע ב-codelab מאוחר יותר. כדי לקבל מידע נוסף, לוחצים על עזרה בבחירה. ייפתח חלון עם מידע על רמות ה-API.)
  9. מסמנים את התיבה Use AndroidX artifacts (שימוש בארטיפקטים של AndroidX).
  10. משאירים את כל שאר תיבות הסימון לא מסומנות ולוחצים על סיום. אם הפרויקט שלכם דורש רכיבים נוספים ל-SDK היעד שבחרתם, Android Studio מתקין אותם באופן אוטומטי, וזה עשוי לקחת זמן. פועלים לפי ההנחיות ומאשרים את אפשרויות ברירת המחדל.

‫Android Studio יוצר עכשיו את הפרויקט, והתהליך הזה יכול להימשך זמן מה. לא אמורות להופיע שגיאות. אם מופיעות אזהרות, מתעלמים מהן.

במשימה הזו תכירו את הפרויקט HelloWorld ב-Android Studio ותלמדו את היסודות של פיתוח באמצעות Android Studio.

שלב 1: בודקים את חלונית הפרויקט

  1. אם הכרטיסייה Project (פרויקט) לא נבחרה, בוחרים אותה. הכרטיסייה Project נמצאת בעמודה של הכרטיסיות האנכיות בצד ימין של חלון Android Studio. החלונית 'פרויקט' נפתחת.


  2. כדי להציג את הפרויקט כהיררכיית פרויקט רגילה של Android, בוחרים באפשרות Android מהתפריט הנפתח בחלק העליון של חלונית הפרויקט. (Android היא ברירת המחדל). אפשר לראות את קובצי הפרויקט בדרכים רבות ושונות, כולל הצגת הקבצים כמו שהם מופיעים בהיררכיית מערכת הקבצים. עם זאת, קל יותר לעבוד על הפרויקט באמצעות התצוגה של Android.

שלב 2: עיון בתיקיית האפליקציה

כל הקוד והמשאבים של האפליקציה נמצאים בתיקייה app.

  1. בחלונית Project > Android (פרויקט > Android), מרחיבים את התיקייה app (אפליקציה). בתוך התיקייה app יש ארבע תיקיות משנה: manifests,‏ java,‏ generatedJava ו-res.
  2. מרחיבים את התיקייה java, ואז מרחיבים את התיקייה com.example.android.HelloWorld כדי לראות את קובץ ה-Kotlin‏ MainActivity.



    התיקייה java מכילה את כל קוד ה-Kotlin הראשי של אפליקציית Android. יש סיבות היסטוריות לכך שקוד ה-Kotlin מופיע בתיקייה java. המוסכמה הזו מאפשרת ל-Kotlin לפעול בצורה חלקה עם קוד שנכתב בשפת התכנות Java, גם באותו פרויקט ובאותה אפליקציה.

    קבצי המחלקה של האפליקציה נמצאים בשלוש תיקיות משנה, כמו שמוצג באיור שלמעלה. התיקייה com.example.hello.helloworld (או שם הדומיין שציינתם) מכילה את כל הקבצים של חבילת האפליקציה. בפרט, המחלקה MainActivity היא נקודת הכניסה הראשית לאפליקציה. מידע נוסף על MainActivity מופיע במעבדת הקוד הבאה. שתי התיקיות האחרות בתיקייה java משמשות לקוד שקשור לבדיקות, כמו בדיקות יחידה.
  1. שימו לב לתיקייה generatedJava. התיקייה הזו מכילה קבצים ש-Android Studio יוצרת כשהיא בונה את האפליקציה. אל תערכו שום דבר בתיקייה הזו, כי יכול להיות שהשינויים שלכם יוחלפו כשתבנו מחדש את האפליקציה. עם זאת, כדאי לדעת על התיקייה הזו כשאתם צריכים לבדוק את הקבצים האלה במהלך ניפוי באגים.

שלב 3: עיון בתיקיית res

  1. בחלונית Project > Android, מרחיבים את התיקייה res.

    התיקייה res מכילה משאבים. משאבים ב-Android הם תוכן סטטי שמשמש באפליקציות. המשאבים כוללים תמונות, מחרוזות טקסט, פריסות מסך, סגנונות וערכים כמו צבעים הקסדצימליים או מידות סטנדרטיות.

    באפליקציות ל-Android, הקוד של Kotlin והמשאבים מופרדים ככל האפשר. כך קל יותר למצוא את כל המחרוזות או הסמלים שמשמשים בממשק המשתמש של האפליקציה. בנוסף, כשמשנים אחד מקובצי המשאבים האלה, השינוי נכנס לתוקף בכל מקום שבו הקובץ נמצא בשימוש באפליקציה.
  2. בתיקייה res, מרחיבים את התיקייה layout כדי לראות את הקובץ activity_main.xml.


ה-Activity בדרך כלל משויך לקובץ פריסת ממשק משתמש, שמוגדר כקובץ XML בספרייה res/layout. קובץ הפריסה הזה נקרא בדרך כלל על שם הפעילות שלו. במקרה הזה, שם הפעילות הוא MainActivity, ולכן הפריסה המשויכת היא activity_main.

שלב 4: בודקים את התיקייה manifests ואת הקובץ AndroidManifest.xml

התיקייה manifests מכילה קבצים שמספקים למערכת Android מידע חיוני על האפליקציה.

  1. מרחיבים את התיקייה manifests ולוחצים לחיצה כפולה על AndroidManifest.xml כדי לפתוח אותו. הקובץ AndroidManifest.xml כולל פרטים שמערכת Android צריכה כדי להריץ את האפליקציה, כולל הפעילויות שכלולות באפליקציה.


  2. שימו לב שההפניה אל MainActivity מופיעה ברכיב <activity>. כל Activity באפליקציה חייב להיות מוצהר במניפסט. לדוגמה, עבור MainActivity:
<activity android:name=".MainActivity">
   <intent-filter>
       <action android:name="android.intent.action.MAIN"/>

       <category android:name="android.intent.category.LAUNCHER"/>
   </intent-filter>
</activity>
  1. שימו לב לאלמנט <intent-filter> בתוך <activity>. רכיבי <action> ו-<category> במסנן הכוונות הזה מציינים ל-Android איפה להתחיל את האפליקציה כשהמשתמש לוחץ על סמל מרכז האפליקציות. ב-codelab מאוחר יותר תוכלו לקבל מידע נוסף על מסנני כוונות.

בנוסף, בקובץ AndroidManifest.xml מגדירים את ההרשאות שהאפליקציה צריכה. ההרשאות כוללות את היכולת של האפליקציה לקרוא את אנשי הקשר בטלפון, לשלוח נתונים באינטרנט או לגשת לחומרה כמו המצלמה של המכשיר.

‫Gradle היא מערכת אוטומטית לבנייה שמשתמשת בשפה ספציפית לדומיין כדי לתאר את מבנה הפרויקט, ההגדרות והתלות של האפליקציה. כשמבצעים קומפילציה של האפליקציה ומריצים אותה, מוצג מידע על גרסת ה-build של Gradle שפועלת. מוצג גם מידע על חבילת האפליקציה ל-Android ‏ (APK) שמותקנת. (APK הוא פורמט קובץ החבילה שבו משתמשת מערכת ההפעלה Android כדי להפיץ ולהתקין אפליקציות לנייד).

כדאי לעיין במערכת Gradle:

  1. מרחיבים את התיקייה Gradle Scripts. בחלונית Project > Android, התיקייה הזו מכילה את כל הקבצים שמערכת ה-build צריכה.


  2. מחפשים את הקובץ build.gradle(Project: HelloWorld).

    הקובץ הזה מכיל את אפשרויות ההגדרה שמשותפות לכל המודולים שמרכיבים את הפרויקט. כל פרויקט ב-Android Studio מכיל קובץ Gradle build יחיד ברמה העליונה. הקובץ הזה מגדיר את המאגרים ואת יחסי התלות של Gradle שמשותפים לכל המודולים בפרויקט.
  3. מחפשים את הקובץ build.gradle(Module:app).

    בנוסף לקובץ build.gradle ברמת הפרויקט, לכל מודול יש קובץ build.gradle משלו. קובץ build.gradle ברמת המודול מאפשר להגדיר את הגדרות ה-build לכל מודול. (לאפליקציית HelloWorld יש רק מודול אחד, המודול של האפליקציה עצמה). קובץ build.gradle הוא הקובץ שאתם עורכים הכי הרבה כשאתם משנים הגדרות של גרסת build ברמת האפליקציה. לדוגמה, עורכים את הקובץ build.gradle הזה כשמשנים את רמת ה-SDK שהאפליקציה תומכת בה, או כשמצהירים על תלות חדשה בקטע dependencies. ב-codelab מאוחר יותר תמצאו מידע נוסף על שני הדברים האלה.

במשימה הזו, משתמשים במנהל המכשירים הווירטואליים (AVD) של Android כדי ליצור מכשיר וירטואלי (אמולטור). המכשיר הווירטואלי מדמה את ההגדרה של סוג מסוים של מכשיר Android. אחר כך משתמשים במכשיר הווירטואלי כדי להריץ את האפליקציה.

‫Android Emulator היא אפליקציה עצמאית, ויש לה דרישות מערכת משלה. מכשירים וירטואליים יכולים לתפוס הרבה מקום בדיסק. נתקלתם בבעיות? כדאי לעיין במאמר בנושא הפעלת אפליקציות ב-Android Emulator.

שלב 1: יצירת מכשיר וירטואלי של Android‏ (AVD)

כדי להריץ אמולטור במחשב, צריך ליצור הגדרה שמתארת את המכשיר הווירטואלי.

  1. ב-Android Studio, בוחרים באפשרות Tools > AVD Manager או לוחצים על סמל AVD Managerסמל AVD Manager בסרגל הכלים. מופיעה תיבת הדו-שיח Your Virtual Devices . אם כבר יצרתם מכשירים וירטואליים, הם יוצגו בתיבת הדו-שיח (כמו שמוצג באיור שלמטה). אחרת, תופיע רשימה ריקה.

    כלי Android Virtual Device (AVD) Manager שמציג רשימה של מכשירים וירטואליים שכבר נוצרו
  2. בפינה הימנית התחתונה של תיבת הדו-שיח, לוחצים על +יצירת מכשיר וירטואלי. מופיעה תיבת הדו-שיח Select Hardware (בחירת ציוד), שבה מוצגת רשימה של מכשירי ציוד שהוגדרו מראש. לכל מכשיר, בטבלה מופיעות עמודות עם גודל המסך באלכסון (גודל), רזולוציית המסך בפיקסלים (רזולוציה) ודחיסות הפיקסלים (דחיסות).

    בחירת הציוד
  3. בוחרים מכשיר כמו Nexus 5x או Pixel XL ולוחצים על הבא. מופיעה תיבת הדו-שיח System Image .
  4. לוחצים על הכרטיסייה מומלץ ובוחרים איזו גרסה של מערכת Android להפעיל במכשיר הווירטואלי (למשל Pie).


  1. אחרי שבוחרים תמונת מערכת, לוחצים על הבא. תיבת הדו-שיח Android Virtual Device (AVD) תיפתח. בודקים את ההגדרות ולוחצים על סיום.

שלב 2: מריצים את האפליקציה במכשיר הווירטואלי

במשימה הזו מריצים את האפליקציה החדשה.

  1. ב-Android Studio, בוחרים באפשרות Run > Run app או לוחצים על סמל Run Run app או לוחצים על סמל ההרצה [ICON HERE] בסרגל הכלים. ‫[IMAGEINFO]: ic_run.png, Android Studio Run icon" style="width: 24.00px" src="img/6c65750f2ce7f651.png"> בסרגל הכלים. מופיעה תיבת הדו-שיח בחירת יעד פריסה עם אזהרה על כך שאין מכשירים זמינים. האזהרה הזו מוצגת אם אין לכם מכשיר פיזי שמחובר למחשב הפיתוח, או אם עדיין לא הפעלתם מכשיר וירטואלי.
  2. בתיבת הדו-שיח Select Deployment Target (בחירת יעד פריסה), בקטע Available Virtual Devices (מכשירים וירטואליים זמינים), בוחרים את המכשיר הווירטואלי שיצרתם. לוחצים על אישור.



    האמולטור מתחיל ומבצע אתחול כמו מכשיר פיזי. התהליך הזה עשוי להימשך זמן מה, בהתאם למהירות המחשב. האפליקציה עוברת build, וכשהאמולטור מוכן, Android Studio מעלה את ה-APK של האפליקציה לאמולטור ומריץ אותה.

    אפליקציית HelloWorld אמורה להופיע כמו באיור הבא.

במשימה הזו, מריצים את האפליקציה במכשיר נייד פיזי, כמו טלפון או טאבלט, אם יש לכם מכשיר כזה. חשוב לבדוק את האפליקציות גם במכשירים וירטואליים וגם במכשירים פיזיים.

מה שדרוש לך:

  • מכשיר Android, כמו טלפון או טאבלט.
  • כבל USB להעברת נתונים כדי לחבר את מכשיר Android למחשב דרך יציאת ה-USB.
  • אם אתם משתמשים במערכת Linux או Windows, יכול להיות שתצטרכו לבצע שלבים נוספים. מידע נוסף על הפעלת אפליקציות במכשיר חומרה יכול להיות שתצטרכו גם להתקין את מנהל התקן ה-USB המתאים למכשיר שלכם. למנהלי התקנים USB מבוססי Windows, אפשר לעיין במאמר בנושא התקנה של מנהלי התקנים USB של OEM.

שלב 1: מפעילים את ניפוי הבאגים ב-USB

כדי לאפשר ל-Android Studio לתקשר עם מכשיר Android, צריך להפעיל את ניפוי הבאגים ב-USB בהגדרות אפשרויות למפתחים של המכשיר.

ב-Android 4.2 (Jellybean) ומעלה, ההגדרות של אפשרויות למפתחים מוסתרות כברירת מחדל. כדי להציג את האפשרויות למפתחים ולהפעיל ניפוי באגים ב-USB:

  1. במכשיר, פותחים את ההגדרות, מחפשים את האפשרות מידע על הטלפון, מקישים עליה ואז מקישים על מספר גרסת ה-Build שבע פעמים.
  2. חוזרים לדף הקודם (הגדרות / מערכת). אפשרויות למפתחים מופיעות ברשימה. מקישים על אפשרויות למפתחים.
  3. בוחרים באפשרות ניפוי באגים ב-USB.

שלב 2: מריצים את האפליקציה במכשיר Android

עכשיו אפשר לחבר את המכשיר ולהפעיל את האפליקציה מ-Android Studio.

  1. מחברים את מכשיר Android למכונת הפיתוח באמצעות כבל USB. במכשיר אמורה להופיע תיבת דו-שיח עם בקשה לאשר ניפוי באגים ב-USB.


  2. בוחרים באפשרות תמיד מותר כדי שהמחשב הזה יישמר. מקישים על אישור.
  3. במחשב, בסרגל הכלים של Android Studio, לוחצים על לחצן ההפעלה סמל ההפעלה של Android Studio. תיבת הדו-שיח Select Deployment Target (בחירת יעד פריסה) נפתחת עם רשימת האמולטורים הזמינים והמכשירים המחוברים. המכשיר הפיזי שלכם אמור להופיע לצד כל האמולטורים.


  4. בוחרים את המכשיר ולוחצים על אישור. ‫Android Studio מתקין את האפליקציה במכשיר ומריץ אותה.

פתרון בעיות

אם Android Studio לא מזהה את המכשיר, אפשר לנסות את הפעולות הבאות:

  1. מנתקים את כבל ה-USB ומחברים אותו מחדש.
  2. מפעילים מחדש את Android Studio.

אם המחשב עדיין לא מוצא את המכשיר או שהוא מודיע שהמכשיר לא מורשה, צריך לפעול לפי השלבים הבאים:

  1. מנתקים את כבל ה-USB.
  2. במכשיר, פותחים את אפשרויות למפתחים באפליקציית ההגדרות.
  3. מקישים על ביטול הרשאות לניפוי באגים ב-USB.
  4. מחברים מחדש את המכשיר למחשב.
  5. כשמוצגת בקשה, מאשרים את ההרשאות.

יכול להיות שתצטרכו להתקין את מנהל התקן ה-USB המתאים למכשיר. איך מריצים אפליקציות במכשיר חומרה

אתגר: עכשיו, אחרי שהגדרתם את הסביבה והכרתם את תהליך העבודה הבסיסי לפיתוח, אתם יכולים:

  1. יוצרים פרויקט חדש ב-Android Studio.
  2. משנים את הפתיח Hello World ל-Happy Birthday to ואת השם של מישהו שחגג יום הולדת לאחרונה.
  • כדי להתקין את Android Studio, עוברים אל Android Studio ופועלים לפי ההוראות להורדה ולהתקנה.
  • כדי לראות את ההיררכיה של אפליקציית Android בחלונית Project, לוחצים על הכרטיסייה Project בעמודה של הכרטיסיות האנכיות. לאחר מכן בוחרים באפשרות Android בתפריט הנפתח בחלק העליון.
  • כשצריך להוסיף תלויות חדשות לפרויקט או לשנות את הגרסאות של התלויות, עורכים את הקובץ build.gradle(Module:app).
  • כל הקוד והמשאבים של האפליקציה נמצאים בתיקיות app ו-res. התיקייה java כוללת פעילויות, בדיקות ורכיבים אחרים בקוד מקור של Kotlin או Java (או שניהם). בתיקייה res יש משאבים כמו פריסות, מחרוזות ותמונות.
  • כדי להוסיף תכונות, רכיבים והרשאות לאפליקציית Android, עורכים את הקובץ AndroidManifest.xml. כל רכיבי האפליקציה, כמו פעילויות נוספות, צריכים להיות מוצהרים בקובץ ה-XML הזה.
  • כדי ליצור מכשיר וירטואלי של Android (אמולטור) להרצת האפליקציה, משתמשים בAVD Manager.
  • כדי להריץ את האפליקציה במכשיר Android פיזי באמצעות Android Studio, צריך להפעיל במכשיר את האפשרות 'ניפוי באגים באמצעות USB'. כדי לעשות זאת, פותחים את הגדרות > מידע על הטלפון ומקישים על מספר Build שבע פעמים. לאחר מכן פותחים את הגדרות > אפשרויות למפתחים ובוחרים באפשרות ניפוי באגים ב-USB.

קורס ב-Udacity:

מסמכי תיעוד של Android Studio:

אחר:

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

  • אם צריך, מקצים שיעורי בית.
  • להסביר לתלמידים איך להגיש מטלות.
  • בודקים את שיעורי הבית.

אנשי ההוראה יכולים להשתמש בהצעות האלה כמה שרוצים, ומומלץ להם להקצות כל שיעורי בית אחרים שהם חושבים שמתאימים.

אם אתם עובדים על ה-codelab הזה לבד, אתם יכולים להשתמש במשימות האלה כדי לבדוק את הידע שלכם.

פיתוח והרצה של אפליקציה

  • יוצרים פרויקט חדש ל-Android מהתבנית הריקה.
  • פותחים את הקובץ res/strings.xml.
  • משנים את הערך של המחרוזת app_name ל-My Dice Roller. השם הזה מופיע בסרגל הכותרת.
  • יוצרים אמולטור למכשיר, מכוונים לכל גרסה של Android שרוצים ומריצים את האפליקציה. שימו לב איך השם של האפליקציה השתנה.

עונים על השאלות הבאות

שאלה 1

מה השם של קובץ הפריסה של הפעילות הראשית?

  • MainActivity.java
  • AndroidManifest.xml
  • activity_main.xml
  • build.gradle

שאלה 2

מהו השם של משאב המחרוזת שמציין את שם האפליקציה?

  • app_name
  • xmlns:app
  • android:name
  • applicationId

שאלה 3

באיזה כלי השתמשת כדי ליצור אמולטור חדש?

  • Android Device Monitor
  • AVD Manager
  • SDK Manager
  • עורך העיצובים

שליחת האפליקציה למתן ציון

בודקים שהאפליקציה כוללת את הדברים הבאים:

  • Activity שמציג את הטקסט Hello World על המסך.
  • סרגל כותרת עם הכיתוב My Dice Roller (הטלת קובייה).

לשיעור הבא: ‫1.2: מבנה בסיסי של אפליקציה

קישורים ל-codelabs אחרים בקורס הזה מופיעים בדף הנחיתה של ה-codelabs בנושא יסודות Android Kotlin.