קהילה

Now in Android #121

משך הקריאה: 9 דקות
Daniel Galpin
אחראי/ת קשרי מפתחים (Developers Advocate)

ברוכים הבאים ל-Now in Android, המדריך המתמשך שלכם לחידושים ולדברים חשובים בעולם פיתוח Android.

בהמשך המאמר תוכלו לקרוא על Android 16 QPR2 beta 1, על התכונות החדשות ב-Android Studio Narwhal, על Jetpack Compose 1.9, על Media 3 1.8, על Shape Morphing ועל Autofill in Compose, ועוד.

אפשר לצפות בסיכום של הסרטון:

 

 

יש לנו גם פודקאסט.

אבל הפוסט הזה מכיל את המידע המפורט ביותר, אז כדאי להמשיך לקרוא.

‫Android 16 QPR2 Beta 1 כבר כאן ✨

גרסת הבטא הראשונה של Android 16 QPR2 זמינה עכשיו. זוהי הגרסה הראשונה של Android עם גרסת SDK משנית של Android. גרסאות משניות של SDK יכולות לכלול ממשקי API חדשים שמרחיבים את התכונות של הפלטפורמה, אבל לא יכולות להציג targetSdkVersionשינויים בהתנהגות שדורשים אישור, וכך מצמצמות את כמות הבדיקות שצריך לבצע באפליקציות.

sdk-release-graph.webp

אפשר לקרוא לממשקי API חדשים על ידי בדיקת SDK_INT_FULL מול הספירה VERSION_CODES_FULL:

if (Build.VERSION.SDK_INT_FULL >= Build.VERSION_CODES_FULL.BAKLAVA_1) {
  // Call new APIs from the Android 16 QPR2 release
}

אי אפשר להשתמש ב-VERSION_CODES_FULL במאפייני המניפסט של uses-sdk.

ריכזנו כאן כמה מהעדכונים העיקריים מ-QPR2 Beta 1.

ממשק משתמש, חוויית מערכת ונגישות:

  • האפשרות המורחבת של העיצוב הכהה הופכת באופן חכם אפליקציות בהירות למצב כהה עבור משתמשים שמעדיפים מראה כהה.
  • המערכת יכולה ליצור סמלי אפליקציות עם עיצוב אוטומטי אם האפליקציה לא מספקת שכבת מונוכרום.
  • סשנים של בורר אינטראקטיבי שומרים על ממשק המשתמש של האפליקציה פעיל בזמן שגיליון השיתוף פתוח, באמצעות ChooserManager ו-ChooserSession.
  • ‫Data Transfer API חדש מאפשר העברת נתונים אמינה ומאובטחת יותר בין Android ל-iOS. כדי להשתמש בו, צריך לעדכן את קובץ ה-XML של כללי חילוץ הנתונים של האפליקציה ואת ההטמעה של BackupAgent.
  • חבילת android.graphics.pdf הורחבה כדי לתמוך בהוספת הערות ועריכה של מסמכי PDF באמצעות PdfRenderer.Page.
  • הערכים של ViewConfiguration מותאמים עכשיו למכשירים וירטואליים ספציפיים. כדאי לעבור אל ViewConfiguration.get(context) לתרחישים של שימוש בכמה מסכים.
  • כדי לקבל שליטה מדויקת יותר במשוב הפיזי, צריך לציין את VibrationAttributes עם View.performHapticFeedback(HapticFeedbackRequest)
  • עכשיו אפשר להקצות את הכפתורים ב"הגדרות המהירות" לקטגוריות מוגדרות מראש בקובץ AndroidManifest.xml.

מדיה ואודיו:

  • פענוח תוכנה של פורמטים ומודלים של אודיו סוחף (IAMF), פורמט אודיו מרחבי פתוח.
  • שיתוף אודיו אישי למכשירי Bluetooth LE Audio משולב ישירות במעבר הפלט של המערכת.
  • המשתמשים יכולים לשלוט בבהירות של HDR באמצעות פס הזזה של בהירות HDR/SDR
  • תוספים של בוחר התמונות יכולים להדגיש אלבומים ספציפיים או שאילתות חיפוש.

