نظرة عامة على الميزات وواجهات برمجة التطبيقات

يقدّم الإصدار Android 14 ميزات وواجهات برمجة تطبيقات رائعة للمطوّرين. تساعدك المعلومات التالية في التعرّف على ميزات تطبيقاتك والبدء في استخدام واجهات برمجة التطبيقات ذات الصلة.

للحصول على قائمة مفصّلة بواجهات برمجة التطبيقات التي تمت إضافتها وتعديلها وإزالتها، يُرجى الاطّلاع على تقرير الاختلافات في واجهات برمجة التطبيقات. للحصول على تفاصيل حول واجهات برمجة التطبيقات المضافة، يُرجى الانتقال إلى مرجع واجهات برمجة تطبيقات Android. بالنسبة إلى نظام التشغيل Android 14، ابحث عن واجهات برمجة التطبيقات التي تمت إضافتها في المستوى 34 لواجهة برمجة التطبيقات. للتعرّف على المجالات التي قد تؤثّر فيها تغييرات النظام الأساسي في تطبيقاتك، احرص على الاطّلاع على تغييرات السلوك في الإصدار 14 من نظام التشغيل Android للتطبيقات التي تستهدف الإصدار 14 من نظام التشغيل Android ولجميع التطبيقات.

التوافق مع أسواق عالمية

إعدادات اللغة المخصصة حسب التطبيقات

يقدّم نظام التشغيل Android 14 ميزات إضافية لكل تطبيق باللغة تم تقديمها في Android 13 (المستوى 33 لواجهة برمجة التطبيقات)، وهي:

  • إنشاء localeConfig للتطبيق تلقائيًا: بدءًا من الإصدار Android Studio Giraffe Canary 7 والإصدار AGP 8.1.0-alpha07، يمكنك ضبط تطبيقك ليعمل تلقائيًا على إتاحة الإعدادات المفضّلة للغة لكل تطبيق. استنادًا إلى موارد مشروعك، ينشئ المكوّن الإضافي لنظام Gradle المتوافق مع Android ملف LocaleConfig ويضيف إليه إشارة في ملف البيان النهائي، ما يغنيك عن إنشاء الملف أو تعديله يدويًا. يستخدم AGP الموارد في مجلدات res الخاصة بوحدات تطبيقك وأي ملحقات لوحدات المكتبة لتحديد اللغات المطلوب تضمينها فيملف LocaleConfig.

  • التحديثات الديناميكية لقائمة localeConfig للتطبيق: استخدِم الطريقتَين setOverrideLocaleConfig() و getOverrideLocaleConfig() في LocaleManager لتعديل قائمة اللغات المتاحة في تطبيقك ديناميكيًا في إعدادات نظام الجهاز. يمكنك الاستفادة من هذه المرونة لتخصيص قائمة اللغات المتاحة لكل منطقة، أو إجراء تجارب أ/ب، أو تقديم قائمة محدّثة للغات إذا كان تطبيقك يستخدم عمليات الإرسال من جهة الخادم لعملية التعريب.

  • إظهار لغة التطبيق لمحرّري أساليب الإدخال (IME): يمكن لمحرّري أساليب الإدخال استخدام الأسلوب getApplicationLocales() للتحقّق من لغة التطبيق الحالي ومطابقة لغة محرّر أسلوب الإدخال مع هذه اللغة.

Grammatical Inflection API

يتحدّث 3 مليارات شخص لغات جنسانية: وهي لغات تتغيّر فيها فئاتها النحوية، مثل الأسماء والأفعال والصفات وحروف الجر، وفقًا للجنس الذي يحدّده الشخص أو الشيء الذي تتحدث عنه. في العادة، تستخدم العديد من اللغات التي تراعي الجنس النوع النحوي الذكوري كجنس تلقائي أو عام.

يمكن أن يؤدي استخدام الجنس النحوي غير الصحيح للمستخدمين، مثل مخاطبة النساء باستخدام الجنس النحوي للذكور، إلى التأثير سلبًا في أدائهم وسلوكهم. في المقابل، يمكن أن يؤدي استخدام واجهة مستخدم تتضمّن لغة تمثل بشكلٍ صحيح الجنس النحوي للمستخدم إلى تحسين تفاعله مع التطبيق وتوفير تجربة أكثر تخصيصًا وطبيعية.

لمساعدتك في إنشاء واجهة مستخدم تركّز على المستخدم للغات التي تراعي الجنس، يوفّر الإصدار 14 من Android واجهة برمجة التطبيقات Grammatical Inflection API، التي تتيح لك إضافة ميزة مراعاة الجنس النحوي بدون إعادة صياغة تطبيقك.

