קהילה

‫Now in Android #121

משך הקריאה: 9 דקות
לצפייה בפרופיל של דניאל גלפין
Daniel Galpin אחראי קשרי מפתחים (Developers Advocate)

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

בהמשך נסקור את גרסת הבטא הראשונה של Android 16 QPR2, את השקת התכונות של Android Studio Narwhal, את Jetpack Compose 1.9, את Media 3 1.8, את שינוי הצורה ואת המילוי האוטומטי ב-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 Ranging‏ (RttStationRangingParams) תומכים בטווחים מול תחנות.
  • PhoneNumberManager חדש זמין לניתוח ואימות של מספרי טלפון מכותרות IMS P-Associated-URI.
  • שיפורים בפרטיות הרשת של MediaRouter מאפשרים להעביר תוכן באמצעות מדיומים חדשים כמו Bluetooth ו-UWB. צריך להשתמש במתג הפלט של המערכת או לבקש הרשאות NEARBY_DEVICES עבור בוררים מותאמים אישית בתוך האפליקציה.

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

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

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

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

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

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

narwhal.webp

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

  • ‫Gemini ב-Android Studio: מצב סוכן זמין למשימות תכנות בכמה שלבים
  • כללים מספריית ההנחיות מתאימים אישית את הפלט של Gemini לצרכים של הפרויקט.
  • שינוי ממשק המשתמש באמצעות Gemini: שימוש בממשק משתמש בשפה טבעית כדי לשפר את ממשק המשתמש של Compose.
  • תמיכה בפיתוח אימרסיבי באמצעות אמולטור Android XR המוטמע, תבנית XR חדשה ו-Layout Inspector מוטמע ל-XR
  • גישה מורחבת למכשירים דרך Android Partner Device Labs ב-Android Device Streaming.
  • תצוגות מקדימות משופרות של Compose עם ניווט משופר בקוד ובורר חדש של תצוגות מקדימות של Compose
  • הקומפיילר K2 Kotlin מופעל כברירת מחדל כדי לשפר את ביצועי ה-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 ימשיכו להתעדכן בנפרד כל חודשיים. לוח הזמנים המואץ הזה לפרסום גרסאות נתמך על ידי השקעות לטווח ארוך בתשתית הבדיקות.

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

jetpack-compose.webp

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

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

מה חדש ב-Media3 1.8.0? 🚀

media3.webp

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

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

עדכונים נוספים כוללים תמיכה בהורדה חלקית ב-Downloader עם PreCacheHelper, ניתוב אוטומטי של אודיו XR ב-ExoPlayer ואינטראקציות יעילות יותר של MediaCodec. המודול MediaSession משאיר עכשיו את ההתראות גלויות למשך זמן ארוך יותר כברירת מחדל, ואפליקציית ההדגמה של סשן המדיה מציגה את הפונקציונליות של חידוש הפעלת המדיה. אפליקציית הדגמה חדשה של Composition, שנוצרה באמצעות 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 ומפות רווח מציעות חלופות עם שימוש יעיל בביטים. ערכת הכלים של ממשק המשתמש של Android משתמשת ב-API‏ extendedRangeBrightness כדי לספק חוויות HDR, גם עם RGBA_8888.

סרטונים 📹

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

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

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

‫Gemini מולטימודלי ב-Android Studio: פיתוח ממשק משתמש מבוסס-AI

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

שימוש ב-SDK שמופעל על ידי SDK Runtime

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

למפתחים:

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

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