קישוריות:

  • שיפורים בניהול מכשירים נלווים (CDM) מאפשרים לכם לספק סמלי מכשירים בהתאמה אישית, להאזין לקריאה חוזרת (callback) של EVENT_ASSOCIATION_REMOVED ולאפשר אימות בין אפליקציות באמצעות DeviceId.
  • העדכונים ל-Bluetooth כוללים תמיכה בסריקה פסיבית של BluetoothLeScanner (ScanSettings.SCAN_TYPE_PASSIVE), סיבות לאובדן של שיוך (BluetoothDevice.EXTRA_BOND_LOSS_REASON) ואחזור ישיר של מזהי שירות UUID‏ (BluetoothDevice.EXTRA_UUID_LE).
  • עדכונים בטווח של Wi-Fi RTT ‏ (RttStationRangingParams) תומכים בטווח מול תחנות.
  • PhoneNumberManager חדש זמין לניתוח ולאימות של מספרי טלפון מכותרות IMS P-Associated-URI.
  • שיפורים בפרטיות ברשת של MediaRouter מאפשרים להפעיל Cast באמצעות מדיומים חדשים כמו Bluetooth ו-UWB. כדי להשתמש בבורר הפלט של המערכת או לבקש הרשאות NEARBY_DEVICES לבוררי פלט מותאמים אישית בתוך האפליקציה, צריך לבצע את הפעולות הבאות.

פרטיות ואבטחה:

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

פרודוקטיביות של מפתחים:

  • ממשקי API חדשים של AppWidgetManager מאפשרים לבצע שאילתות לגבי מדדי ההתעניינות בווידג'טים.
  • אפליקציות שניתנות לניפוי באגים ומוגדרות באמצעות ADB יקבלו עכשיו אזהרות מוקדמות לגבי תאימות לגודל דף של 16KB.
  • ProfilingManager מוסיף תמיכה בטריגרים חדשים ליצירת פרופילים שמופעלים על ידי המערכת, וב-requestRunningSystemTrace כדי לתעד עקבות ברקע.
  • המתג 'רישום מפורט של פעולות הדפסה' באפשרויות למפתחים מספק מידע נוסף לניפוי באגים במסגרת ההדפסה של Android.
  • ממשקי ה-API החדשים של UiAutomation לצילומי מסך במסכים שאינם ברירת המחדל ו-AccessibilityWindowInfo.refresh הציבורי מאפשרים בדיקות חזקות יותר של חוויות שימוש במחשבים ובמסכים מרובים.
  • הוספנו תמיכה ב-API לספריית androidx.core:core-backported-fixes החדשה.
  • יש עכשיו תמיכה באפליקציות GUI בטרמינל Linux
  • WindowInspector.addGlobalWindowViewsListener תומך בהתראות בזמן אמת על שינויים בתצוגת הבסיס.

אתם יכולים לרשום כל מכשיר Pixel נתמך כדי לקבל עדכוני בטא דרך האוויר, או להשתמש בקובצי אימג' של מערכת 64 ביט עם אמולטור Android ב-Android Studio. יציבות הפלטפורמה מתוכננת לאוקטובר 2025.

השקת התכונות ב-Android Studio Narwhal יציבה – אפשר להתחיל להשתמש במצב סוכן 🐳

narwhal.webp

ההשקה של Android Studio Narwhal Feature Drop יציבה עכשיו, והיא כוללת תכונות חדשות ושיפורים:

  • Gemini ב-Android Studio: Agent Mode זמין למשימות תכנות מרובות שלבים
  • ספריית ההנחיות כללים מאפשרים להתאים אישית את תוצאות ה-AI של Gemini לצרכים של הפרויקט.
  • Transform UI with Gemini משתמש בממשק משתמש בשפה טבעית כדי לבצע איטרציה בממשק משתמש של Compose.
  • תמיכה בפיתוח אימרסיבי באמצעות XR Android Emulator מוטמע, תבנית XR חדשה וכלי מוטמע לבדיקת פריסות ל-XR
  • גישה נרחבת למכשירים דרך Android Partner Device Labs ב-Android Device Streaming.
  • תצוגות מקדימות משופרות של יצירת קוד עם ניווט משופר בקוד וכלי חדש לבחירת תצוגה מקדימה של יצירת קוד
  • K2 Kotlin compiler מופעל כברירת מחדל לשיפור הביצועים של ה-build
  • כלים לגודל דף של 16KB עם אזהרות, ניתוח ואמולטור של lint שיעזרו לכם להתכונן למכשירים עם גודל דף של 16KB.

