מדריך | המדריך המלא לבניית אפליקציות אנדרואיד
-
בעריכה:
אז קיבלת החלטה שאתה רוצה לדעת לבנות אפליקציות איך מתחילים
ישנן שני סוגים עיקריים של אפליקציות אנדרואיד למובייל:
אפליקציות מובייל פונקציונליות: אפליקציות שפועלות על המכשיר עצמו ומשתמשות באמצעי החומרה והתכנה של המכשיר, כמו מצלמה, מיקרופון ומיקום גיאוגרפי. בניית אפליקציות מקומיות נעשית באמצעות שפות תכנות כמו Java עבור Android ו-Swift עבור iOS.
אפליקציות משחקי ודיאו
אפליקציות מהסוג הזה שונות מבניה רגילה של אפליקציות ומקובל ליצור אותם באמצעות הפלטפורמה של Unity
unity הוא כלי עוצמתי המאפשר ליצור מודלים תלת מימדים בצורה מקומים ולחבר לזה קוד בשפת c# או Javaאפליקציות מובייל מבוססות ווב: אפליקציות שמבוססות על טכנולוגיות ווב אפליקציות מובייל ווב נבנות באמצעות שפות תכנות כמו HTML, CSS ו-JavaScript, ואפשר לשים בשימוש מסגרות עבור אפליקציות ווב כמו React Native או Flutter.
העיקרון של בניית אפליקציות כאלה היא ליצור אפליקציות חוצות פלטפורמות דהיינו crome,ios,androidהמדריך יתמקד בעיקר באפליקציות פונקציונליות
-
סביבת פיתוח
סביבת הפיתוח המקובלת והמומלצת ביותר לבניית אפליקציית אנדרואיד היא Android Studio
אנדרואיד סטודיו (באנגלית: Android Studio) הוא סביבת הפיתוח המשולבת הרשמית (IDE) עבור מערכת ההפעלה אנדרואיד של גוגל, הבנויה על תוכנת IntelliJ IDEA של JetBrains ותוכננה במיוחד לפלטפורמה של אנדרואיד , הוא זמין להורדה ברוב מערכות ההפעלה, בהן Windows, MacOS ולינוקס
הורדה רישמית לאנדרואיד סטודיו כאןשימו לב
לאחר ההתקנה של אנדרואיד סטודיו מומלץ להיות עם אינטרנט עם קליטה איכותית מכיוון
שצריך להוריד מספר דברים יחסית כבדים כמו SDK ו Gradleהערה חשובה
אם אתם משתמשים באינטרנט עם סינון כדוגמת נטפרי יש להתקין תעודת אבטחה במיוחד לאנדרואיד סטודיו למדיך לביצוע הפעולה יש לעיין כאן -
התחלת עבודה
כמה הסברים על פעולות בסיסיות
פתיחת פרוייקט -אפליקציה חדשה
File>New>New projectטעינת פרוייקט קיים
File>New>Import projectטעינת פרוייקט שכבר פתחתם בעבר
File>Open Recentיצירת קובץ APK
התקנה ישירות למכשיר מחובר למחשב עם ניפוי באגים מופעל
חץ ירוק במסך למעלה Run
יצירת קובץ Apk נייד
Bulid>Bulid Bundle(s)
ואז Build apk<
בסיום הקימפול תראו יקפוץ לכם הודעה קטנה למטה תלחצו בהודעה כל המילה locate
יפתח לכם התקייה שם יהיה קובץ בשם app-debug זה הקובץ של האפליקציה שלכם -
כמה דברים חשובים בעת פתיחת פרוייקט חדש
1.
בפתיחת פרוייקט חדש יהיה לכם אפשרות לבחור את סוג המסך הראשון שיהיה באפליקציה
מומלץ לבחור בEmpty Views Activity2.
שימו לב בעת יצירת הפרוייקט לפני שאתם לוחצים על פיניש לבחור את השפה בה אתם רוצים לבנות את האפליקציה דהיינו או java או kotlin3.
לבחור מאיזה אנדרואיד האפליקציה שלכם תתמוך בשורה Minimum SDK4.
שימו לב אם חשוב לכם שם חבילה מסויים להגדיר לאפליקציה בשורה package nameאם אתם מתכננים להעלות את האפליקציה לגוגל פליי תשנו גם את השם ברירת מחדל השני דהיינו example מכיוון שגוגל פליי מגבילים את השם חבילה הזה
-
קצת הסבר על מבנה אפליקציה
כל אפליקציה מכילה מבנה ברור של קבצים ותקיות ולכל אחד תפקיד מיוחד
אשתדל לסקור את עקרי הדברים1. קובץ AndroidManifest.xml
קובץ זה הוא קובץ התצורה הראשי של אפליקציית אנדרואיד. הוא מכיל מידע על האפליקציה כולה, כולל את שמה, גירסתה, אייקון של האפליקציה, הרשאות הגישה הנדרשות,
ומידע נוסף הקשור להגדרות התצורה הכלליות של האפליקציה.כל אינטרקציה שאנחנו עושים עם הapi של אנדרואיד מחייב הצהרה על כך בקובץ הזה
לדוגמה אם נרצה שהאפליקציה תקבל גישה לאינטרנט נוסיף את ההרשאה הבאה<uses-permission android:name="android.permission.INTERNET" />
שימו לב יש הרשאות שמספיק להצהיר עליהם במניפסט ויש הרשאות שצריך לבקש מהמשתמש לאשר אותם אולי בהמשך אני יאריך קצת יותר בנושא
2. תקיית res
תקיית "res" היא תיקיית מרכזית במבנה אפליקציות האנדרואיד, המכילה משאבים ותצורות שונות שמשמשות לתצוגה ולתהליכים גרפיים בתוך האפליקציה. במאמר זה, נתמקד בתתי התיקיות הראשיות בתוך תקיית "res" ונסביר את תפקידם של כל תתי התיקיות הללו.
-
תקיית "drawable" מכילה קבצים המשמשים להצגת תמונות וגרפיקות באפליקציה. כאשר תמונה מועברת לתקיית זו, ניתן להשתמש בה כרקורס משאבים במערכת הפריסה ובקוד המקור של האפליקציה. התמונות יכולות להיות בפורמטים שונים כמו PNG, JPEG או GIF.
תקיית layout: -
תקיית "layout" מכילה קבצי XML המשמשים להגדרת מראה ומבנה הממשק המשתמש (UI) של האפליקציה. בתוך תקיית זו מאוחסנים קבצי XML שמתארים את המראה של מסך התצוגה השונים באפליקציה. הקבצים מגדירים את הרכיבים הגרפיים כמו כפתורים, שדות טקסט, תמונות וכו'.
-
תקיית "values" מכילה קבצי XML שמשמשים להגדרת ערכים שונים באפליקציה. לדוגמה, קובץ "strings.xml" מכיל מחרוזות המשמשות להצגת טקסט בממשק המשתמש. קובץ "colors.xml" מגדיר צבעים, קובץ "dimens.xml" מגדיר מידות, וקובץ "styles.xml" מכיל הגדרות סגנון שיכולות להיות מוגדרות על מנת לשנות את המראה הכללי של האפליקציה.
-
תקיית "menu" משמשים קבצי XML שמגדירים את תפריט האפליקציה. כאן ניתן להגדיר פריטים בתפריט, כמו אייקונים, טקסטים ופעולות שיתבצעו בלחיצה על הפריטים המתאימים.
-
תקיית "xml" מכילה קבצי XML שונים שמשמשים להגדרות ולתצורה נוספת באפליקציה. כאן ניתן למצוא קבצים כמו קובצי תצורת מבנה (layout) מתקדמים, סקירות מידע (metadata) ועוד.
יש עוד מספר תקיות שלא סקרתי אם יש תקייה שלא קיימת לכם בפתיחת הפרוייקט ניתן להוסיף בלחיצה על הכפתור ימני על
File>New>Android Resouce File
3. תקיית java (במקרא של בניה בשפת java)
בתקיית java מתבצע התכנות בפועל של האפליקציה כלומר שם אנחנו מתקשרים עם הרכיבים הגרפים שיצרנו בתקיית res ומיישמים להם קוד לדוגמה אם יצרנו כפתור בxml בlayout
בjava נגדיר מה יקרא בלחיצהאם כל ההסברים האלו נשמעים לך באויר עדיין אל דאגה בהמשך המדריך אני יתן דוגמאות מעשיות ואשתדל להסביר כמה שיותר טוב
-
-
יאללה מתחילים
אוקיי אז כל ההקדמה עד עכשיו זה בשביל לתת קצת רקע עכשיו נעבור לחלק מעשי
בפתיחת פרוייקט חדש יש 2 קבצים בעיקר שמולם נעבוד
(אני מדבר ברמת המדריך)
קובץ ראשון main_activity.xml
נמצא בres/layout
קובץ זה אחראי על החלק הויזאולי יש 2 דרכים לערוך קובץ זה
1. בצורה גרפית עם הממשק שאנדרואיד סטודיו יצרו ע"י גרירת רכיבים מהצד לתוך המסך2. לערוך דרך הxml כלומר דרך הקוד xml
קובץ שני MainActivity.java
הקובץ הזה בברית מחדל מקושר לבצע פעולות על הקובץ xml main_activity
ככה יראה התוכן של הקובץ ביצירת הפרוייקטpublic class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //כאן מתבצע הקישור של הקובץ java לקובץ xml setContentView(R.layout.activity_main); } }
שתי הקבצים האלה נוצרים אוטומטית
כיצד אנחנו מקשרים בין הרכיבים בxml ל פעולות שיתבצעו בהם בקוד java
פה נכנס חלק שמאד חשוב ותשתמשו בו תמיד זה נקרא id כלומר מזהה ייחודי
לכל רכיב שאתם מוסיפים לxml אם ברצונכם לבצע בו או עליו פעולה כל שהיא אתם חייבים להוסיף id
דוגמא<Button android:id="@+id/btn_start" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_x="231dp" android:layout_y="8dp" android:text="Button" />
בדוגמה הזאת אתם רואים בשורה הראשונה שהגדרתי id לרכיב בשם Button
שזה כפתור בתרגום חופשי, המזהה הייחודי הגדרתי לכפתור הוא
btn_startהערה : מומלץ תמיד לתת id שמרמז על הפעולה שמיועד הרכיב נהוג להתחיל את המזהה ב _btn שזה קיצור לכפתור ואז את שם הפעולה לדוגמה התחלה =start
הצורה שבה אחר כך אנחנו מקשרים את הכפתור ע"י הid
שלב ראשון יצירת משתנה של כפתור והשם בתחילת הקלאס
שלב שני שימו לב רק לאחר onCreate
עושים השמה למשנה ומקשרים אותו לid של הכפתור שיצרנו -
לאחר שראינו בשלב הקודם נראה מה ניתן לעשות עם המשתנה מסוג Button
שיצרנו אני כעת ידגים מספר פעולות שאפשר לבצע על הכפתור ועם הכפתור1. פעולה בעת שהמשתמש לוחץ על הכפתור לחיצה רגילה
// יצירת מאזין ללחיצה רגילה על הכפתור btn_start.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //כאן נבצע את הפעולה שנרצה שתיקרא בלחיצה על הכפתור Toast.makeText(MainActivity.this, "onClick", Toast.LENGTH_SHORT).show(); } });
2. פעולה בעת שהמשתמש לוחץ על הכפתור לחיצה ארוכה
//יצירת מאזין ללחיצה ארוכה על הכפתור btn_start.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { //כאן נבצע את הפעולה שנרצה שתיקרא בלחיצה ארוכה על הכפתור Toast.makeText(MainActivity.this, "OnLongClick", Toast.LENGTH_SHORT).show(); return true; } });
3. פעולות שנרצה לבצע על הכפתור עצמו כגון שינוי צבע ,טקטס
//שינוי הטקסט של הכפתור btn_start.setText("your text"); //שינוי הצבע של הכפתור btn_start.setBackgroundColor(Color.BLACK);
המלצה תכתבו את השם משתנה ולאחריו נקודה ותמיד תראו את כל האופציות שאפשר לעשות במשתנה
4. קבלת נתונים מהמשתנה
אם לדוגמה נרצה לדעת מה הטקסט שרשום על הכפתור וזה רלוונטי לכל משתנה מסוג view
ניתן לקבל זאת כך//יצירת משתנה מסוג סטרינג השווה לטקסט שעל הכפתור String textButton=btn_start.getText().toString();
כמו שכבר הדגשתי שאת צורת עבודה הזאת היא נכונה לכל האלמנטים של אנדרואיד אני נותן דוגמא נוספת של אלמנט של טקסט
שם האלמנט הוא TextViewיוצר אותו ב xml
<TextView android:id="@+id/tv_text" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="18dp" android:textAlignment="center" android:text="TextView" />
ובקוד הבא תוכלו לראות כמה דוגמאות לפי החלק הזה של המדריך
כתבתי תיעוד בעבריתpublic class MainActivity extends AppCompatActivity { //יצירת משתנה מסוג Button Button btn_start; //יצירת משתנה מסוג TextView TextView tv_text; @SuppressLint("MissingInflatedId") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //השמת המשתנה לרכיב כפתור שנמצא בxml לפי id btn_start=findViewById(R.id.btn_start); //השמת המשתנה לרכיב טקסט שנמצא בxml לפי id tv_text=findViewById(R.id.tv_text); btn_start.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //שינוי הטקסט של textView tv_text.setText("your text"); } }); //יצירת מאזין לרכיב TextView tv_text.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //שינוי הטקסט של הכפתור btn_start.setText("your text"); //שינוי הצבע של הכפתור btn_start.setBackgroundColor(Color.BLACK); //יצירת משתנה מסוג סטרינג השווה לטקסט שעל הכפתור String textButton=btn_start.getText().toString(); } });
המדריך בעריכה...
אם אפשר בבקשה לא להגיב כאן אם יש שאלות תפתחו שרשור תגובה על המדריך ואני ישתדל לענות
-
-
-