עכשיו קל יותר לשנות צורות ב-Wear OS Material 3 ל-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 חדש לשמירה (Compose Runtime): מציג ממשק API לשמירה שדומה ל-rememberSaveable, אבל לערכים שיוצאים מההיררכיה של הקומפוזיציה בלי לעבור סריאליזציה. אורך החיים שלו קצר יותר מזה של ערכים שמורים, והוא פועל באופן דומה ל-ViewModel. כך הוא מספק דרך חדשה לנהל את המצב של רכיבים קומפוזביליים שעשויים להיכנס לקומפוזיציה ולצאת ממנה.
  • מעברים משופרים של רכיבים משותפים (אנימציה וממשק משתמש ב-Compose): ממשקי API חדשים להפעלה או השבתה של רכיבים משותפים באופן דינמי, להוספת מעברים מתמשכים ולהגדרת גבולות יעד חלופיים כשמסירים רכיב משותף. יש גם Modifier.skipToLookaheadPosition חדש לעיגון פריסות.
  • אחזור מראש משופר של כלי לדפדוף (Compose Foundation): אסטרטגיית האחזור מראש של הכלי לדפדוף משתמשת עכשיו ב"חלון מטמון" (גודל של אזור תצוגה אחד) במקום בפריט אחד, והאחזור מראש הראשוני מופעל כברירת מחדל. הפריטים גם נשמרים לזמן ארוך יותר כדי שהגלילה תהיה חלקה יותר.
  • טיפול משופר במיקוד של העכבר או לוח המגע (Compose Foundation ו-UI): ComposeViews ינקה עכשיו באופן אוטומטי את המיקוד כשמתרחש אירוע של לחיצה על סמן (מעכבר או מלוח מגע) מחוץ לצומת הממוקד. אפשר לבטל את ההצטרפות.
  • מלבני מיקוד שניתנים להתאמה אישית (Compose Foundation): FocusProperties מאפשר עכשיו להגדיר אזור מיקוד מותאם אישית במקום להשתמש בתיבה התוחמת (bounding box) כברירת מחדל, וכך לשפר את המעבר בין מוקדי המיקוד ואת הלוגיקה של "השארת הפריט בתצוגה" בקונטיינרים שניתן לגלול בהם.
  • ‫LifecycleOwner Composable (Lifecycle): רכיב קומפוזבילי חדש שמאפשר ליצור מופעים של LifecycleOwner ברמת ההיקף ישירות בתוך עץ ממשק המשתמש. האפשרות הזו שימושית במיוחד לניהול מחזורי חיים של רכיבים באופן עצמאי, ולספריות כמו Navigation.
  • תמיכה בסוגים שניתנים לאיפוס ב-SavedStateHandle (Lifecycle ו-SavedState): שמירה ושחזור פשוטים יותר של מאפיינים שניתנים לאיפוס עם תמיכה מובנית ב-SavedStateHandle וב-SavedStateRegistryOwner.
  • חדש LineHeightStyle.Mode.Tight (Compose Foundation ו-UI): מצב Tight חדש עוזר לאכוף גובה שורות קטן יותר, גם אם זה אומר שגליפים גבוהים יותר עלולים להיחתך, ומציע שליטה מדויקת יותר בפריסת הטקסט.
  • לחיצה כפולה לבחירת מילה (Compose Foundation): הוספנו תמיכה בלחיצה כפולה לבחירת מילים ב-SelectionContainer וב-BasicTextField.
  • שינויים בהתנהגות של WindowInsets (ממשק משתמש ו-Foundation של Compose):
    ◦ ממשק API חדש של WindowInsets.cutoutPath כדי לקבל את הנתיב של המגרעת במסך.
    ◦ הדגל isWindowInsetsDefaultPassThroughEnabled הוסר, וההגדרה של WindowInsets שונתה ללא לצרוך כברירת מחדל, כדי לאפשר לתצוגות הצאצא לקבל אותם.
  • AndroidView requestRectangleOnScreen תיקון (Compose Foundation): בקשות שנוצרות על ידי AndroidViews (למשל, EditText שמנסה להישאר במסך) מועברות עכשיו בצורה תקינה ל-Compose.
  • גלילה משופרת בדו-ממד באמצעות גלגל העכבר (Compose Foundation ו-UI): תמיכה משופרת באירועי גלילה בדו-ממד באמצעות גלגל העכבר, עם ממשקי API חדשים לבדיקה ודגל לשליטה בהתנהגות.

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

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

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

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

Android Developers Backstage

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

מילוי אוטומטי ב-Compose

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

 

אז… 👋

זה הכול למהדורה הזו, שכוללת מידע על גרסת הבטא הראשונה של Android 16 QPR2, השקת התכונות של Android Studio Narwhal, Jetpack Compose 1.9, Media 3 1.8, שינוי צורה ומילוי אוטומטי ב-Compose, ועוד הרבה יותר.

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

כותב/ת המסמך:
להמשך קריאה