סטרימינג של מכשירי Android, מבוסס על Firebase

device-streaming.webp

התכונה 'סטרימינג של מכשירי Android', שמבוססת על Firebase, כוללת עכשיו תמיכה יציבה במעבדות של מכשירי Android שותפים. התכונה מאפשרת להתחבר מרחוק למכשירי Android פיזיים שמארחים שותפי OEM, כולל Samsung,‏ Xiaomi,‏ OPPO,‏ OnePlus ו-vivo.

פיתוח מהיר יותר עם גרסאות חודשיות של Android Studio – אנחנו משיקים גרסאות בתדירות גבוהה פי 2 מבעבר

accelarating-releases.webp

אנחנו עוברים ב-Android Studio לקצב עדכונים יציב של פעם בחודש, כדי שתוכלו לקבל מהר יותר תכונות חדשות ותיקוני באגים חשובים. סביבת הפיתוח המשולבת (IDE) של Android Studio תתעדכן מדי חודש, וגרסאות חדשות של פלטפורמת IntelliJ יושקו מדי כמה חודשים. השקות של תכונות ימלאו את הפער בין הגרסאות היציבות. אמולטור Android ופלאגין של Android Gradle ימשיכו להתעדכן בנפרד כל חודשיים. לוח הזמנים המואץ הזה של השקת גרסאות נתמך על ידי השקעות לטווח ארוך בתשתית הבדיקות.

מה חדש בגרסת Jetpack Compose מאוגוסט 2025 🚀

jetpack-compose.webp

הגרסה של Jetpack Compose מאוגוסט 2025 (גרסה 1.9) יציבה עכשיו. בגרסה הזו הוספנו את Modifier.dropShadow ואת Modifier.innerShadow לעיבוד של אפקטים של צללי תיבות. המשנים החדשים onVisibilityChanged ו-onFirstVisible מאפשרים לעקוב אחרי החשיפה של רכיבים לצורך עדכונים בממשק המשתמש או רישום של חשיפות. אפשר להחיל עיצוב עשיר ב-OutputTransformation באמצעות TextFieldBuffer.addStyle לשינויי טקסט.

אבני הבניין של LazyLayout יציבות עכשיו, ואפשר להגדיר LazyLayoutCacheWindow כדי לשפר את הביצועים של Lazy List ו-Grid באמצעות אחזור מראש משופר. ‫Scrollable2D מאפשר גלילה דו-ממדית, כולל גלילה מהירה וגלילה מקוננת, עם שיפורים שונים לגבי גלילה וגלילה מקוננת שפועלות יחד עם Views. ‫API אופציונלי (Composer.setDiagnosticStackTraceEnabled) מספק פרטים מפורטים יותר על מיקום הקריסה בדוחות קריסות, מומלץ לשימוש רק בגרסאות ניפוי באגים. הערות חדשות של @RememberInComposition ו-@FrequentlyChangingValue, יחד עם בדיקות Lint משויכות, זמינות בספרייה חדשה של הערות בזמן ריצה. אפשר להתאים אישית את תפריטי ההקשר באמצעות Modifier.appendTextContextMenuComponents ו-Modifier.filterTextContextMenuComponents. מעכשיו נדרשת גרסה 8.8.2 ואילך של Android Gradle Plugin ‏ (AGP) / Lint.

‫Media3 1.8.0 – מה חדש? 🚀

media3.webp

גרסה Media3 1.8.0 זמינה עכשיו, והיא כוללת כמה תכונות ושיפורים חדשים. ל-ExoPlayer נוסף מצב ניקוי לחיפושים תכופים שמבוצעים על ידי המשתמשים. אפשר להפעיל אותו דרך ExoPlayer.setScrubbingModeEnabled. HlsInterstitialsAdsLoader תומך עכשיו בשידורים חיים להוספת מודעות בהנחיית השרת.

