ملاحظات إصدار 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 ولا يحتاج إلى استخدامها، قد تجد أنّه من الأسهل مواصلة العمل في حزمة Android 1.0 SDK بدلاً من الانتقال إلى حزمة Android 1.1 SDK والحاجة إلى إجراء اختبارات إضافية.

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

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

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

توافُق الجهاز

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

  • T-Mobile G1

التطبيقات المضمنة

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

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

ترجمات واجهة المستخدم

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

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

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

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

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

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

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

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

نظرة عامة

  • يضيف التعليقات التوضيحية لأنظمة الاختبار، بدون إجراء تغييرات فعلية (غير تجريبية) على واجهة برمجة التطبيقات.
  • لإضافة طريقة للسماح للعملية بتحديد المعرّف الفريد الخاص بها بسهولة.
  • يضيف دعم التظليل في التخطيطات.
  • إضافة طرق جديدة لتحديد المساحة المتروكة في طرق العرض. تكون مفيدة إذا كنت تكتب الفئات الفرعية الخاصة بك من 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).