Gemini ב-Android Studio הוא שותף לתכנות שמאיץ את תהליך העבודה של הפיתוח. הוא יכול ליצור קוד, לסכם נושאים מורכבים, למצוא משאבים ספציפיים ועוד. תקשורת יעילה היא המפתח למיצוי הפוטנציאל המלא של Gemini.
במדריך הזה מפורטות אסטרטגיות להגדרת סביבת הפיתוח ולכתיבת הנחיות שמניבות תשובות שימושיות ואמינות. לכמה אסטרטגיות, סיפקנו הנחיות לדוגמה לתרחישי שימוש שונים. דוגמאות נוספות להנחיות מופיעות בגלריית ההנחיות.
שימוש ב-Agent Mode
Agent Mode (מצב סוכן) ב-Gemini ב-Android Studio מאפשר לכם לעשות הרבה יותר ממה שאפשר לעשות בשיחה רגילה עם Gemini. אתם יכולים להגדיר לנציג יעד ברמה גבוהה, והנציג יפרק את הבעיה וייצור תוכנית לפתרון שלה. הסוכן קורא לכלים, עורך כמה קבצים ומתקן שגיאות תוך כדי. מצב סוכן עוזר לכם לטפל במשימות מורכבות בצורה יעילה יותר, ומקצר את כל תהליך הפיתוח.
לכתוב הנחיות מפורטות
כדי להפיק את התוצאות הטובות ביותר מ-Gemini ב-Android Studio, מומלץ לתת הוראות ברורות וספציפיות. אם יש ספריות, ממשקי API או גישות מסוימות שאתם רוצים להשתמש בהם, כדאי לכלול אותם בשאלה או בקובץ השורש AGENTS.md של הפרויקט כדי שהם יישמרו לאורך האינטראקציות. אפשר לחשוב על זה כמו על שליחת דוח על באג: ככל שתספקו יותר מידע, כך נוכל לפתור את הבעיה מהר יותר וביעילות רבה יותר.
הטמעה של פונקציונליות חדשה:
מה מומלץ לעשות
מה אסור לעשות
יצירת קוד:
מה מומלץ לעשות
כותבים פונקציית השהיה של Kotlin שמשתמשת בספריית Coil כדי להוריד תמונה ממחרוזת נתונה של כתובת URL.
הפונקציה צריכה להיקרא fetchImageAsBitmap
. הפונקציה צריכה לקבל כארגומנטים את Context
ואת כתובת ה-URL של String
, ולהחזיר Bitmap
שניתן להגדיר כ-null. אם יש שגיאה ברשת או בשגיאת פענוח,
היא אמורה ללכוד את החריגה, לרשום אותה ביומן ולהחזיר
null
.
מה אסור לעשות
הסבר של מושג:
מה מומלץ לעשות
אני מפתח אפליקציה לניגון מוזיקה ואני צריך שההפעלה תימשך כשהאפליקציה פועלת ברקע.
אילו אפשרויות יש לי כדי שהאפליקציה תמשיך לפעול בזמן שהמשתמש עושה דברים אחרים במכשיר? מהן הדרישות לגבי רמת ה-API וההשלכות על חיי הסוללה בכל אחת מהגישות?
מה אסור לעשות
תארו את מבנה התשובה
כברירת מחדל, Gemini מספק תשובות בפורמט של שיחה, שמבוסס על פסקאות. למרות שההסברים האלה שימושיים, אפשר לקבל תוצאות יעילות יותר ושימושיות באופן מיידי אם אומרים ל-Gemini איך לנסח את התשובה. הגדרת פורמט הפלט מכוונת את המודל לארגן את המידע בצורה ברורה וצפויה, וכך חוסכת לכם את הזמן של עיצוב מחדש בעצמכם.
אם אתם רוצים להוסיף לאפליקציה קוד שנוצר על ידי Gemini ואתם צריכים את הקוד בפורמט מסוים כדי שתוכלו להשתמש בו באופן מיידי, תנו ל-Gemini הוראות ברורות לגבי יצירת הקוד והפורמט שלו.
מבנה התשובה:
מה מומלץ לעשות
יוצרים ישות Room לפרופיל משתמש. הוא צריך להכיל את השדות id
, userName
, email
ו-memberSince
. השדה id
אמור להיווצר אוטומטית. השדה memberSince
צריך לייצג חותמת זמן.
מה אסור לעשות
אם אתם שואלים שאלה פתוחה יותר, כדאי לבקש x מספר אפשרויות.
הגבלת התשובה:
מה מומלץ לעשות
מה אסור לעשות
פירוק של בקשות מורכבות למשימות קטנות יותר
לבקשות מורכבות עם כמה שלבים, כדאי לנסות את מצב הסוכן. עם זאת, אם הגישה של הסוכן לא תואמת לציפיות שלכם, כדאי להנחות את Gemini באמצעות סדרה של הנחיות קטנות יותר שמוצגות ברצף, במקום לבקש הכל בבת אחת. הגישה הזו נותנת לכם יותר שליטה ומאפשרת לכם לאמת כל שלב לפני שאתם ממשיכים לשלב הבא.
הנחיות רציפות:
מה מומלץ לעשות
הנחיה 1: מודל הנתונים
תחילה, תיצור
מחלקת נתונים ב-Kotlin בשם User
. הוא צריך לכלול שלושה מאפיינים: id
(מספר שלם), name
(מחרוזת) ו-email
(מחרוזת).
הנחיה 2: שכבת הרשת
עכשיו, יוצרים ממשק API של Retrofit בשם ApiService
. היא צריכה לכלול suspend fun
יחיד בשם getUsers()
שמחזיר List<User>
.
הנחיה 3: The state
management
Next, write a UsersViewModel
that
takes the ApiService
as a dependency. ה-UsersViewModel
צריך לחשוף StateFlow
של מחלקה UiState
אטומה שיכולה
לייצג מצבי Loading, Success(users: List
ו-Error(message: String)
. יוצרים פונקציה ב-ViewModel
כדי לאחזר את המשתמשים ולעדכן את המצב. כתוב בדיקות יחידה עבור
הפונקציות החדשות
הנחיה 4: שכבת ממשק המשתמש
לבסוף, כתוב פונקציית Jetpack Compose בשם UserListScreen
שמקבלת את UiState
כפרמטר. משתמשים בהצהרת when
כדי להציג CircularProgressIndicator
למצב הטעינה, LazyColumn
של שמות משתמשים למצב ההצלחה ורכיב Text
עם הודעת השגיאה למצב השגיאה. מוסיפים בדיקות לאימות הפונקציונליות החדשה.
מה אסור לעשות
ViewModel
שמשתמש ב-Retrofit ובקורוטינות, מאגר לטיפול בלוגיקת הנתונים, מחלקת נתונים User
, והיא צריכה להציג מצבי טעינה ושגיאה.ניהול ההקשר
חלק חשוב בעבודה עם Gemini ב-Android Studio הוא לספק את ההקשר הנכון. כדי לקבל את התשובות הכי מועילות, כדאי לספק קטעי קוד רלוונטיים, את תוכן הקובץ ומידע על מבנה הפרויקט. יכול להיות שתצטרכו לנסות כמה פעמים כדי למצוא את האיזון הנכון: אם תספקו יותר מדי מידע, יכול להיות ש-Gemini יטעה, ואם תספקו מעט מדי מידע, לא יהיה לו מספיק הקשר כדי לעזור לכם. כדי לתת ל-Gemini גישה להקשר הדרוש, משתמשים בתכונות הזמינות:
- מצרפים תמונות כדי לספק תצוגה חזותית של ממשק המשתמש שאתם רוצים ליצור או של ארכיטקטורת האפליקציה שאתם מנסים להבין.
- מצרפים קבצים כדי להדגיש חלקים רלוונטיים בבסיס הקוד.
- אתם יכולים להשתמש בקבצי
.aiexclude
כדי ש-Gemini יתעלם מחלקים מסוימים בבסיס הקוד. - אתם יכולים להשתמש בקבצים מסוג AGENTS.md כדי לתת הוראות ספציפיות לפרויקט ולשתף אותן עם חברי הצוות. כשמשתמשים בקובצי AGENTS.md, צריך להשתמש בכותרות ובפורמט Markdown כדי שההוראות יהיו ברורות.
- כשמשתמשים במצב סוכן, צריך להגדיר שרתי MCP כדי להרחיב את הידע והיכולות של Gemini עם הסביבה החיצונית.
בקשת הסברים
אם לא מבינים את התשובה של Gemini ב-Android Studio, אפשר לבקש הסבר. זו דרך מצוינת ללמוד ולוודא שהפתרון המוצע מתאים לתרחיש השימוש שלכם. אם התשובה לא הייתה מה שציפיתם, יכול להיות ש-Gemini טעה. אם תבקשו הסבר, תהיה לו הזדמנות לתקן את עצמו.
שיפור ההוראות
בדומה לעבודה עם עמית לעבודה, לפעמים צריך לנהל שיחה עם Gemini ב-Android Studio כדי לקבל הבהרות לגבי המשימה והתוצאה הרצויה. אם התשובה הראשונית של Gemini לא מספיקה, אפשר להשיב לו עם משוב והצעות לשיפור. אם התשובה משתפרת בעקבות ההצעות שלכם, כדאי לשלב את ההצעה בהנחיה המקורית על ידי עדכון הערך בספריית ההנחיות או עדכון הקובץ AGENTS.md.