בוצע עדכון ב-MetadataRetriever כדי לאפשר לכם לאחזר את משכי הזמן של פריטי מדיה בלי הפעלה. ב-Transformer, הגרסה כוללת פעולות חיתוך מהירות יותר באמצעות רשימות עריכה של MP4 עם experimentalSetMp4EditListTrimEnabled ואופטימיזציות של מקודדים ספציפיים לערכת שבבים באמצעות CodecDbLite, שמופעלות על ידי קריאה ל-setEnableCodecDbLite ב-DefaultEncoderFactory.Builder.

עדכונים נוספים כוללים תמיכה בהורדה חלקית ב-Downloader עם PreCacheHelper, ניתוב אוטומטי של אודיו ב-XR ב-ExoPlayer ואינטראקציות יעילות יותר של MediaCodec. מודול MediaSession שומר עכשיו על ההתראות גלויות למשך זמן ארוך יותר כברירת מחדל, ואפליקציית ההדגמה של סשן המדיה מציגה את הפונקציונליות של המשך ההפעלה. אפליקציית הדגמה חדשה של קומפוזיציה, שנבנתה באמצעות Kotlin ו-Compose, מדגימה עריכת סרטונים מתקדמת עם כמה נכסים.

מאמרים 📚

#WeArePlay: האנשים שמפתחים אפליקציות שיעזרו להגן על הסביבה

weareplay.webp

במסגרת היוזמה #WeArePlay, אנחנו מדגישים אפליקציות ומשחקים ל-Android שנותנים מענה לאתגרים סביבתיים. המשחק BoRa — Iguaçu National Park, שפותח על ידי מיילה, פלביה, אנדרייה ואריאן, מספק חוויות אינטראקטיביות נגישות ומהנות ללימוד על הטבע במהלך הביקורים בפארק. האפליקציה של לואי וג'סטין, CyberTracker, מאפשרת לעוקבים ילידים לא יודעי קרוא וכתוב לתעד נתונים על מגוון ביולוגי באמצעות ממשק שמבוסס על סמלים, וכך תומכת במאמצי השימור. לבסוף, ארגון Earth5R, שהוקם במשותף על ידי בהארטי וסוראב, מציע חינוך סביבתי ומקשר בין משתמשים לבין התמחויות ופרויקטים כדי לפתח מיומנויות לכלכלה הירוקה.

מה זה HDR? 🌟

hdr.webp

טווח דינמי גבוה (HDR) מאפשר למפתחי Android להגדיל את בהירות השיא מעבר לטווח הדינמי הסטנדרטי (SDR), וכך לשפר את נאמנות התמונה. ‫Android תומך ב-HDR לווידאו ולתמונות, כולל טכנולוגיות כמו UltraHDR לתאימות לדורות קודמים.

הסבר על צבע כולל שלושה רכיבים:

  • עומק סיביות: מגדיר את רמת הדיוק של ייצוג הצבעים, ועומק גבוה יותר מאפשר מעברים חלקים יותר.
  • פונקציית העברה: ממפה ערכים מספריים של פיקסלים לבהירות או לצבע שמוצגים, עם התאמה לתגובה ויזואלית לא לינארית של בני אדם. לדוגמה: sRGB,‏ HLG ו-PQ.
  • סולם צבעים: מייצג את טווח הצבעים שמכשיר יכול לשחזר.

תפיסות מוטעות נפוצות לגבי HDR:

  • צבעים מלאי חיים: טווחים רחבים יותר של צבעים כמו Display P3 ו-Adobe RGB היו זמינים לפני HDR, ורוב המסכים עדיין מוגבלים ל-P3, גם עם תוכן BT.2020.
  • ניגודיות גבוהה יותר/פרטים טובים יותר בשחור:‏ HDR לא מציע באופן מובנה גווני שחור כהים יותר מאשר SDR באותו מסך. מסכי OLED מספקים ניגודיות אינסופית בשני המקרים. ה-PQ מקצה יותר ביטים לאזורים כהים, אבל הוא לא תכונת HDR אוניברסלית.
  • עומק סיביות גבוה יותר: למרות שבחלק מפרופילי הווידאו של HDR (למשל, HDR10) נעשה שימוש בזרמים של 10 או 12 ביט, זה ספציפי לפרופילים האלה ולא מאפיין מובנה של HDR; עומקי סיביות גבוהים יותר נפוצים גם בפורמטים אחרים של תמונות.

