سطح 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های OpenGL ES 2.0 جدید در
android.opengl.GLES20
. - کلاسهای جدید
ETC1
،ETC1Util
، وETC1Util.ETC1Texture
و روشهای کاربردی برای استفاده از ETC1 برای فشردهسازی بافت. - کلاس
ImageFormat
جدید. -
YUV image format API
برای فعال کردن فشرده سازی از YUV به JPEG و دستکاری داده های YUV.
رسانه ها
- 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 مراجعه کنید.