الإعدادات المفضّلة للمنطقة

تتيح الإعدادات المفضّلة الإقليمية للمستخدمين تخصيص وحدات درجة الحرارة، وهي أول ويوم من الأسبوع وأنظمة الترقيم. أوروبي يعيش في الولايات المتحدة قد يفضلون أن تكون وحدات درجة الحرارة بالدرجة المئوية بدلاً من الفهرنهايت التي تتعامل مع يوم الاثنين على أنه بداية الأسبوع بدلاً من الوضع الافتراضي في الولايات المتحدة الأحد

توفّر قوائم إعدادات Android الجديدة لهذه الإعدادات المفضّلة للمستخدمين مكانًا يسهل العثور عليه ويكون مركزيًا لتغيير الإعدادات المفضّلة للتطبيقات. هذه والتفضيلات أيضًا من خلال النسخ الاحتياطي والاستعادة. هناك العديد من واجهات برمجة التطبيقات الأهداف - مثل getTemperatureUnit أو getFirstDayOfWeek— منح تطبيقك إذن الوصول للقراءة إلى إعدادات المستخدم المفضّلة، حتى يتمكّن التطبيق من تعديل إعداداته تعرض المعلومات. يمكنك أيضًا تسجيل خيار "BroadcastReceiver" مفعَّل ACTION_LOCALE_CHANGED لمعالجة تغييرات إعدادات اللغة عند تغيير الإعدادات المفضّلة للمنطقة.

للعثور على هذه الإعدادات، افتح تطبيق "الإعدادات" وانتقِل إلى النظام > اللغات والإدخال > الإعدادات المفضّلة على مستوى المنطقة.

شاشة الإعدادات المفضّلة على مستوى المنطقة في إعدادات نظام Android
خيارات درجة الحرارة للإعدادات المفضّلة على مستوى المنطقة في إعدادات نظام Android

تسهيل الاستخدام

الضبط غير الخطي لحجم الخط بما يصل إلى ‎200%

从 Android 14 开始,系统支持字体放大高达 200%,为用户提供了其他无障碍功能选项。

为防止屏幕上的大文本元素过于放大,系统会采用非线性放大曲线。这种放大策略意味着大号文本的放大比例不会与较小的文本相同。非线性字体放大有助于保持不同大小元素之间的比例层次结构,同时缓解高级别线性文本放大存在的问题(例如文本被截断或文本因非常大的显示大小而难以阅读)。

使用非线性字体放大测试应用

在设备的无障碍设置中启用最大字号,以测试应用。

如果您已使用可缩放像素 (sp) 单位来定义文本大小,那么这些额外的选项和缩放改进会自动应用于应用中的文本。不过,您仍应在启用最大字体大小 (200%) 的情况下执行界面测试,以确保应用正确应用字体大小,并且可以容纳更大的字体大小,而不会影响易用性。

要启用 200% 字号,请按以下步骤操作:

  1. 打开“设置”应用,然后依次前往无障碍 > 显示大小和文字
  2. 字号选项中,点按加号 (+) 图标,直到启用最大字号设置,如本部分随附的图片所示。

针对文本大小使用放大像素 (sp) 单位

请务必始终以 sp 为单位指定文本大小。当应用使用 sp 单位时,Android 可以应用用户的首选文本大小,并相应地进行缩放。

不要为内边距使用 sp 单位,也不要定义假设存在隐式内边距的视图高度:使用非线性字体放大 sp 尺寸可能并不成比例,因此 4sp + 20sp 可能并不等于 24sp。

转换放大像素 (sp) 单位

使用 TypedValue.applyDimension() 从 sp 单位转换为像素,并使用 TypedValue.deriveDimension() 将像素转换为 sp。这些方法会自动应用适当的非线性放大曲线。

避免使用 Configuration.fontScaleDisplayMetrics.scaledDensity 对等式进行硬编码。由于字体放大是非线性的,因此 scaledDensity 字段不再准确。fontScale 字段应仅用于提供信息,因为字体不再使用单个标量值进行缩放。

针对 lineHeight 使用 sp 单位

请始终使用 sp 单位(而非 dp)定义 android:lineHeight,以便行高随文本一起缩放。否则,如果您的文字是 sp,但 lineHeight 是 dp 或像素,则文字不会缩放,看起来会很拥挤。 TextView 会自动更正 lineHeight,以便保留您预期的比例,但前提是 textSizelineHeight 均以 sp 单位定义。

الكاميرا والوسائط

دقة HDR فائقة للصور