‫HDR מציין בעיקר בהירות שיא גבוהה יותר. המונח 'מרווח ראש ב-HDR' מוגדר כאזור צף ביחס ל-SDR. בסרטוני HDR רגילים, טווח הבהירות המקסימלי מקודד בדרך כלל כערך קבוע, אבל במסכים מודרניים נעשה שימוש בטווח בהירות מקסימלי דינמי, ולכן יכולים להיות הבדלים באיכות. טכנולוגיות כמו Ultra HDR ו-gainmaps מציעות חלופות עם שימוש יעיל בביטים. ערכת הכלים של Android ליצירת ממשק משתמש משתמשת ב-API של extendedRangeBrightness כדי לספק חוויות HDR, גם עם RGBA_8888.

סרטונים 📹

רכיבים משותפים מתקדמים עם שינוי צורה | טיפים ל-Jetpack פיתוח נייטיב

מעכשיו אפשר להשתמש ב-Jetpack Compose כדי ליצור מעברים מתקדמים בין רכיבים משותפים, שינוי צורה מתוחכם ואנימציות של חשיפה. מפתחים יכולים להגדיר את SharedTransitionLayout ברמה העליונה של האפליקציה ולהשתמש ב-Modifier.sharedBounds כדי לקשר רכיבים.

שינוי צורה הוא תכונה חדשה וחשובה, שמתאפשרת בזכות השימוש בספריית הצורות הגרפיות של AndroidX ב-Material 3. התהליך כולל יצירה של אובייקט Morph עם צורות התחלה וסיום מוגדרות, הפעלה של ההתקדמות שלו באמצעות animateFloat (מ-AnimatedVisibilityScope) והחלה שלו כקליפ באמצעות OverlayClip בהתאמה אישית. אפקטים של חשיפה משתמשים ב-skipToLookaheadSize וב-skipToLookaheadPosition. כל האנימציות המתקדמות האלה תואמות גם לתנועות חיזוי חזרה.

Gemini ב-Android Studio מרובה-מוֹדָלִים: פיתוח ממשקי משתמש מבוסס-AI

‫Gemini AI ב-Android Studio עוזר בפיתוח ממשק משתמש על ידי יצירת קוד מעיצובים (כולל המרה של תמונה לקוד), יצירת תצוגות מקדימות של Compose עם נתונים סינתטיים ושיפור ממשק משתמש קיים באמצעות פקודות ישירות.

שימוש ב-SDK שתואם לזמן ריצה

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

למפתחים:

  • ערכות SDK מופעלות על ידי SDK Runtime (RE) פועלות בתהליך הנפרד הזה.
  • ערכות SDK עם מודעות לזמן ריצה (RA) משמשות כמתווכות בתוך האפליקציה.
  • טוענים את ערכות ה-SDK של RE באמצעות SdkSandboxManagerCompat, תוך הקפדה על מגבלות (לדוגמה, פעולה בחזית, טעינה יחידה).
  • כלי ה-Shim מפשטים את התקשורת בין תהליכים ברמה נמוכה.
  • הצגת ממשק משתמש מ-SDK של RE באמצעות SandboxedSdkView ו-SandboxedUiAdapter.
  • הפעלת פעילויות מתוך זמן הריצה ל-SDK באמצעות SdkActivityLauncher.

WearOS Material 3 shape morphing | Jetpack Compose Tips

‫Wear OS Material 3 for Compose מפשט עכשיו את שינוי הצורה. מפתחים יכולים להוסיף בקלות שינויים מונפשים בצורות של לחצנים מעוגלים באמצעות IconButtonDefaults.animatedShapes, ליצור קבוצות של לחצנים שבהן רוחב הלחצנים משתנה בהנפשה באמצעות הרכיב ButtonGroup ו-Modifier.animateWidth(), ולבנות רשימות עם גלילה אנכית (TransformingLazyColumn) שבהן הפריטים משנים את הגודל והצורה שלהם באמצעות TransformationSpec כשהם מתקרבים לקצוות המסך.

גרסאות AndroidX 🚀

הנה סיכום של השינויים ב-AndroidX, עם דגש על השינויים שהכי רלוונטיים למפתחי אפליקציות ל-Android:

שינוי כללי שמשפיע על ספריות Compose:

  • ברירת מחדל minSdk הועלתה ל-API 23: ב-androidx.compose animation,‏ foundation,‏ material,‏ runtime ו-ui, גרסת ה-SDK המינימלית שמוגדרת כברירת מחדל הועברה מ-API 21 ל-API 23. המשמעות היא שאם אתם משתמשים בגרסאות האלפא האחרונות של ספריות Compose האלה, האפליקציה שלכם תדרוש באופן מרומז Android 6.0 ‏ (Marshmallow) ומעלה.

שינויים מרכזיים למפתחי Compose:

  • ‫API חדש של retain (Compose Runtime): ה-API הזה דומה ל-rememberSaveable, אבל הוא מיועד לערכים שיוצאים מהיררכיית הקומפוזיציה בלי לעבור סריאליזציה. משך החיים שלו קצר יותר מזה של ערכים שמורים, והוא מתנהג באופן דומה ל-ViewModel, ומספק דרך חדשה לניהול מצב של קומפוזיציות שיכולות להיכנס לקומפוזיציה ולצאת ממנה.
  • מעברים משופרים של רכיבים משותפים (Compose Animation & UI): ממשקי API חדשים להפעלה או להשבתה דינמית של רכיבים משותפים, להתחשבות במעברים מתמשכים ולהגדרת גבולות חלופיים של יעד כשמבטלים רכיב משותף. יש גם Modifier.skipToLookaheadPosition חדש לשינוי הפריסה.
  • שיפור האחזור מראש של דפים (Compose Foundation): אסטרטגיית האחזור מראש של דפים משתמשת עכשיו ב'חלון מטמון' (גודל של אזור תצוגה אחד) במקום בפריט יחיד, והאחזור מראש הראשוני מופעל כברירת מחדל. בנוסף, הפריטים נשמרים למשך זמן ארוך יותר כדי שהגלילה תהיה חלקה יותר.
  • שיפור הטיפול במיקוד בעכבר או בלוח מגע (Compose Foundation ו-UI): מעכשיו, ComposeViews ינקה את המיקוד באופן אוטומטי כשמתרחש אירוע של לחיצה על העכבר או על לוח המגע מחוץ לצומת הממוקד. אפשר לבטל את ההצטרפות.
  • התאמה אישית של מלבני המיקוד (Compose Foundation): ב-FocusProperties אפשר עכשיו להגדיר אזור מיקוד מותאם אישית במקום להשתמש בתיבת התוחמת כברירת מחדל. כך משפרים את המעבר בין המיקודים ואת הלוגיקה של 'הצגה בתצוגה' בקונטיינרים שניתנים לגלילה.
  • LifecycleOwner Composable (Lifecycle): רכיב קומפוזבילי חדש שמאפשר ליצור מופעי LifecycleOwner בהיקף ישירות בעץ ממשק המשתמש. האפשרות הזו שימושית במיוחד לניהול מחזורי החיים של רכיבים באופן עצמאי, ולספריות כמו Navigation.
  • תמיכה בסוגים שניתן להגדיר כ-Nullable ב-SavedStateHandle (Lifecycle ו-SavedState): שמירה ושחזור פשוטים יותר של מאפיינים שניתן להגדיר כ-Nullable עם תמיכה מקורית ב-SavedStateHandle וב-SavedStateRegistryOwner.
  • חדש LineHeightStyle.Mode.Tight (Compose Foundation & UI): מצב חדש של דחיסה מאפשר להקטין את גובה השורה, גם אם זה אומר לחתוך גליפים גבוהים יותר, וכך לקבל שליטה מדויקת יותר בפריסת הטקסט.
  • לחיצה כפולה לבחירת מילה (Compose Foundation): נוספה תמיכה בלחיצה כפולה לבחירת מילים ב-SelectionContainer וב-BasicTextField.
  • שינויים בהתנהגות של WindowInsets (ב-Compose UI וב-Foundation):
    ◦ נוסף WindowInsets.cutoutPath API חדש לקבלת הנתיב של מגרעת במסך.
    ◦ הדגל isWindowInsetsDefaultPassThroughEnabled הוסר, והערך שמוגדר כברירת מחדל ל-WindowInsets הוא not consume, כך ש-Views צאצאים יכולים לקבל אותם.
  • AndroidView requestRectangleOnScreen תיקון (Compose Foundation): בקשות שנוצרות על ידי AndroidViews (למשל, EditText ניסיון להישאר על המסך) מועברות עכשיו בצורה תקינה ל-Compose.
  • שיפור הגלילה באמצעות גלגל העכבר בדו-ממד (שכבת הבסיס והממשק של Compose): שיפור התמיכה באירועי גלילה באמצעות גלגל העכבר בדו-ממד, עם ממשקי API חדשים לבדיקה ודגל לשליטה בהתנהגות.

