קהילה

Now in Android #121

משך הקריאה: 9 דקות
Daniel Galpin
Developer Advocate

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

בהמשך המאמר תוכלו לקרוא על גרסת בטא 1 של Android 16 QPR2, על השקת התכונות של Android Studio Narwhal, על Jetpack פיתוח נייטיב 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 (ממשק 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.
  • תמיכה בפיתוח אימרסיבי באמצעות אמולטור Android ל-XR מוטמע, תבנית XR חדשה וכלי מוטמע לבדיקת פריסות ל-XR
  • גישה נרחבת למכשירים דרך Android Partner Device Labs בסטרימינג של מכשירי Android.
  • תצוגות מקדימות משופרות של Compose עם ניווט משופר בקוד וכלי חדש לבחירת תצוגה מקדימה של Compose
  • K2 Kotlin compiler מופעל כברירת מחדל לשיפור הביצועים של ה-build
  • כלים לגודל דף של 16KB עם אזהרות, ניתוח ואמולטור שיעזרו לכם להתכונן למכשירים עם גודל דף של 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 פיתוח נייטיב מאוגוסט 2025 🚀

jetpack-compose.webp

הגרסה של Jetpack פיתוח נייטיב מאוגוסט 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 פיתוח נייטיב כדי ליצור מעברים מתקדמים בין רכיבים משותפים, שינוי צורה מתוחכם ואנימציות של חשיפה. מפתחים יכולים להגדיר את 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 עם הפעלה בזמן ריצה (RE) פועלות בתהליך הנפרד הזה.
  • ערכות SDK עם מודעות בזמן ריצה (RA) משמשות כמתווכות בתוך האפליקציה.
  • טוענים ערכות SDK של RE באמצעות SdkSandboxManagerCompat, תוך הקפדה על אילוצים (לדוגמה, בחזית, טעינה יחידה).
  • כלי Shim מפשטים תקשורת בין תהליכים ברמה נמוכה.
  • הצגת ממשק משתמש מ-SDK של RE באמצעות SandboxedSdkView ו-SandboxedUiAdapter.
  • הפעלת פעילויות מתוך זמן הריצה ל-SDK באמצעות SdkActivityLauncher.

שינוי צורה של Material 3 ב-WearOS | טיפים ל-Jetpack Compose

‫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.
  • תמיכה בסוגים שניתן להגדיר כ-Null ב-SavedStateHandle (Lifecycle ו-SavedState): פישוט השמירה והשחזור של מאפיינים שניתן להגדיר כ-Null עם תמיכה מקורית ב-SavedStateHandle וב-SavedStateRegistryOwner.
  • חדש LineHeightStyle.Mode.Tight (Compose Foundation & UI): מצב חדש של דחיסה עוזר להקטין את גובה השורה, גם אם זה אומר שחלק מהגליפים הגבוהים ייחתכו. כך אפשר לשלוט בצורה מדויקת יותר בפריסת הטקסט.
  • לחיצה כפולה לבחירת מילה (Compose Foundation): נוספה תמיכה בלחיצה כפולה לבחירת מילים ב-SelectionContainer וב-BasicTextField.
  • שינויים בהתנהגות של WindowInsets (ממשק המשתמש של Compose ו-Foundation):
    ◦ נוסף WindowInsets.cutoutPath API חדש לקבלת הנתיב של המגרעת במסך.
    ◦ הדגל isWindowInsetsDefaultPassThroughEnabled הוסר, והערך שמוגדר כברירת מחדל ל-WindowInsets הוא not consume, מה שמאפשר ל-Views צאצאים לקבל אותם.
  • AndroidView requestRectangleOnScreen תיקון (Compose Foundation): בקשות שנוצרות על ידי AndroidViews (לדוגמה, EditText ניסיון להישאר על המסך) מועברות עכשיו בצורה תקינה אל 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 פיתוח נייטיב 1.8 הוספנו יכולות משופרות משמעותית של מילוי אוטומטי, שמבוססות על מערכת הסמנטיקה של פיתוח נייטיב. מפתחים יכולים עכשיו לשלב בקלות מילוי אוטומטי ברמת המערכת, פשוט על ידי תיוג שדות טקסט עם סמנטיקה רלוונטית של סוג התוכן (למשל, שם משתמש, סיסמה). כך הם לא צריכים לנהל ידנית את עץ המילוי האוטומטי ומשפרים את הביצועים.

 

אז… 👋

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

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

נכתב על ידי:

להמשך הקריאה