صورة توضيحية لجودة الصور بنطاق عادي ديناميكية (SDR) مقارنةً بنطاق عالي الديناميكية (HDR).

يتيح نظام التشغيل Android 14 استخدام صور النطاق العالي الديناميكية (HDR) التي تحتفظ بمزيد من المعلومات الواردة من أداة الاستشعار عند التقاط صورة، ما يتيح الحصول على ألوان زاهية ودرجة تباين أكبر. يستخدم نظام Android تنسيق Ultra HDR، وهو متوافق تمامًا مع صور JPEG القديمة، ما يسمح للتطبيقات بالعمل بسلاسة مع صور HDR وعرضها بنطاق ديناميكي عادي (SDR) عند الحاجة.

ويتم عرض هذه الصور في واجهة المستخدم بتنسيق HDR تلقائيًا من خلال إطار العمل عندما يختار تطبيقك استخدام واجهة مستخدم بتنسيق HDR لـ "نافذة النشاط"، إما من خلال أحد إدخالات ملف البيان أو أثناء التشغيل من خلال استدعاء Window.setColorMode(). يمكنك أيضًا التقاط صور ثابتة فائقة التباين الديناميكي (HDR) المضغوطة على الأجهزة المتوافقة. من خلال استرداد المزيد من الألوان من أداة الاستشعار، يمكن أن يكون التعديل في مرحلة ما بعد الإنتاج أكثر مرونة. يمكن استخدام رمز الترميز Gainmap المرتبط بالصور ذات النطاق العالي الديناميكية الفائق لعرضها باستخدام OpenGL أو Vulkan.

التكبير/التصغير والتركيز والمعاينة بعد الالتقاط والمزيد في إضافات الكاميرا

يُجري نظام Android 14 ترقيات وتحسينات على إضافات الكاميرا، ويسمح للتطبيقات بمعالجة الصور لفترات أطول، ما يؤدي إلى تحسين الصور باستخدام خوارزميات كثيفة الاستخدام للمعالجة، مثل التصوير في الإضاءة المنخفضة على الأجهزة المتوافقة. وتوفّر هذه الميزات للمستخدمين تجربة أكثر فعالية عند استخدام إمكانات توسيع نطاق الكاميرا. تشمل أمثلة هذه التحسينات ما يلي:

  • يقدّم تقدير وقت الاستجابة لمعالجة الصور الثابتة الديناميكية مزيدًا من الدقة في تقدير وقت الاستجابة لالتقاط الصور الثابتة استنادًا إلى المشهد الحالي وظروف التصوير. استخدِم دالة CameraExtensionSession.getRealtimeStillCaptureLatency() للحصول على عنصر StillCaptureLatency يتضمّن طريقتَين لتقدير وقت الاستجابة. تُرجع الطريقة getCaptureLatency() وقت الاستجابة المقدَّر بين onCaptureStarted و onCaptureProcessStarted()، وتُرجع الطريقة getProcessingLatency() وقت الاستجابة المقدَّر بين onCaptureProcessStarted() ووقت توفُّر الإطار النهائي الذي تمت معالجته.
  • إتاحة عمليات استدعاء لعرض مستوى التقدّم في الالتقاط كي تتمكّن التطبيقات من عرض المستوى الحالي للتقدّم في عمليات معالجة الصور الثابتة التي تستغرق وقتًا طويلاً يمكنك التحقّق مما إذا كانت هذه الميزة متاحة مع CameraExtensionCharacteristics.isCaptureProcessProgressAvailable، وإذا كانت متاحة، يمكنك تنفيذ دالة callback الخاصة بتسجيل التقدّم onCaptureProcessProgressed()، والتي تم تمرير التقدّم (من 0 إلى 100) إليها كمَعلمة.
  • البيانات الوصفية الخاصة بالإضافة، مثل CaptureRequest.EXTENSION_STRENGTH للاتصال برقم هاتفي مقدار تأثير الإضافة، مثل مقدار التمويه في الخلفية باستخدام EXTENSION_BOKEH

  • ميزة "العرض اللاحق" لالتقاط الصور في إضافات الكاميرا، والتي تقدّم صورة تمّت معالجتها بشكل أقلّ بسرعة أكبر من الصورة النهائية إذا كانت إضافة الصور تزيد من وقت الاستجابة في المعالجة، يمكن تقديم صورة ما بعد المشاهدة كعنصر بدلٍ لتحسين تجربة المستخدم واستبدالها لاحقًا بالصورة النهائية. يمكنك معرفة ما إذا كانت هذه الميزة متاحة باستخدام CameraExtensionCharacteristics.isPostviewAvailable. بعد ذلك، يمكنك تمرير OutputConfiguration إلى ExtensionSessionConfiguration.setPostviewOutputConfiguration.

  • إتاحة استخدام SurfaceView للاستفادة من مسار عرض معاينة أكثر فعالية من حيث الطاقة

  • إتاحة ميزة "النقر للتركيز" والتكبير/التصغير أثناء استخدام الإضافة

