API های اندروید 2.2

سطح API: 8

Android 2.2 یک نسخه پلتفرم کوچک است که شامل ویژگی های کاربر، ویژگی های توسعه دهنده، تغییرات API و رفع اشکال می شود. برای اطلاعات در مورد ویژگی های توسعه دهنده و تغییرات API، به بخش Framework API مراجعه کنید.

برای توسعه دهندگان، پلتفرم Android 2.2 به عنوان یک جزء قابل دانلود برای Android SDK در دسترس است. پلتفرم قابل دانلود شامل کتابخانه اندروید و تصویر سیستم، و همچنین مجموعه ای از پوسته های شبیه ساز و موارد دیگر است. برای شروع توسعه یا آزمایش با Android 2.2، از Android SDK Manager برای دانلود پلتفرم در SDK خود استفاده کنید.

نکات برجسته پلتفرم

برای فهرستی از ویژگی‌های کاربر جدید و نکات برجسته پلتفرم، به سند نکات برجسته پلتفرم Android 2.2 مراجعه کنید.

سطح API

پلتفرم Android 2.2 نسخه به روز شده ای از چارچوب API را ارائه می دهد. به API Android 2.2 یک شناسه عدد صحیح - 8 - اختصاص داده شده است که در خود سیستم ذخیره می شود. این شناسه که "سطح API" نامیده می شود، به سیستم اجازه می دهد تا قبل از نصب برنامه به درستی تعیین کند که آیا یک برنامه با سیستم سازگار است یا خیر.

برای استفاده از API های معرفی شده در Android 2.2 در برنامه خود، باید مقدار مناسب "8" را در ویژگی های android:minSdkVersion عنصر <uses-sdk> در مانیفست برنامه خود تنظیم کنید.

برای اطلاعات بیشتر در مورد نحوه استفاده از API Level، به سند API Levels مراجعه کنید.

تغییرات API چارچوب

بخش های زیر اطلاعاتی درباره تغییرات ایجاد شده در API چارچوب برنامه ارائه شده توسط پلت فرم Android 2.2 ارائه می دهد.

نصب برنامه در رسانه ذخیره سازی خارجی

پلتفرم اندروید اکنون به برنامه‌ها اجازه می‌دهد تا به عنوان جایگزینی برای نصب در حافظه داخلی دستگاه، درخواست نصب بر روی رسانه ذخیره‌سازی خارجی دستگاه (مانند کارت SD) کنند.

توسعه دهندگان برنامه می توانند مکان نصب ترجیحی برنامه های خود را با استفاده از ویژگی جدید <manifest> در فایل مانیفست، android:installLocation بیان کنند. این ویژگی از سه مقدار پشتیبانی می کند: "internalOnly" ، "preferExternal" و "auto" . در زمان نصب، سیستم مقدار android:installLocation را بررسی می کند و در صورت امکان برنامه .apk با توجه به مکان ترجیحی نصب می کند. اگر برنامه درخواست نصب خارجی داشته باشد، سیستم آن را در یک پارتیشن خصوصی و رمزگذاری شده در رسانه خارجی نصب می کند. هنگامی که یک برنامه کاربردی .apk به صورت خارجی نصب می شود، سیستم به کاربر اجازه می دهد مکان ذخیره سازی apk. را تغییر دهد و در صورت نیاز از طریق مدیریت برنامه ها در تنظیمات کاربر، آن را به حافظه داخلی دستگاه منتقل کند (و بالعکس).

به‌طور پیش‌فرض، سیستم همه برنامه‌ها را بر روی حافظه داخلی دستگاه نصب می‌کند، به جز برنامه‌هایی که صریحاً درخواست نصب خارجی دارند. این بدان معنی است که سیستم همیشه برنامه های قدیمی را روی حافظه داخلی نصب می کند، زیرا آنها به ویژگی android:installLocation دسترسی ندارند. با این حال، امکان پیکربندی و کامپایل یک برنامه قدیمی به گونه ای وجود دارد که در نسخه های قدیمی تر پلتفرم به صورت داخلی و در صورت لزوم روی پلتفرم های اندروید 2.2 و بالاتر به صورت خارجی نصب شود.

توجه داشته باشید که درخواست نصب بر روی رسانه خارجی دستگاه برای همه برنامه‌ها مناسب نیست، به ویژه به این دلیل که رسانه خارجی ممکن است قابل جابجایی باشد و نصب/نصب مجدد ممکن است تجربه کاربر و تنظیمات سیستم را مختل کند.

