ملاحظات إصدار Android 1.1

التاريخ: شباط (فبراير) 2009
مستوى واجهة برمجة التطبيقات: 2

يقدّم هذا المستند ملاحظات بشأن نسخة نظام Android 1.1 المضمّنة في حزمة تطوير البرامج (SDK).

نظرة عامة

نسخة نظام Android 1.1 التي تم تقديمها في حزمة تطوير البرامج (SDK) هي نسخة مماثلة لنظام الإنتاج Android 1.1، ويمكن نشرها على الهواتف الجوّالة التي تعمل بنظام التشغيل Android بدءًا من شباط (فبراير) 2009.

توفّر صورة النظام Android 1.1 إصدارًا محدَّثًا من واجهة برمجة التطبيقات لإطار العمل. كما هو الحال مع واجهة برمجة التطبيقات Android 1.0، يتم تخصيص معرّف عدد صحيح 2 لواجهة برمجة التطبيقات لنظام التشغيل Android، ويتم تخزينه في النظام نفسه. ويتيح هذا المعرّف، المسمى "مستوى واجهة برمجة التطبيقات"، للنظام تحديد ما إذا كان التطبيق متوافقًا مع النظام بشكل صحيح قبل تثبيت التطبيق.

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

إذا كنت تستخدم صورة النظام Android 1.1 لإنشاء تطبيق متوافق مع الأجهزة التي تعمل بنظام التشغيل Android والتي تعمل بالإصدار 1.1 من نظام Android الأساسي، يجب ضبط السمة android:minSdkVersion على "2" لتحديد أنّ تطبيقك متوافق فقط مع الأجهزة التي تستخدم صورة نظام Android 1.1 (أو إصدار أحدث).

وتحديدًا، عليك تحديد السمة android:minSdkVersion في عنصر <uses-sdk> على أنّها عنصر ثانوي لـ <manifest> في ملف البيان. عند التعيين، تبدو السمة على النحو التالي:

<manifest>
  ...
  <uses-sdk android:minSdkVersion="2" />
  ...
</manifest>

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

إذا كان تطبيقك يستخدم واجهات برمجة تطبيقات مقدَّمة في الإصدار Android 1.1 ولكنّه لم يعرِّف عن السمة <uses-sdk android:minSdkVersion="2" />، سيتم تشغيله بشكل صحيح على الأجهزة التي تعمل بالإصدار 1.1 من نظام التشغيل Android وليس على الأجهزة التي تعمل بالإصدار 1.0 من نظام التشغيل Android. وفي الحالة الثانية، يتعطل التطبيق في وقت التشغيل عندما يحاول استخدام واجهات برمجة تطبيقات Android 1.1.

إذا كان تطبيقك لا يستخدم أي واجهات برمجة تطبيقات جديدة تم تقديمها في الإصدار Android 1.1، يمكنك الإشارة إلى التوافق مع Android 1.0 من خلال إزالة android:minSdkVersion أو ضبط السمة على "1". ومع ذلك، قبل نشر تطبيقك، يجب التأكد من تجميع تطبيقك بناءً على نسخة نظام Android 1.0 (المتوفرة في حزمة تطوير البرامج (SDK) لنظام التشغيل Android 1.0)، لضمان إنشاء هذا التطبيق وتشغيله بشكل صحيح لأجهزة Android 1.0. يجب اختبار التطبيق على صور النظام المتوافقة مع مستويات واجهة برمجة التطبيقات التي صُمِّم التطبيق ليتوافق معها.

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

المكتبات الخارجية

تحتوي صورة النظام على هذه المكتبات الخارجية، التي يمكنك الوصول إليها من خلال تطبيقك عن طريق إضافة <uses-library>.

  • com.google.android.maps — يمنح تطبيقك حق الوصول إلى بيانات خرائط Google. لاحظ أنه لاستخدام بيانات خرائط Google، يلزم وجود مفتاح لواجهة برمجة تطبيقات الخرائط.

توافق الجهاز

تم اختبار صورة نظام Android 1.1 للتأكّد من توافقها مع الأجهزة التي تعمل بنظام التشغيل Android والمذكورة أدناه:

  • T-Mobile G1

التطبيقات المدمجة

تتضمّن صورة النظام التطبيقات المدمَجة التالية:

  • منبّه
  • عروض توضيحية لواجهة برمجة التطبيقات
  • المتصفح
  • الآلة الحاسبة
  • الكاميرا
  • جهات الاتصال
  • أدوات المطورين
  • Dialer
  • عنوان البريد الإلكتروني
  • الخرائط (والتجوّل الافتراضي)
  • المراسلة
  • تطبيق موسيقى
  • صور
  • الإعدادات

أقلمة واجهة المستخدم

توفر صورة النظام سلاسل واجهة مستخدم مترجَمة للغات المدرجة أدناه.

  • الإنجليزية، الولايات المتحدة (en_US)
  • الألمانية (de)

تتطابق سلاسل واجهة المستخدم المترجَمة مع اللغات القابلة للعرض في المحاكي، والتي يمكن الوصول إليها من خلال تطبيق "الإعدادات" في الجهاز.