التكبير داخل المستشعر

CameraCharacteristics 中的 REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE 包含 SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW 时,您的应用可以使用高级传感器功能,将剪裁后的 RAW 数据流的像素与全视野范围相同,方法是将 CaptureRequest 与将数据流用例设置为 CameraMetadata.SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW 的 RAW 目标搭配使用。通过实现请求替换控件,更新后的相机可让用户在其他相机控件准备就绪之前使用缩放控件。

صوت عالي الدقة عبر USB

يتيح نظام Android 14 استخدام تنسيقات الصوت غير القابل للفقد لتوفير تجارب رائعة تتعلّق بالصوت عبر سماعات الرأس السلكية USB. يمكنك الاستعلام عن جهاز USB للحصول على سمات أداة المزج المفضّلة، وتسجيل مستمع للتغييرات فيسمات أداة المزج المفضّلة، وضبط سمات أداة المزج باستخدام فئة AudioMixerAttributes. تمثّل هذه الفئة التنسيق، مثل قناع القناة ومعدّل أخذ العينات وسلوك أداة مزج الصوت. تسمح الفئة بإرسال الصوت مباشرةً، بدون مزج أو تعديل مستوى الصوت أو تطبيق تأثيرات المعالجة.

إنتاجية المطوّرين وأدواتهم

مدير بيانات الاعتماد

يضيف الإصدار 14 من Android واجهة برمجة التطبيقات Credential Manager كواجهة برمجة تطبيقات لمنصّة Android، مع إتاحة استخدامها على أجهزة Android 4.4 (المستوى 19 من واجهة برمجة التطبيقات) والإصدارات الأقدم من خلال مكتبة Jetpack باستخدام "خدمات Google Play". يهدف Credential Manager إلى تسهيل تسجيل الدخول للمستخدمين من خلال واجهات برمجة التطبيقات التي تسترجع بيانات الاعتماد وتخزّنها باستخدام موفّري بيانات الاعتماد الذين يضبطهم المستخدم. توفِّر واجهة برمجة التطبيقات Credential Manager طُرق تسجيل دخول متعدّدة، بما في ذلك اسم المستخدم وكلمة المرور ومفاتيح المرور، وحلول تسجيل الدخول الموحَّدة (مثل "تسجيل الدخول باستخدام حساب Google") في واجهة برمجة تطبيقات واحدة.

توفّر مفاتيح المرور العديد من المزايا. على سبيل المثال، تم إنشاء مفاتيح المرور استنادًا إلى المعايير المتّبعة في المجال، ويمكن استخدامها في مختلَف أنظمة التشغيل والمنظومات المتكاملة للمتصفِّحات، ويمكن استخدامها مع كلٍّ من المواقع الإلكترونية والتطبيقات.

لمزيد من المعلومات، يُرجى الاطّلاع على مستندات "مدير بيانات الاعتماد" ومفاتيح المرور ومقالة المدونة حول "مدير بيانات الاعتماد" ومفاتيح المرور.

Health Connect

‫Health Connect هو مستودع على الجهاز لبيانات الصحة واللياقة البدنية للمستخدم. ويسمح الإعداد للمستخدمين بمشاركة البيانات بين تطبيقاتهم المفضّلة، مع توفير مكان واحد للتحكّم في البيانات التي يريدون مشاركتها مع هذه التطبيقات.

على الأجهزة التي تعمل بإصدارات Android أقدم من Android 14، يمكن تنزيل تطبيق Health Connect من متجر Google Play. بدءًا من الإصدار Android 14، أصبح تطبيق Health Connect جزءًا من المنصة ويتلقّى تحديثات من خلال تحديثات نظام Google Play بدون الحاجة إلى تنزيله بشكل منفصل. وبفضل ذلك، يمكن تحديث Health Connect بشكل متكرّر، ويمكن لتطبيقاتك الاعتماد على توفّر Health Connect على الأجهزة التي تعمل بالإصدار 14 من نظام Android أو الإصدارات الأحدث. يمكن للمستخدمين الوصول إلى Health Connect من خلال "الإعدادات" في أجهزتهم، مع دمج عناصر التحكّم في الخصوصية في إعدادات النظام.