ספריות וכלי עזר חדשים:

  • androidx.core:core-backported-fixes (ספרייה חדשה): הספרייה החדשה הזו מאפשרת למפתחים לבדוק אם תיקוני באגים קריטיים (למשל, בעיות ברמת הפלטפורמה כמו באגים ספציפיים במצלמה) הוחלו על מכשיר. כך אפשר להציע חוויות משתמש שונות בהתאם לשאלה אם באג מוכר נפתר או לא.

שינויים בולטים אחרים:

  • פעילות וקלט במשחקים: נוספה תמיכת ברירת מחדל בגודלי דפים של 16KB ותמיכה בעכבר ב-GameActivity.
  • מיקום של תיאורי כלים ב-Material3: נוספו ספקי מיקום נוספים לתיאורי כלים, שמאפשרים למקם אותם מעל, מתחת, משמאל או מימין לנקודת העיגון.
  • Material3 DatePicker תיקונים: התיקונים מבטיחים שהפורמט של המספרים ב-DatePicker יתאים ללוקאל שלו, ומתקנים בעיות בתצוגה מימין לשמאל.
  • תמיכה ב-display_override של TWA (דפדפן): נוספה תמיכה במאפיין המניפסט של TWA‏ display_override, שמאפשר שליטה רבה יותר בתצוגה של TWA.
  • הפעלת כתובת URL ראשונית באפליקציה חיצונית (דפדפן): נוספה Intent כדי לאפשר הפעלה של כתובת ה-URL הראשונית של TWA בדפדפן חיצוני.

Android Developers Backstage

הפודקאסט Android Developers Backstage חזר עם עוד פרק.

מילוי אוטומטי בפיתוח נייטיב

ב-Jetpack Compose 1.8 הוספנו יכולות משופרות משמעותית של מילוי אוטומטי, שמבוססות על מערכת הסמנטיקה של Compose. מפתחים יכולים עכשיו לשלב בקלות מילוי אוטומטי ברמת המערכת, פשוט על ידי תיוג שדות טקסט עם סמנטיקה רלוונטית של סוג התוכן (למשל, שם משתמש, סיסמה). כך הם לא צריכים לנהל ידנית את עץ המילוי האוטומטי ומשפרים את הביצועים.

 

אז… 👋

זה הכול למהדורה הזו, עם סקירה של Android 16 QPR2 beta 1, השקת התכונות של Android Studio Narwhal,‏ Jetpack Compose 1.9,‏ Media 3 1.8,‏ Shape Morphing ו-Autofill in Compose ועוד.

כדאי לחזור לכאן בקרוב כדי לקרוא את העדכון הבא מעולם המפתחים של Android.

נכתב על ידי:

להמשך הקריאה