المشاكل التي تم حلها

  • يشغِّل تنبيه AlarmClock الآن الصوت/الحيوية مباشرةً، بدلاً من تشغيل AlarmManager. يبدأ تنبيه AlarmClock في تشغيل الصوت أو الصوت الحيوي من خلال IntentReceivedr بدلاً من تشغيل الصوت عند بدء النشاط. من المفترض أن تمنع هذه التغييرات حظر التنبيهات بواسطة مربعات الحوار المشروطة.
  • إصلاحات في وضع سكون الجهاز.
  • لم تعد تؤدي النقرة الواحدة إلى فتح لوحة الاتصال أثناء المكالمة، إذ يحتاج المستخدمون الآن إلى لمسها وسحبها.
  • إصلاح خطأ يتسبب في تجميد رسالة واحدة من كل 25 رسالة صادرة اتصال IMAP (إلى خادم يستند إلى Gmail) عند نقلها إلى مجلد "البريد المُرسَل".
  • يزيل إدخالات إعداد الحساب التلقائية التي كانت معطّلة أو غير قابلة للاختبار. تعمل هذه السياسة على إضافة إصلاحات طفيفة إلى بعض الإدخالات المتبقية. أدخل تحسينات على مربعات حوار التحذير التي تُستخدم لبعض الحالات الخاصة.
  • تغيير الفاصل الزمني الافتراضي لفحص البريد إلى كل 15 دقيقة (بدلاً من التعيين الافتراضي على "أبدًا").
  • إصلاح أخطاء اقتباس كلمة المرور في IMAP، بحيث يمكن للمستخدمين تضمين رموز خاصة في كلمات المرور (مثل المسافات).
  • إصلاح أخطاء مختلفة في إعداد الحساب التلقائي واليدوي
  • يحسن إعداد التقارير عن أخطاء الاتصال المختلفة، مما يسهل على المستخدم تشخيص عمليات إعداد الحساب الفاشلة.
  • إصلاح إشعارات البريد الجديد لحسابات POP3.
  • يضمن التحقق التلقائي السليم للحسابات التي تم وضع علامة "عدم التحقق أبدًا" منها.
  • يعرض الآن التاريخ والوقت باستخدام إعدادات المستخدم المفضّلة (على سبيل المثال، 24 ساعة مقابل صباحًا/مساءً).
  • يتم الآن عرض نسخة إلى: في عرض الرسالة.
  • لتحسين عملية الاسترداد بعد إخفاقات اتصال POP3.
  • تم إلغاء قواعد محلّل POP3، ولذلك يمكن أن يعمل التطبيق مع خوادم البريد الإلكتروني غير المتوافقة.

الميزات الجديدة

  • خرائط: إضافة تفاصيل ومراجعات عندما يُجري أحد المستخدمين عملية بحث على "خرائط Google" وينقر على نشاط تجاري لعرض تفاصيله.
  • المتصل: أصبحت مهلة الشاشة أثناء المكالمة أطول الآن عند استخدام مكبّر الصوت.
  • برنامج الاتصال: إضافة عنصر "إظهار لوحة الاتصال" / "إخفاء لوحة الاتصال" إلى القائمة في المكالمة، لتسهيل اكتشاف لوحة الاتصال DTMF.
  • إضافة دعم لحفظ المرفقات من رسائل الوسائط المتعددة
  • تتيح هذه الميزة استخدام النص المميّز في التنسيقات.

التغييرات في واجهة برمجة التطبيقات

نظرة عامة

  • يضيف التعليقات التوضيحية لأنظمة الاختبار، بدون إجراء تغييرات فعلية (غير اختبارية) على واجهة برمجة التطبيقات.
  • يضيف هذا العنصر طريقة للسماح للعملية بتحديد المعرّف الفريد الخاص بها بسهولة.
  • تتيح هذه الميزة استخدام النص المميّز في التنسيقات.
  • تضيف طرقًا جديدة لتحديد المساحة المتروكة في طرق العرض. يكون هذا مفيدًا إذا كنت تكتب الفئات الفرعية الخاصة بك من View.
  • إضافة أذونات جديدة تسمح للتطبيق ببث رسائل SMS أو رسائل WAP Push.
  • تنظيف واجهة برمجة التطبيقات: إزالة الدالة الإنشائية المحمية من صور النظام المرتبطة بحزمة SDK.

تفاصيل تغيير واجهة برمجة التطبيقات

وحدة أو ميزةوصف التغيير
تعليقات توضيحية لأنظمة الاختبار
تمت إضافة تعليق توضيحي LargeTest.
تمت إضافة تعليق توضيحي MediumTest.
تمت إضافة تعليق توضيحي SmallTest.
السماح للعملية بمعرفة المعرّف الفريد الخاص بها بسهولة.
تمت إضافة الطريقة العامة myUid() إلى الفئة android.os.Process
المساحة المتروكة في طرق العرض
تمت إضافة الطريقة العامة getBottomPaddingOffset() إلى الفئة android.view.View.
تمت إضافة الطريقة العامة getLeftPaddingOffset() إلى الفئة android.view.View.
تمت إضافة الطريقة العامة getRightPaddingOffset() إلى الفئة android.view.View.
تمت إضافة الطريقة العامة getTopPaddingOffset() إلى الفئة android.view.View.
تمت إضافة الطريقة العامة isPaddingOffsetRequired() إلى الفئة android.view.View.
دعم الصور المتحركة
تمت إضافة الطريقة العامة setMarqueeRepeatLimit(int) إلى الفئة TextView
تمت إضافة الحقل العلني "android.R.attr.marqueeRepeatLimit".
الأذونات الجديدة
تمت إضافة الحقل العلني "android.Manifest.permission.BROADCAST_SMS".
تمت إضافة الحقل العلني "android.Manifest.permission.BROADCAST_WAP_PUSH".
إزالة البرامج غير المرغوب فيها من واجهة برمجة التطبيقات
تمت إزالة دالة الإنشاء المحمية java.net.ServerSocket.ServerSocket(java.net.SocketImpl).