![]()
רמה 3 – מוכנות להסתגלות
ההגדרה היא שילוב של מצב המכשיר ומצב המערכת. מצב המכשיר כולל את כיוון המסך, גודל התצוגה, מצב מקופל או פתוח של מכשיר מתקפל, זמינות של מקלדת חיצונית ומסכים מחוברים. מצב המערכת כולל מצבי תצוגה, כמו חלונות מרובים ותצוגה מרובת מסכים, והגדרות שהמשתמש מגדיר, כמו גודל הגופן והלוקאל.
שינויים בהגדרות הם שינויים במצב המכשיר או המערכת – מכשיר מסובב, חלון אפליקציה שגודלו שונה, מכשיר שנפתח, ציוד היקפי מחובר או הגדרת משתמש מעודכנת.
במכשירים עם מסך גדול מתבצעים כל שינויי ההגדרות שמתבצעים בטלפונים עם מסך קטן, אבל במסכים גדולים מתבצעים גם שינויי הגדרות ייחודיים, כמו:
- קיפול ופתיחה של המכשיר
- שינוי הגודל של חלונות בפריסה חופשית במצב ריבוי חלונות
יצירת פעילות
מערכת Android מטפלת בשינויים בהגדרות של אפליקציות על ידי השמדה ויצירה מחדש של הפעילות שפועלת כשמתרחש שינוי בהגדרות. מערכת Android יוצרת מחדש את הפעילות עם הגדרות ומשאבים שמתאימים להגדרה החדשה.
כדאי לעצב את האפליקציה עם פריסות רספונסיביות/אדפטיביות שתומכות במגוון רחב של גדלים של מסכים וחלונות אפליקציות ויחסי גובה-רוחב, ומערכת Android תספק את ההצגה האופטימלית של האפליקציה במסכים גדולים וגם במסכים קטנים.
ניהול הגדרות שמתבצע באופן עצמאי
במקרים מיוחדים, כמו אופטימיזציות ספציפיות לאפליקציה, כדאי להגדיר שהאפליקציה תטפל בשינויים בהגדרות במקום לאפשר ל-Android להרוס את הפעילויות של האפליקציה וליצור אותן מחדש.
כדי לציין את שינויי ההגדרות שהאפליקציה מטפלת בהם, צריך להגדיר את המאפיין android:configChanges של רכיב <activity> במניפסט של האפליקציה.
לדוגמה, אפשר לאפשר לאפליקציה לטפל בשינויים בהגדרות של חלונות מרובים:
<activity
android:name=".MyActivity"
android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout" />
ניהול מצב
בין אם מערכת Android מטפלת בשינוי ההגדרה בשבילכם ובין אם אתם עושים זאת בעצמכם, האפליקציה שלכם צריכה לשמור על ההקשר והמצב. אחרי שינוי בהגדרות, המשתמשים צריכים להיות מסוגלים להמשיך את האינטראקציה עם האפליקציה בלי שהרצף ייפסק ובלי לאבד נתונים. לדוגמה, אם שינוי בהגדרות מתרחש במהלך הפעלת מדיה או הזנת נתונים.
השלבים הבאים
למידע נוסף על טיפול בשינויים בהגדרות ועל שמירה על רציפות האפליקציה, אפשר לעיין במדריכים הבאים למפתחים: