ARCore for Jetpack XR
| آخر تعديل | الإصدار الثابت | إصدار محتمل | الإصدار التجريبي | الإصدار الأوّلي |
|---|---|---|---|---|
| 9 سبتمبر 2026 | - | 1.0.0-rc01 | - | - |
تحديد الاعتماديات
لإضافة اعتمادية على ARCore for Jetpack XR، يجب تضمين مستودع Google Maven في مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.
أضِف الاعتماديات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle لتطبيقك أو وحدتك:
Groovy
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-rc01" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-rc01") }
لمزيد من المعلومات حول الاعتماديات، يُرجى الاطّلاع على إضافة اعتماديات الإصدار.
الملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.
يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.
الإصدار 1.0
الإصدار 1.0.0-rc01
9 سبتمبر 2026
تم طرح androidx.xr.arcore:arcore-*:1.0.0-rc01. يتضمّن الإصدار 1.0.0-rc01 هذه التعديلات.
الإصدار 1.0.0-beta02
12 أغسطس 2026
تم طرح androidx.xr.arcore:arcore-*:1.0.0-beta02. يتضمّن الإصدار 1.0.0-beta02 هذه التعديلات.
إصلاح الأخطاء
- تم إصلاح مشكلة التزامن في استمرار عنصر
OpenXRالثابت. (I15c8b) - تم تنفيذ
toString()في المزيد من الفئات لتصحيح الأخطاء. (I587e8)
الإصدار 1.0.0-beta01
15 يوليو 2026
تم طرح androidx.xr.arcore:arcore-*:1.0.0-beta01. يتضمّن الإصدار 1.0.0-beta01 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- تم تعديل المعدِّل القابل لتغيير الحجم لاستخدام
ResizePolicyبدلاً من معدِّلَين (I7fb0f وb/496257436 وb/519672992) - تمت إضافة حمل زائد قابل للنقل مع المَعلمة
movePolicyوإيقافtransformingMovableوmovableنهائيًا (Ic88c1، b/481781189) - تمت إزالة
TrackingState.TRACKING_DEGRADED من مساحة واجهة برمجة التطبيقات العامة، وتم بدلاً من ذلك ربط الحالات المتدهورة في وقت التشغيل بالحالة PAUSED. عدِّلTrackingStateلاستخدام التعدادات بدلاً من قيم الأعداد الصحيحة لتحويل السلسلة والتحويل في وقت التشغيل. (I3eb5b، b/524326338) - تم تحويل Session.create إلى دالة تعليق. (I5d27f)
- تم إيقاف
ProjectedPermissionsResultContractنهائيًا (I141d5، b/515699436) - تم تعديل
AnchorEntityليصبح اسمهAnchorSpace(Ifa95e، b/513619219)
الإصدار 1.0.0-alpha15
17 يونيو 2026
تم طرح androidx.xr.arcore:arcore-*:1.0.0-alpha15. يتضمّن الإصدار 1.0.0-alpha15 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تمت إزالة الحقل "
HitResult.createAnchor". يمكن للمطوّرين إنشاء عنصر ربط يمثّلHitResultإذا كان العنصر القابل للتتبّع في النتيجة هوAnchorableمن خلال تقديم موضع الضربة إلى الدالةcreateAnchorالخاصة بـAnchorable. (Ia851e) - تمت إزالة الحقل "
AnchorUnsupportedObject". لم يعُد يتم عرض هذا الخطأ بواسطة وقت تشغيل JXR ARCore. (Ia851e) - تطبّق
androidx.xr.arcore.Anchorوandroidx.xr.arcore.ArDeviceالآنandroidx.xr.arcore.Trackable. (I57b65) - أصبحت السمتان
Depth.leftوDepth.rightوDepth.monoغير قابلة للقيم الفارغة (I1fc5e) - أصبح
Face.getUserFaceالآن غير قابل للقيم الخالية (I0eac1) - أصبحت السمة
RenderViewpoint.leftوRenderViewpoint.rightوRenderViewpoint.monoغير قابلة للقيم الخالية (Icf7fa) -
Hand.leftوHand.rightغير قابلتَين للتصغير (Icef37) - تمت إضافة واجهة برمجة التطبيقات
QrCode(Ia0bbe)
الإصدار 1.0.0-alpha14
19 مايو 2026
تم طرح androidx.xr.arcore:arcore-*:1.0.0-alpha14. يتضمّن الإصدار 1.0.0-alpha14 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- إيقاف
GeospatialMode.VPS_AND_GPSنهائيًا واستبداله بـGeospatialMode.SPATIAL، وإطلاق وضع تتبُّع جديد منخفض الطاقة،GeospatialMode.INERTIAL، لا يستخدم سوى وحدة القياس بالقصور الذاتي ونظام تحديد المواقع العالمي (GPS). (I1e6cd) - فئات استثناءات نقاط الارتكاز المخصّصة:
AnchorInvalidUuidExceptionوAnchorNotAuthorizedExceptionوAnchorUnsupportedLocationExceptionوAnchorRuntimeFailureExceptionوAnchorUnsupportedObjectExceptionهي الآن مثيلاتRuntimeException، ولا يُفترض التحقّق منها. (I9356e) - تمت إضافة واجهة برمجة التطبيقات
ArCoreTestRule، بما في ذلكTestArDeviceوTestAugmentableObjectوTestDepthMapوTestEyeوTestFaceوTestGeospatialوTestHandوTestPlaneوTestRenderViewpointوTestTrackable(I0ad3c) - يزيل
AnchorLoadInvalidUuidوAnchorCreateUnsupportedObjectوAnchorCreateUnsupportedLocationوAnchorCreateNotAuthorized. أصبحت كل هذه الأخطاء الآن استثناءات في وقت التشغيل. تزيل هذه الطريقةAnchorCreateIllegalState. تم استبدال ذلك بـAnchorCreateTrackingUnavailableفي معظم الحالات. تضيف هذه السمةAnchorExceptionوالفئات الفرعيةAnchorInvalidUuidExceptionوAnchorNotAuthorizedExceptionوAnchorUnsupportedLocationExceptionوAnchorRuntimeFailureExceptionوAnchorUnsupportedObjectException. (I4c4dd)
المساهمة الخارجية
- تمت إضافة واجهة برمجة التطبيقات
AugmentedImageلتتبُّع محدّدات المواقع المخصّصة (I0cf09)
الإصدار 1.0.0-alpha13
6 مايو 2026
تم طرح androidx.xr.arcore:arcore-*:1.0.0-alpha13. يتضمّن الإصدار 1.0.0-alpha13 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تم نقل
TrackingStateوVpsAvailabilityResultإلىandroidx.xr.arcore package، وأصبحت الأنواع فيandroidx.xr.runtimeغير متوافقة الآن. (Ic7930، b/480462213) - تمت إعادة تسمية
Plane.TypeإلىPlaneType. (I8c90c، b/482675376) - تمت إعادة تسمية
Hand.HandSideإلىHandSide. (Ica562، b/482675376) - تمت إعادة تسمية
Plane.LabelإلىPlaneLabel. (Ic6b67، b/482675376) - تمت إعادة تسمية
Geospatial.SurfaceإلىGeospatialSurface. (I1a8be، b/482675376) - تمت إعادة تسمية
Geospatial.StateإلىGeospatialState. (I203fa، b/482675376) - تم نقل واجهة برمجة التطبيقات
NativeDataإلى مكتبةxr:runtime:runtime. (I87954، b/494251500) - أصبحت
Session.createوSession.configureغير شاملة الآن وتتطلّب عبارات else في عبارات when. (I9885e، b/495805998، b/495805998) - تم إيقاف
androidx.xr.runtime.FieldOfViewنهائيًا. استخدِمandroidx.xr.runtime.math.FieldOfViewبدلاً من ذلك. (Ia01a0، b/480233045) - تم تغيير Orbiter لاستخدام
OrbiterAnchorPoint + VolumeOffsetأوOrbiterPoseProviderبدلاً من position وoffset وoffsetType وalignment وelevation. تمّت أيضًا إزالة المَعلمةshouldRenderInNonSpatial. إذا كان المطوّر لا يريد عرض العنصر الدوّار في وضع غير مكاني، عليه تضمين العنصر الدوّار في عبارة if والتحقّق منSpatialCapabilities. (I9fbb3، b/462428503) - تمت إضافة أدوات تعديل قابلة للنقل. تعمل أدوات التعديل هذه بشكل جيد في الوقت الحالي مع
SpatialPanelsوSpatialExternalSurface. وستتوفّر قريبًا أيضًا فيSpatialGltfModels. ومع ذلك، فإنّ الهدف هو أن تكون هذه الميزات متوافقة بشكل جيد مع جميعSubspaceComposables. (I9a3cd، b/479530787، b/478935063، b/478935063) - على المطوّرين اتّباع
ArDevice.stateمسار العمل لمراقبةState.trackingStateوتعديل عرض التطبيق أو التحذيرات وفقًا لذلك استنادًا إلى دقة التتبُّع. (Ic00f0، b/445466590) - تمت إعادة تسمية قيم التعداد
HandJointType. (Ifbc83، b/482670596) - تمت إعادة تسمية الثوابت
FaceConfidenceRegion. (Ia62d5، b/482670596) - تمت إعادة تسمية الثوابت
FaceBlendShapeType. (I33b8b، b/482670596) - تمّت إضافة
CreatePoseFromGeospatialPoseErrorInternalوCreateGeospatialPoseFromPoseErrorInternal. (I4bcf1، b/482666615) - تمت إعادة تسمية
DeviceTrackingMode.LAST_KNOWNإلىSPATIAL_LAST_KNOWN(مع توفير خيار احتياطي قديم)، وتمت إضافةINERTIAL_LAST_KNOWNلتتبُّع 3DoF، كما تمت إضافةTRACKING_DEGRADEDإلىTrackingState. (Ie661c، b/445466590) - تم إيقاف
GroupEntityنهائيًا. للحصول على عنصر Entity يتضمّن وظائف العنصر الأساسية فقط، استخدِمEntity.createالذي سيعرض واجهة العنصر. (I4c450، b/473867483) - تمت إضافة واجهة برمجة التطبيقات
XrLog. اضبطXrLog.isEnabledعلىtrueلتفعيل التسجيل في JetpackXR، واستخدِمXrLog.Levelلضبط مستوى التسجيل. (I76a1f، b/463460895، b/487378441)
إصلاح الأخطاء
- أضِف إمكانية تتبُّع حالة الجهاز إلى أجهزة OpenXR. (I91485، b/445466590)
الإصدار 1.0.0-alpha12
25 مارس 2026
تم طرح androidx.xr.arcore:arcore-*:1.0.0-alpha12. يتضمّن الإصدار 1.0.0-alpha12 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- تم تغيير
Config.augmentedObjectCategoriesمن قائمة إلى مجموعة. (I25a64، b/487376359) - النوعان
androidx.xr.arcore.Eyeوandroidx.xr.arcore.Hand(I42438، b/449032900) - تمت إضافة حمولة زائدة
Session.createللسماح بتمرير "سياق Android" لتحديد نطاق الموارد. (I7d3fe، b/415805990، b/477386334) - تغيير
FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMITإلىFakeRuntimeAnchor.anchorResourceLimit(I90841، b/431992235) - تم تصنيف واجهة برمجة التطبيقات
TiltGestureعلى أنّها تجريبية لأنّه قد يتم تغييرها أو إزالتها في المستقبل. لاستخدام واجهة برمجة التطبيقات هذه، يجب الموافقة على@ExperimentalGesturesApi(Ic9858). - تمت إضافة إمكانية ضبط فئات لتتبُّع
AugmentedObjectفي ملف الإعداد (I1f6e4، b/480220930)
إصلاح الأخطاء
- تم إصلاح إصدار Chrome من خلال تعديل ملف META-INF/services/ باستخدام الموقع الجغرافي الفعلي لـ
PerceptionRuntimeFactory. (I7a801، b/481288291)
الإصدار 1.0.0-alpha11
25 فبراير 2026
تم طرح androidx.xr.arcore:arcore-*:1.0.0-alpha11. يتضمّن الإصدار 1.0.0-alpha11 هذه التعديلات.
الإصدار 1.0.0-alpha10
28 يناير 2026
تم طرح androidx.xr.arcore:arcore-*:1.0.0-alpha10. يتضمّن الإصدار 1.0.0-alpha10 هذه التعديلات.
الميزات الجديدة
- تضيف واجهة برمجة التطبيقات
TiltGesture، ما يوفّرFlowتفاعليًا لرصد حالة إمالة الجهاز (للأعلى/للأسفل) بشكل ثابت مع عرض مستوى تقدّم الانتقال. (Ic269f، b/448152779) - تستخدم حزمة ARCore for Jetpack XR الآن آلية تسجيل بيانات وقت التشغيل في XR. يُرجى الاطّلاع على
androidx.xr.runtime.Logلمزيد من المعلومات. (l52735، b/448697662)
التغييرات في واجهة برمجة التطبيقات
- تعمل
Geospatial.createPoseFromGeospatialPoseالآن على الأجهزة المتوافقة مع OpenXR. (l362c6)
الإصدار 1.0.0-alpha09
3 ديسمبر 2025
تم طرح androidx.xr.arcore:arcore-*:1.0.0-alpha09. يتضمّن الإصدار 1.0.0-alpha09 هذه التعديلات.
الإصدار 1.0.0-alpha08
19 نوفمبر 2025
تم طرح androidx.xr.arcore:arcore-*:1.0.0-alpha08. يتضمّن الإصدار 1.0.0-alpha08 هذه التعديلات.
الميزات الجديدة
- يتوافق الإصدار
ARCoreمن Jetpack XR الآن مع الأجهزة التي تتوفّر عليها "خدمات Google Play للواقع المعزّز". - تمّت إضافة واجهات برمجة تطبيقات Geospatial API للتحقّق من توفّر نظام تحديد المواقع المرئية وتحويل الوضع (I144dc)
الإصدار 1.0.0-alpha07
22 أكتوبر 2025
تم طرح androidx.xr.arcore:arcore-*:1.0.0-alpha07. يتضمّن الإصدار 1.0.0-alpha07 هذه التعديلات.
إصلاح الأخطاء
- تمت إضافة
:xr:arcore:arcore-openxrكعنصر تابع للتنفيذ إلى:xr:arcore:arcore(I47315، b/446999229)
الإصدار 1.0.0-alpha06
24 سبتمبر 2025
تم طرح androidx.xr.arcore:arcore-*:1.0.0-alpha06. يتضمّن الإصدار 1.0.0-alpha06 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تم نقل إمكانية اختبار بيانات
ARCoreالمنظَّمة إلى الوحدةxr:arcore:arcore-testing. (I25469) - إضافة
ArDeviceوRenderViewpointللسماح للتطبيقات باسترداد وضع الجهاز وإعدادات العرض لأغراض العرض (Ib7e3f) - إعادة تسمية تعدادات
HandJointTypeباستخدام البادئةHAND_JOINT_TYPE_(I3f7cd) - تم نقل
HandJointTypeإلىxr:arcore:arcoreمنxr:runtime:runtime. (Iadb9c، b/409058039) - تعرض
Hand.Stateالآنjava.nio.FloatBufferمع وضعيات المفاصل بتنسيق يتيح الوصول بسهولة إلى التطبيقات التي تركّز على الأداء. (I55e27)
الإصدار 1.0.0-alpha05
30 يوليو 2025
تم طرح ميزات androidx.xr.arcore:arcore:1.0.0-alpha05 وandroidx.xr.arcore:arcore-guava:1.0.0-alpha05 وandroidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05. يتضمّن الإصدار 1.0.0-alpha05 هذه التعديلات.
الميزات الجديدة
- أضِف
getPrimaryHandSideليتمكّن المطوّر من الحصول على معلومات الجانب الأيسر (I270bd) - إضافة واجهة برمجة التطبيقات للتحقّق من توفّر خدمة تحديد الموقع المرئي (VPS) الجغرافية المكانية (I58573)
- إضافة ARCore API لحزمة
checkVpsAvailability(Idbded) - تمت إضافة دوال الإضافة
stateFlowableإلى:xr:arcore:arcore-rxjava3ليستخدمها مطوّرو Java. (I083aa، b/427247794)
تغييرات واجهة برمجة التطبيقات
- تمت إعادة تسمية قيم Config
*Modeلتعكس سلوكها. (I6d247، b/414648065) - سيحتوي العنصر الرئيسي في ARCore (xr:arcore:arcore) على واجهات برمجة تطبيقات غير متزامنة بنمط Kotlin فقط. يمكن لمطوّري Java الاعتماد على مكتبة
xr:arcore:arcore-rxjava3للوصول إلى واجهات برمجة التطبيقات المتوافقة. (Ia525e، b/422794329) - سيحتوي العنصر الرئيسي في ARCore (
xr:scenecore:scenecore) على واجهات برمجة تطبيقات غير متزامنة بنمط Kotlin فقط. يمكن لمطوّري Java الاعتماد على مكتبةxr:arcore:arcore-guavaللوصول إلى واجهات برمجة التطبيقات المتوافقة. (Iffcb4، b/422773524) - تمت إضافة
Anchor.persistAsync()إلىAnchorGuavaليستخدمها مطوّرو Java. (I4af1c، b/425984631) - تمت إضافة
Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)إلىEarthGuavaليستخدمها مطوّرو Java. (I66357، b/425992992) - سيستخدم مطوّرو Java دوال الإضافة الخاصة بـ
GltfModel.createAsyncفيGltfModel.kt. سيتم حذف الدوال غير المتزامنة فيGltfModel. (I0af60) - تستخدم هذه المكتبة الآن تعليقات توضيحية بشأن القيم الخالية من JSpecify، وهي تعليقات توضيحية خاصة باستخدام النوع. على مطوّري Kotlin استخدام وسيطة المترجم البرمجي التالية لفرض الاستخدام الصحيح:
-Xjspecify-annotations=strict(هذه هي القيمة التلقائية بدءًا من الإصدار 2.1.0 من مترجم Kotlin البرمجي) (Ia8420، b/326456246) - تمت إضافة دوال الإضافة
subscribeAsFlowableإلى:xr:arcore:arcore-rxjava3ليستخدمها مطوّرو Java. (Id3e49، b/427277298)
الإصدار 1.0.0-alpha04
7 مايو 2025
تم طرح androidx.xr.arcore:arcore:1.0.0-alpha04. يتضمّن الإصدار 1.0.0-alpha04 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تتطلّب المشاريع التي تم إصدارها باستخدام Kotlin 2.0 استخدام الإصدار 2.0.0 أو إصدار أحدث من المكوّن الإضافي لنظام Gradle المتوافق مع Kotlin. (Idb6b5)
- تم نقل
TrackingStateوHandJointTypeمن ARCore إلى Runtime. - تم تغيير
Hand.State.isActive (boolean)إلىHand.State.trackingState (androidx.xr.runtime.TrackingState). - تعرض الدالة
Anchor.loadالقيمةAnchor.AnchorLoadInvalidUuidإذا كان المعرّف الفريد العالمي (UUID) غير صالح.
الإصدار 1.0.0-alpha03
26 فبراير 2025
تم إصدار androidx.xr.arcore:arcore:1.0.0-alpha03 بدون أي تغييرات ملحوظة منذ آخر إصدار أولي. يتضمّن الإصدار 1.0.0-alpha03 هذه التعديلات.
الإصدار 1.0.0-alpha02
12 فبراير 2025
تم طرح androidx.xr.arcore:arcore:1.0.0-alpha02. يتضمّن الإصدار 1.0.0-alpha02 هذه التعديلات.
الميزات الجديدة
- تمت إضافة ميزة تتبُّع اليد. استخدِم
Hand.leftوHand.rightللوصول إلى معلومات التتبُّع. - إنّ واجهات برمجة التطبيقات التي تنشئ علامة ارتساء (
Anchor.createوAnchor.loadوPlane.createAnchor) تعرض الآنAnchorCreateResultوتنفّذAnchorCreateResourcesExhaustedبشكل صحيح.
إصلاح الأخطاء
- لم يعُد
Anchor.detachيتسبّب في حدوث عُطل قاتل بسبب حالة تزامن مع سلسلة تعليمات تعديل الجلسة. - أصبح
Anchor.createأكثر ثباتًا عند تشغيله على محاكي
الإصدار 1.0.0-alpha01
12 ديسمبر 2024
تم طرح androidx.xr.arcore:arcore-* 1.0.0-alpha01.
ميزات الإصدار الأوّلي
تستوحي مكتبة ARCore for Jetpack XR تصميمها من مكتبة ARCore الحالية، وتوفّر إمكانات لدمج المحتوى الرقمي مع العالم الحقيقي. تتضمّن هذه المكتبة تتبُّع الحركة، ونقاط الارتكاز الدائمة، واختبارات التصادم، وتحديد الأسطح باستخدام التصنيف الدلالي (مثل الأرضيات والجدران وأسطح الطاولات). يمكنك الاطّلاع على دليل المطوّرين لمزيد من المعلومات حول استخدام ARCore for Jetpack XR.
Session: يستخدم ARCore for Jetpack XR ميزة Jetpack XR Runtime في الخلفية لتشغيل وظائفه. ستستخدم "الجلسة" للتفاعل مع معظم واجهات برمجة التطبيقات ARCore for Jetpack XR، لذا يُرجى الاطّلاع على مستنداتها.Plane: استخدِم الطائرات لفهم العالم من حولك. يحتوي كل مستوى علىLabelيصفه دلاليًا. يمكنك استخدامsubscribeلتلقّي إشعارات بشأن أحدث الطائرات التي تم رصدها أوstateلتلقّي إشعارات بشأن التغييرات التي تطرأ على طائرة معيّنة.
Anchor: رابط بين كائن افتراضي وموقع جغرافي في العالم الحقيقي يمكن ربط نقاط الارتكاز بموقع جغرافي محدّد في المساحة (باستخدامcreate) أوTrackable(باستخدامcreateAnchor).يمكن إعادة استخدام نقاط الربط في الجلسات المتعدّدة. يمكنك استخدام
persistلتخزينها، وgetPersistedAnchorUuidsلتعدادها، وloadلاستردادها. احرص علىunpersistهذه الأجهزة عندما تتوقف عن استخدامها.يمكن استخدام نقاط الارتكاز بشكل متبادل بين ARCore for Jetpack XR وJetpack SceneCore. يمكنك إنشاء
AnchorEntityباستخدام نقطة ارتكاز أو، إذا كان لديك AnchorEntity حالي، يمكنك استخدامgetAnchorلاسترداد نقطة الارتكاز الأساسية.تقديم تفاعلات طبيعية مع المستخدمين باستخدام
hitTestيستخدم اختبار إصابةRayلتحديد المحتوى الذي يتقاطع معه وإنشاءAnchorمن هذا الموقع الجغرافي. ننصحك بإجراء اختبار hitTest منInputEvent.
المشاكل المعروفة
قد يحدث تأخير بين وقت طلب
unpersistووقت إزالة معرّفه الفريد العالمي (UUID) من النتائج التي تعرضهاgetPersistedAnchorUuids.لن تتحقّق الدالة
createمن توفّر موارد كافية في النظام لعرض نقاط ارتكاز جديدة. قد يؤدي إنشاء عدد كبير جدًا من نقاط الارتكاز إلى حدوث عُطل.لا تتوفّر حاليًا إمكانية الاحتفاظ بـ Anchor تم الاحتفاظ به سابقًا ثم تم إلغاء الاحتفاظ به.
يمكن استخدام المحاكي، ولكن قد لا يكون السلوك ثابتًا كما هو الحال عند التشغيل على جهاز فعلي. على وجه الخصوص، قد يتعذّر إجراء مكالمات إلى
createويظهر خطأ في الرمز البرمجي الأصلي ويتم إنهاء النشاط على الفور.في ظروف معيّنة، قد يتم عرض الخطأ
RuntimeExceptionبشكل خاطئ عند استدعاءpersistمع الرسالة "لم يتم حفظ نقطة الارتكاز". وفي هذه الظروف، ستظل الدالة تعمل بنجاح وسيتم حفظ نقطة الارتكاز. ننصحك بتضمين طلبpersistفي كتلةtryكحلّ بديل.