يمكن للمستخدمين بدء استخدام Health Connect بدون تنزيل تطبيق منفصل على الأجهزة التي تعمل بنظام التشغيل Android 14 أو إصدار أحدث.
يمكن للمستخدمين التحكّم في التطبيقات التي يمكنها الوصول إلى بيانات صحتهم ولياقتهم البدنية من خلال إعدادات النظام.

يتضمّن Health Connect العديد من الميزات الجديدة في Android 14، مثل مسار التمارين، ما يتيح للمستخدمين مشاركة مسار تمرينهم الذي يمكن عرضه visually على خريطة. يتم تعريف المسار على أنّه قائمة بالمواقع الجغرافية المحفوظة خلال فترة زمنية معيّنة، ويمكن لتطبيقك إدراج المسارات في جلسات التمارين، وربطها معًا. لضمان حصول المستخدمين على التحكّم الكامل في هذه البيانات الحسّاسة، يجب أن يسمح المستخدمون بمشاركة مسارات فردية مع تطبيقات أخرى.

لمزيد من المعلومات، يُرجى الاطّلاع على مستندات Health Connect والمقالة في المدونة حول الميزات الجديدة في تطبيق "صحة Android".

تعديلات OpenJDK 17

Android 14 将继续更新 Android 的核心库,以与最新 OpenJDK LTS 版本中的功能保持一致,包括适合应用和平台开发者的库更新和 Java 17 语言支持。

其中包含以下功能和改进:

  • 将大约 300 个 java.base 类更新为支持 Java 17。
  • 文本块 - 为 Java 编程语言引入了多行字符串字面量。
  • instanceof 模式匹配:可让对象在 instanceof 中被视为具有特定类型,而无需任何额外的变量。
  • 密封类:允许您限制哪些类和接口可以扩展或实现它们。

得益于 Google Play 系统更新 (Project Mainline),6 亿多台设备能够接收包含这些更改的最新 Android 运行时 (ART) 更新。我们致力于为应用提供更加一致、安全的跨设备环境,并为用户提供独立于平台版本的新功能。

Java 和 OpenJDK 是 Oracle 及/或其关联公司的商标或注册商标。

تحسينات على متاجر التطبيقات

يقدّم نظام التشغيل Android 14 العديد من واجهات برمجة تطبيقات PackageInstaller التي تسمح لمتاجر التطبيقات بتحسين تجربة المستخدمين.

طلب الموافقة على التثبيت قبل التنزيل

قد يتطلّب تثبيت تطبيق أو تحديثه موافقة المستخدم. على سبيل المثال، عندما يحاول أحد تطبيقات التثبيت التي تستخدم إذن REQUEST_INSTALL_PACKAGES تثبيت تطبيق جديد، لا يمكن لمتاجر التطبيقات طلب موافقة المستخدم إلا بعد كتابة حِزم APK في جلسة التثبيت وإتمام الجلسة.

اعتبارًا من Android 14، تتيح طريقة requestUserPreapproval() للمُثبّتين طلب موافقة المستخدم قبل إكمال جلسة التثبيت. يتيح هذا التحسين لمتجر التطبيقات تأجيل تنزيل أي حِزم APK إلى بعد أن يوافق المستخدم على التثبيت. بالإضافة إلى ذلك، بعد أن يمنح أحد المستخدمين موافقته على التثبيت، يمكن لمتجر التطبيقات تنزيل التطبيق وتثبيته في الخلفية بدون مقاطعة المستخدم.

تأكيد مسؤولية التعديلات المستقبلية

تسمح طريقة setRequestUpdateOwnership() للمثبّت بإعلام النظام بأنّه سيتحمّل مسؤولية التحديثات المستقبلية للتطبيق الذي يتم تثبيته. تتيح هذه الميزة فرض ملكية التحديث، ما يعني أنّه لا يُسمح إلا لمالك التحديث بتثبيت التحديثات التلقائية للتطبيق. ويساعد فرض ملكية التحديث في ضمان تلقّي المستخدمين للتحديثات من متجر التطبيقات المتوقّع فقط.

يجب أن يحصل أي مُثبِّت آخر، بما في ذلك مُثبِّتي التطبيقات الذين يستخدمون إذن INSTALL_PACKAGES، على موافقة صريحة من المستخدمين لتثبيت التحديث. إذا قرّر أحد المستخدِمين مواصلة تعديل من مصدر آخر، ستتم فقدان ملكية التعديل.

تحديث التطبيقات في أوقات أقل إزعاجًا

تحاول متاجر التطبيقات عادةً تجنُّب تحديث تطبيق قيد الاستخدام بشكل نشط، لأنّ ذلك يؤدي إلى إيقاف العمليات الجارية للتطبيق، ما قد يؤدي بدوره إلى إيقاف ما كان يفعله المستخدم.

بدءًا من Android 14، تقدّم واجهة برمجة التطبيقات InstallConstraints للمُثبّتين طريقة لضمان إجراء تحديثات التطبيقات في الوقت المناسب. على سبيل المثال، يمكن لمتجر تطبيقات استدعاء الأسلوب commitSessionAfterInstallConstraintsAreMet() لمحاولة التأكد من عدم التزام المستخدم بالتغييرات إلا عندما يتوقف عن التفاعل مع التطبيق المعني.

تثبيت الفواصل الاختيارية بسلاسة

باستخدام حِزم APK المجزّأة، يمكن توفير ميزات التطبيق في حِزم APK منفصلة، بدلاً من حزمة APK واحدة. تسمح ملفات APK المجزّأة لمتاجر التطبيقات بتحسين عرض مكوّنات التطبيق المختلفة. على سبيل المثال، قد تعمل متاجر التطبيقات على تحسين التطبيقات استنادًا إلى خصائص الجهاز المستهدَف. كانت واجهة برمجة التطبيقات PackageInstaller متوافقة مع عمليات التقسيم منذ إدخالها في المستوى 22 من واجهة برمجة التطبيقات.

في نظام التشغيل Android 14، تسمح طريقة setDontKillApp() لتطبيق التثبيت بتحديد أنّه يجب عدم إنهاء عمليات التطبيق الجارية عند تثبيت أقسام جديدة. يمكن لمتاجر التطبيقات استخدام هذه الميزة لتثبيت ميزات جديدة للتطبيق بسلاسة أثناء استخدام المستخدم للتطبيق.

حِزم البيانات الوصفية للتطبيق

اعتبارًا من الإصدار Android 14، يتيح لك أداة تثبيت حِزم Android تحديد البيانات الوصفية للتطبيق، مثل ممارسات أمان البيانات، لتضمينها في صفحات متجر التطبيقات، مثل Google Play.

رصد وقت أخذ المستخدمين لقطات شاشة للجهاز

لإنشاء تجربة أكثر توحيدًا في ما يتعلّق برصد لقطات الشاشة، يقدّم نظام التشغيل Android 14 واجهة برمجة تطبيقات لرصد لقطات الشاشة تحافظ على الخصوصية. تتيح واجهة برمجة التطبيقات هذه للتطبيقات تسجيل عمليات ردّ على مستوى كل نشاط. يتم استدعاء عمليات الرجوع هذه وإرسال إشعار إلى المستخدم عندما يلتقط لقطة شاشة أثناء ظهور هذا النشاط.

تجربة المستخدم

الإجراءات المخصّصة في ورقة المشاركة والترتيب المحسّن

يُعدّل نظام التشغيل Android 14 جدول مشاركة النظام ليتيح إجراءات التطبيقات المخصّصة ونتائج معاينة أكثر فائدة للمستخدمين.

إضافة إجراءات مخصّصة

باستخدام الإصدار 14 من نظام التشغيل Android، يمكن لتطبيقك إضافة إجراءات مخصّصة إلى جدول مشاركة النظام الذي يستدعيه.

لقطة شاشة لإجراءات مخصّصة في لوحة المشاركة

تحسين ترتيب استهدافات المشاركة المباشرة

يستخدم الإصدار 14 من نظام التشغيل Android المزيد من الإشارات من التطبيقات لتحديد ترتيب استهدافات مشاركة المحتوى المباشر من أجل تقديم نتائج أكثر فائدة للمستخدم. لتقديم الإشارة الأكثر فائدة للترتيب، اتّبِع الإرشادات المتعلقة ب تحسين ترتيب استهدافات "المشاركة المباشرة". يمكن أيضًا لتطبيقات التواصل الإبلاغ عن استخدام الاختصارات للرسائل المغادرة والواردة.

صف المشاركة المباشرة في لوحة المشاركة، كما هو موضّح في 1

إتاحة صور متحركة مضمّنة ومخصّصة لإيماءة "الرجوع التنبؤي"

视频:预测性返回动画

Android 13 在开发者选项背后引入了预测性“返回主屏幕”动画。在已启用开发者选项的受支持应用中使用时,滑回手势会显示动画,表明返回手势会使应用退回到主屏幕。

Android 14 包含针对“预测性返回”的多项改进和新指南:

在此 Android 14 预览版中,所有预测性返回功能都是位于开发者选项背后。请参阅与将您的应用迁移到预测性返回有关的开发者指南,以及与创建自定义应用内转换有关的开发者指南

عمليات الإلغاء على مستوى التطبيق من قِبل مصنّع الأجهزة ذات الشاشات الكبيرة

تتيح عمليات إلغاء الإعدادات على مستوى التطبيق لصنّاع الأجهزة تغيير سلوك التطبيقات على الأجهزة ذات الشاشات الكبيرة. على سبيل المثال، عند إلغاء FORCE_RESIZE_APP، يتم توجيه النظام لتغيير حجم التطبيق ليلائم أبعاد العرض (وتجنُّب وضع توافق الحجم) حتى في حال ضبط resizeableActivity="false" في بيان التطبيق.

تهدف عمليات الإلغاء إلى تحسين تجربة المستخدم على الشاشات الكبيرة.

تتيح لك سمات البيان الجديدة إيقاف بعض عمليات إلغاء الشركة المصنّعة للجهاز لتطبيقك.

عمليات إلغاء على مستوى التطبيق لمستخدمي الشاشات الكبيرة

تؤدي عمليات التجاوز لكل تطبيق إلى تغيير سلوك التطبيقات على الأجهزة ذات الشاشات الكبيرة. على سبيل المثال، يمكن للشركة المصنّعة للجهاز OVERRIDE_MIN_ASPECT_RATIO_LARGE إلغاء الإعدادات وضبط نسبة عرض إلى ارتفاع التطبيق على 16:9 بغض النظر عن إعدادات التطبيق.

يتيح الإصدار 1 من الربع الثاني من العام 2021 من نظام التشغيل Android 14 للمستخدمين تطبيق عمليات إلغاء على مستوى كل تطبيق من خلال قائمة إعدادات جديدة على الأجهزة ذات الشاشات الكبيرة.

مشاركة شاشة التطبيق

تتيح ميزة "مشاركة شاشة التطبيق" للمستخدمين مشاركة نافذة تطبيق بدلاً من شاشة الجهاز بالكامل أثناء تسجيل محتوى الشاشة.

عند مشاركة شاشة التطبيق، يتم استبعاد شريط الحالة وشريط التنقّل والإشعارات وعناصر واجهة مستخدم النظام الأخرى من الشاشة المشترَكة. تتم مشاركة محتوى التطبيق المحدّد فقط.

تعمل ميزة "مشاركة شاشة التطبيق" على تحسين الإنتاجية والخصوصية من خلال السماح للمستخدمين بتشغيل تطبيقات متعددة مع حصر مشاركة المحتوى بتطبيق واحد.

ميزة "الرد السريع" المستندة إلى نماذج اللغات الكبيرة في Gboard على هاتف Pixel 8 Pro

على أجهزة Pixel 8 Pro التي تم تثبيت حزمة ميزات شهر كانون الأول (ديسمبر) عليها، يمكن للمطوّرين تجربة ردود سريعة بجودة أعلى في Gboard، وذلك باستخدام نماذج لغوية كبيرة (LLM) على الجهاز تعمل على معالج Google Tensor.

تتوفّر هذه الميزة في إصدار تجريبي محدود باللغة الإنجليزية (الولايات المتحدة) في WhatsApp وLine وKakaoTalk. تتطلّب الميزة استخدام جهاز Pixel 8 Pro مع Gboard ك keyboard.

لتجربة هذه الميزة، عليك أولاً تفعيلها من خلال الانتقال إلى الإعدادات > خيارات المطوّرين > إعدادات AICore > تفعيل ميزة Aicore Persistent.

بعد ذلك، افتح محادثة في تطبيق متوافق للاطّلاع على ميزة "الرد السريع" المستندة إلى نموذج اللغة الكبيرة في شريط اقتراحات Gboard استجابةً للرسائل الواردة.

تستخدم Gboard نماذج لغوية كبيرة على الجهاز لتقديم ردود سريعة ذكية وعالية الجودة.

الرسومات

يمكن البحث عن المسارات وتعديلها.

Path API هي آلية فعّالة ومرنة ل إنشاء الرسومات المتجهّة وعرضها، مع إمكانية رسم خطوط أو ملء مسار أو إنشاء مسار من أجزاء خطية أو منحنيات ثنائية أو ثلاثية الحدود، أو تنفيذ عمليات منطقية للحصول على أشكال أكثر تعقيدًا، أو كل ذلك في الوقت نفسه. ويتمثل أحد القيود في القدرة على معرفة ما هو موجود بالفعل في كائن "مسار"، وتكون العناصر الداخلية للكائن معتمة للمتصلين بعد إنشائه.

لإنشاء Path، يمكنك استدعاء طرق مثل moveTo() وlineTo() و cubicTo() لإضافة شرائح مسار. ولكن لم تكن هناك طريقة للسؤال عن الأجزاء في هذا المسار، لذلك يجب عليك الاحتفاظ بهذه المعلومات في وقت الإنشاء.

بدءًا من Android 14، يمكنك طلب البحث عن المسارات لمعرفة ما بداخلها. عليك أولاً الحصول على كائن PathIterator باستخدام واجهة برمجة تطبيقات Path.getPathIterator:

Kotlin

val path = Path().apply {
    moveTo(1.0f, 1.0f)
    lineTo(2.0f, 2.0f)
    close()
}
val pathIterator = path.pathIterator

Java

Path path = new Path();
path.moveTo(1.0F, 1.0F);
path.lineTo(2.0F, 2.0F);
path.close();
PathIterator pathIterator = path.getPathIterator();

بعد ذلك، يمكنك استدعاء الدالة PathIterator لتكرار الشرائح الواحد تلو الآخر، واسترداد جميع البيانات اللازمة لكل شريحة. يستخدم هذا المثال كائنات PathIterator.Segment التي تحزم البيانات نيابةً عنك:

Kotlin

for (segment in pathIterator) {
    println("segment: ${segment.verb}, ${segment.points}")
}

Java

while (pathIterator.hasNext()) {
    PathIterator.Segment segment = pathIterator.next();
    Log.i(LOG_TAG, "segment: " + segment.getVerb() + ", " + segment.getPoints());
}

لدى PathIterator أيضًا إصدار غير مخصّص من next() يمكنك تمريره في مخزن مؤقت للاحتفاظ ببيانات النقاط.

من حالات الاستخدام المهمة لطلب بيانات Path هي الاستقراء. على سبيل المثال، قد ترغب في إضافة تأثير متحرك (أو تحويل) بين مسارين مختلفين. لتبسيط حالة الاستخدام هذه بشكل أكبر، يتضمّن Android 14 أيضًا طريقة interpolate() في Path. بافتراض أنّ المسارَين لهما البنية الداخلية نفسها، تنشئ الطريقة interpolate() Path جديدة مع تلك النتيجة المضمَّنة. يعرض هذا المثال مسارًا يكون شكله في منتصف الطريق (تداخل خطي بنسبة 0.5) بين path وotherPath:

Kotlin

val interpolatedResult = Path()
if (path.isInterpolatable(otherPath)) {
    path.interpolate(otherPath, .5f, interpolatedResult)
}

Java

Path interpolatedResult = new Path();
if (path.isInterpolatable(otherPath)) {
    path.interpolate(otherPath, 0.5F, interpolatedResult);
}

تتيح مكتبة graphics-path في Jetpack واجهات برمجة تطبيقات مشابهة لإصدارات Android الأقدم أيضًا.

شبكات مخصّصة مع مظلّلات الرؤوس والتقسيمات

منذ فترة طويلة، يتيح Android رسم شبكات مثلثية باستخدام تظليل مخصّص، ولكن كان تنسيق شبكة الإدخال يقتصر على بعض مجموعات السمات المحدّدة مسبقًا. يتيح نظام Android 14 استخدام الشبكات المخصّصة التي يمكن تحديدها على أنّها مثلثات أو شرائح مثلثية، ويمكن فهرستها اختياريًا. يتم تحديد هذه الشبكات باستخدام سمات مخصّصة وخطوات رؤوس العناصر المتغيّرة وبرامج تشويش رؤوس العناصر والعناصر الصغيرة المكتوبة بلغة AGSL.

يحدّد برنامج تظليل رؤوس المضلّعات المتغيّرات، مثل الموضع واللون، في حين يمكن لبرنامج تظليل العناصر تحديد لون البكسل اختياريًا، عادةً باستخدام المتغيّرات التي أنشأها برنامج تظليل رؤوس المضلّعات. إذا كان اللون مقدَّمًا منshader القطعة، يتم دمجه بعد ذلك مع Paint اللون الحالي باستخدام وضع الدمج الذي تم اختياره عند رسم الشبكة. يمكن تمرير المتجانسات إلى برامج تظليل الشرائح والرؤوس للحصول على مرونة إضافية.

أداة عرض المخزن المؤقت للأجهزة في Canvas

للمساعدة في استخدام واجهة برمجة التطبيقات Canvas في Android للرسم باستخدام التسارع في الأجهزة في HardwareBuffer، يوفّر الإصدار 14 من Android HardwareBufferRenderer. واجهة برمجة التطبيقات هذه عندما تشتمل حالة الاستخدام على التواصل مع النظام المكون من خلال SurfaceControl لوقت الاستجابة المنخفض رسم.