برای اطلاعات بیشتر در مورد تنظیم مکان نصب ترجیحی برای برنامه خود، از جمله بحث در مورد اینکه چه نوع برنامه هایی باید و نباید نصب خارجی درخواست کنند، لطفاً سند App Install Location را بخوانید.

پشتیبان گیری از داده ها

این پلتفرم اکنون یک سرویس پشتیبان عمومی ارائه می دهد که برنامه ها می توانند از آن برای پشتیبان گیری و بازیابی اطلاعات کاربر استفاده کنند تا اطمینان حاصل شود که کاربران می توانند داده های خود را هنگام تعویض دستگاه یا نصب مجدد برنامه حفظ کنند. مدیر پشتیبان گیری کار انتقال داده های برنامه را به و از منطقه ذخیره سازی پشتیبان در ابر انجام می دهد. مدیر پشتیبان می‌تواند هر نوع داده، از داده‌های دلخواه گرفته تا فایل‌ها را ذخیره کند و عملیات پشتیبان‌گیری و بازیابی را به صورت اتمی مدیریت می‌کند. برای اطلاعات بیشتر، به پشتیبان‌گیری از داده‌ها مراجعه کنید.

گرافیک

رسانه ها

  • API های جدید در android.media.AudioManager برای مدیریت فوکوس صوتی، کنترل حمل و نقل، از دست دادن گذرا فوکوس صوتی، ducking.
  • هدف پخش جدید برای مسیریابی صدا به SCO — ACTION_SCO_AUDIO_STATE_CHANGED با موارد اضافی نشان دهنده وضعیت جدید.
  • API های جدید در SoundPool برای تشخیص کامل شدن بارگذاری صدا.
  • APIهای جدید در SoundPool برای توقف و ازسرگیری خودکار.
  • API های جدید در MediaRecorder برای تعیین تنظیمات صدا برای تعداد کانال ها، نرخ کدگذاری و نمونه برداری، نرخ نمونه برداری.
  • API های جدید برای افزودن فایل ها به پایگاه داده رسانه، به طوری که آنها به طور خودکار اسکن شوند. MediaScannerConnection.scanFile و MediaScannerConnection.OnScanCompletedListener را ببینید.

تشخیص گفتار و موتورهای تشخیص شخص ثالث

  • این پلتفرم APIهای تشخیص گفتار جدیدی را ارائه می‌کند که به برنامه‌ها اجازه می‌دهد تعامل غنی‌تری با تشخیص‌دهنده صدای موجود داشته باشند. به عنوان مثال، APIها برای ادغام تشخیص صدا عمیقاً در یک IME کافی هستند.
  • این پلتفرم همچنین یک کلاس پایه RecognitionService را ارائه می دهد که به توسعه دهندگان شخص ثالث اجازه می دهد موتورهای شناسایی پلاگین ایجاد کنند.
  • رابط جدید RecognitionListener برای دریافت پاسخ تماس ها.
  • ویژگی های اضافی RecognizerIntent که به برنامه درخواست کننده اجازه می دهد جزئیات را به عنوان زبان ترجیحی، حداقل طول بر حسب میلی ثانیه و غیره مشخص کند.

دوربین و دوربین فیلمبرداری

  • تغییراتی در API پیش‌نمایش دوربین برای بهبود کارایی خط لوله پیش‌نمایش.
  • جهت نمایش جدید برای دوربین (اکنون می تواند در جهت عمودی کار کند).
  • API های جدید در android.hardware.Camera برای مدیریت سطح زوم.
  • APIهای جدید android.hardware.Camera.Parameters برای پرس و جو و تنظیم تنظیمات دوربین دستگاه مانند فاصله کانونی، نوردهی، سطح زوم، زاویه دید و موارد دیگر.
  • ابزار thumbnail جدید برای ریز عکسها ویدئو و تصویر.
  • کلاس‌های جدید CamcorderProfile و CamcorderProfile برنامه‌ها را قادر می‌سازد تا قابلیت‌های دوربین سخت‌افزاری دستگاه را تعیین کنند.
  • پشتیبانی جدید در android.media.ExifInterface برای بازیابی GPS و فاصله کانونی.

مدیر خط مشی دستگاه

APIهای جدید مدیریت خط مشی دستگاه به توسعه دهندگان این امکان را می دهند که برنامه های «مدیر دستگاه» بنویسند که می توانند ویژگی های امنیتی دستگاه مانند حداقل قدرت رمز عبور، پاک کردن داده ها و غیره را کنترل کنند. کاربران می توانند مدیرانی را که در دستگاه هایشان فعال هستند انتخاب کنند. برای اطلاعات بیشتر، به android.app.admin classees یا کد برنامه نمونه در DeviceAdminSample.java مراجعه کنید.

چارچوب UI

  • حالت‌های جدید رابط کاربری «حالت خودرو» و «حالت شب» و UiModeManager به برنامه‌ها اجازه می‌دهند رابط کاربری برنامه خود را برای حالت‌های کاربری خاص تنظیم کنند.
  • ScaleGestureDetector جدید که به Views اجازه می‌دهد با استفاده از MotionEvents ارائه‌شده، حرکات تبدیلی که شامل بیش از یک اشاره‌گر (چند لمسی) است را شناسایی و مدیریت کند.
  • بهبودهایی در نحوه گزارش رویدادهای چند لمسی در اشیاء MotionEvent .
  • ویژگی layout fill_parent به match_parent تغییر نام داده است. این روی کد XML و جاوا تأثیر می گذارد (به ViewGroup.LayoutParams مراجعه کنید). توجه داشته باشید که این پلتفرم همچنان به استفاده از fill_parent در برنامه‌های قدیمی احترام می‌گذارد.
  • ویژگی های طرح بندی جدید tabStripEnabled ، tabStripRight و tabStripLeft به توسعه دهندگان اجازه می دهند نوار پایین TabWidgets را سفارشی کنند.
  • پشتیبانی بهتر از گفتگوهای مدیریت شده در Activity.

حساب ها و همگام سازی

  • روش جدید AddPeriodicSync() به شما امکان می دهد یک همگام سازی دوره ای را با یک حساب، اعتبار و موارد اضافی در فرکانس مشخص شده برنامه ریزی کنید.

عناصر و ویژگی های آشکار جدید

  • برای تعیین مکان نصب ترجیحی برنامه ( نصب برنامه در رسانه ذخیره سازی خارجی ، بالا را ببینید):
    • ویژگی جدید android:installLocation عنصر <manifest> . محل نصب پیش فرض تعریف شده توسط یک برنامه را مشخص می کند.
  • برای مدیریت پشتیبان‌گیری از داده‌های کاربر (برای اطلاعات بیشتر به مدیر پشتیبان‌گیری ، در بالا مراجعه کنید):
    • ویژگی جدید android:backupAgent عنصر <application> . نام مؤلفه زیرکلاس BackupAgent را مشخص می‌کند که در صورت وجود، توسط برنامه برای انجام عملیات پشتیبان‌گیری/بازیابی ارائه شده است.
    • ویژگی جدید android:restoreAnyVersion عنصر <application> . مقدار بولی که نشان می‌دهد آیا برنامه آماده است تا مجموعه داده‌های پشتیبان‌گیری شده را بازیابی کند، حتی اگر نسخه پشتیبان ظاهراً از یک نسخه جدیدتر از برنامه نصب شده در دستگاه باشد.
  • برای مدیریت کامپایلر JIT پلتفرم:
    • ویژگی جدید android:vmSafeMode عنصر <application> . مقدار Boolean که مشخص می کند بهینه سازی کامپایلر JIT هنگام اجرای برنامه غیرفعال شود یا خیر.

مجوزها

  • android.permission.BIND_DEVICE_ADMIN - هر گیرنده پخش مدیریت دستگاه باید به این مجوز نیاز داشته باشد تا اطمینان حاصل شود که فقط سیستم می تواند با آن تعامل داشته باشد.
  • android.permission.KILL_BACKGROUND_PROCESSES — به یک برنامه کاربردی اجازه می دهد تا killBackgroundProcesses(String) فراخوانی کند.
  • android.permission.BIND_WALLPAPER - هر WallpaperService باید به این مجوز نیاز داشته باشد تا اطمینان حاصل شود که فقط سیستم می تواند با آن تعامل داشته باشد.
  • android.permission.SET_TIME — به یک برنامه کاربردی اجازه می دهد تا زمان سیستم را تنظیم کند.

گزارش تفاوت های API

برای مشاهده جزئیات همه تغییرات API در Android 2.2 (سطح 8 API)، به گزارش تفاوت های API مراجعه کنید.