| ប្រភេទឯកសារ | APK |
|---|---|
| កំណែ | Preview |
| អ្នកបោះពុម្ពផ្សាយ | |
| កាលបរិច្ឆេទចេញផ្សាយ | 25 តុលា 2017 |
| កាលបរិច្ឆេទដែលបានបន្ថែម | 25 តុលា 2017 |
| តម្រូវការ Os | Android |
| តម្រូវការ | Only compatible with the Nexus 5X, Nexus 6P, Pixel C, Pixel, Pixel XL, Pixel 2, and Pixel 2 XL. |
| ការទាញយកសរុប | 1,002 |
| ការទាញយកក្នុងមួយសប្តាហ៍ | 8 |
| តម្លៃ | Free |
ការពិពណ៌នា
Android O ណែនាំមុខងារ និងសមត្ថភាពថ្មីៗជាច្រើនសម្រាប់អ្នកប្រើប្រាស់ និងអ្នកអភិវឌ្ឍន៍។ ឯកសារនេះបង្ហាញពីអ្វីដែលថ្មីសម្រាប់អ្នកអភិវឌ្ឍន៍។
ត្រូវប្រាកដថាពិនិត្យមើលការផ្លាស់ប្តូរអាកប្បកិរិយារបស់ Android O ដើម្បីស្វែងយល់អំពីកន្លែងដែលការផ្លាស់ប្តូរវេទិកាអាចប៉ះពាល់ដល់កម្មវិធីរបស់អ្នក។
API បណ្តាញសរសៃប្រសាទ
Neural Networks API (NNAPI) ផ្តល់នូវកម្មវិធីជាមួយនឹងការបង្កើនល្បឿនផ្នែករឹងសម្រាប់ប្រតិបត្តិការសិក្សាម៉ាស៊ីននៅលើឧបករណ៍។ API គាំទ្រការបង្កើតគំរូនៅលើឧបករណ៍ ការចងក្រង និងការប្រតិបត្តិ។ កម្មវិធីជាធម្មតាមិនប្រើ NNAPI ដោយផ្ទាល់ទេ។ ជំនួសមកវិញ NNAPI មានន័យថាត្រូវបានហៅដោយបណ្ណាល័យសិក្សាម៉ាស៊ីន ក្របខ័ណ្ឌ និងឧបករណ៍ដែលអនុញ្ញាតឱ្យអ្នកអភិវឌ្ឍន៍បណ្តុះបណ្តាលគំរូរបស់ពួកគេ និងដាក់ឱ្យប្រើប្រាស់នៅលើឧបករណ៍ Android ។
ដើម្បីស្វែងយល់បន្ថែមអំពី Neural Networks API សូមមើលឯកសារយោង Neural Networks API និងមគ្គុទ្ទេសក៍អ្នកបង្កើត Neural Networks API។
ការជូនដំណឹង
Android 8.1 Developer Preview 1 រួមបញ្ចូលការផ្លាស់ប្ដូរខាងក្រោមចំពោះការជូនដំណឹង៖
ឥឡូវនេះកម្មវិធីអាចបញ្ចេញសំឡេងជូនដំណឹងការជូនដំណឹងបានតែម្តងក្នុងមួយវិនាទីប៉ុណ្ណោះ។ សំឡេងដាស់តឿនដែលលើសអត្រានេះមិនត្រូវបានដាក់ជាជួរទេ ហើយត្រូវបានបាត់បង់។ ការផ្លាស់ប្តូរនេះមិនប៉ះពាល់ដល់ទិដ្ឋភាពផ្សេងទៀតនៃឥរិយាបថការជូនដំណឹងទេ ហើយសារជូនដំណឹងនៅតែបង្ហោះដូចការរំពឹងទុក។
NotificationListenerService and ConditionProviderService មិនត្រូវបានគាំទ្រនៅលើឧបករណ៍ដែលដំណើរការដោយប្រព័ន្ធប្រតិបត្តិការ Android ដែលមានរ៉េមទាប ដែលត្រឡប់ពិតនៅពេលដែល ActivityManager.isLowRamDevice() ត្រូវបានហៅ។
កែលម្អការកំណត់គោលដៅសម្រាប់ឧបករណ៍ RAM ទាប
ប្រព័ន្ធប្រតិបត្តិការ Android 8.1 (API កម្រិត 27) បន្ថែមចំនួនថេរនៃលក្ខណៈពិសេសផ្នែករឹងថ្មីពីរគឺ FEATURE_RAM_LOW និង FEATURE_RAM_NORMAL ទៅកម្មវិធីគ្រប់គ្រងកញ្ចប់។ ថេរទាំងនេះអនុញ្ញាតឱ្យអ្នកកំណត់គោលដៅចែកចាយកម្មវិធីរបស់អ្នក និងការបំបែក APK ទៅឧបករណ៍ធម្មតា ឬ RAM ទាប។
ថេរទាំងនេះអាចឱ្យ Play Store លើកកម្ពស់បទពិសោធន៍អ្នកប្រើប្រាស់ប្រសើរជាងមុន ដោយការរំលេចកម្មវិធី ជាពិសេសសមស្របទៅនឹងសមត្ថភាពរបស់ឧបករណ៍ដែលបានផ្តល់ឱ្យ។
ការអាប់ដេតក្របខ័ណ្ឌការងារដោយស្វ័យប្រវត្តិ
ការមើលជាមុនរបស់អ្នកអភិវឌ្ឍន៍ Android 8.1 (API កម្រិត 27) ផ្តល់នូវការកែលម្អជាច្រើនចំពោះ Autofill Framework ដែលអ្នកអាចបញ្ចូលទៅក្នុងកម្មវិធីរបស់អ្នក។
ការមើលជាមុនរបស់អ្នកអភិវឌ្ឍន៍បន្ថែមការគាំទ្រសម្រាប់ការពិពណ៌នាផ្ទាល់ខ្លួនដែលប្រព័ន្ធ Android បង្ហាញនៅក្នុងការបំពេញដោយស្វ័យប្រវត្តិរក្សាទុក UI ជំនួសឱ្យតំណាងដើមនៃទិន្នន័យ។ នេះមានប្រយោជន៍ ជាឧទាហរណ៍ នៅពេលអ្នកចង់បិទបាំងលេខកាតឥណទាន ហើយបង្ហាញតែបួនខ្ទង់ចុងក្រោយប៉ុណ្ណោះ។ ដើម្បីស្វែងយល់បន្ថែម សូមមើលថ្នាក់ CustomDescription ។
ការមើលជាមុនរបស់អ្នកអភិវឌ្ឍន៍អនុញ្ញាតឱ្យអ្នកបញ្ជាក់វត្ថុដែលមានសុពលភាពដែលកម្មវិធីរបស់អ្នកអាចប្រើដើម្បីសម្រេចថាតើប្រព័ន្ធ Android គួរតែបង្ហាញ UI រក្សាទុកការបំពេញស្វ័យប្រវត្តិឬអត់។ មុខងារនេះត្រូវបានផ្តល់ដោយវិធីសាស្រ្ត setValidator() នៃថ្នាក់ SaveInfo.Builder ។
ថ្នាក់ BaseAdapter នៅក្នុងការមើលជាមុនរបស់អ្នកអភិវឌ្ឍន៍ រួមបញ្ចូលវិធីសាស្រ្ត setAutofillOptions() ដែលអនុញ្ញាតឱ្យអ្នកផ្តល់នូវតំណាងខ្សែអក្សរនៃតម្លៃនៅក្នុងអាដាប់ទ័រមួយ។ វាមានប្រយោជន៍សម្រាប់ការគ្រប់គ្រងរបស់ spinner ដែលបង្កើតតម្លៃយ៉ាងសកម្មនៅក្នុងអាដាប់ទ័ររបស់ពួកគេ។ ឧទាហរណ៍ អ្នកអាចប្រើ thesetAutofillOptions() method ដើម្បីផ្តល់នូវតំណាងខ្សែអក្សរនៃបញ្ជីឆ្នាំដែលអ្នកប្រើប្រាស់អាចជ្រើសរើសជាផ្នែកនៃកាលបរិច្ឆេទផុតកំណត់កាតឥណទាន។ សេវាកម្មបំពេញស្វ័យប្រវត្តិអាចប្រើតំណាងខ្សែអក្សរ ដើម្បីបំពេញទិដ្ឋភាពដែលទាមទារទិន្នន័យឱ្យបានត្រឹមត្រូវ។
លើសពីនេះ ថ្នាក់ AutofillManager រួមបញ្ចូលវិធីសាស្រ្ត notifyViewVisibilityChanged (View, int, boolean) ដែលអ្នកអាចហៅដើម្បីជូនដំណឹងដល់ក្របខ័ណ្ឌអំពីការផ្លាស់ប្តូរនៅក្នុងភាពមើលឃើញនៃទិដ្ឋភាពនៅក្នុងរចនាសម្ព័ន្ធនិម្មិត។ វាក៏មានផ្ទុកលើសទម្ងន់នៃវិធីសាស្ត្រសម្រាប់រចនាសម្ព័ន្ធដែលមិនមែនជានិម្មិតផងដែរ។ ទោះជាយ៉ាងណាក៏ដោយ រចនាសម្ព័ន្ធដែលមិនមែនជានិម្មិតជាធម្មតាមិនតម្រូវឱ្យអ្នកជូនដំណឹងយ៉ាងច្បាស់អំពីក្របខ័ណ្ឌនោះទេ ពីព្រោះវិធីសាស្ត្រត្រូវបានហៅដោយថ្នាក់មើលរួចហើយ។
កែសម្រួលបច្ចុប្បន្នភាពអត្ថបទ
ដោយចាប់ផ្តើមជាមួយ API កម្រិត 27 វិធីសាស្ត្រ EditText.getText() ផ្តល់លទ្ធផលដែលអាចកែសម្រួលបាន។ ពីមុនវាបានត្រលប់មកវិញនូវ CharSequence ។ ការផ្លាស់ប្តូរនេះគឺត្រូវគ្នាទៅនឹងការថយក្រោយ ដូចដែលអាចកែសម្រួលបានអនុវត្ត CharSequence ។
ចំណុចប្រទាក់ដែលអាចកែសម្រួលបានផ្តល់នូវមុខងារបន្ថែមដ៏មានតម្លៃ។ ជាឧទាហរណ៍ ដោយសារ Editable ក៏អនុវត្តចំណុចប្រទាក់ spannable ដែរ អ្នកអាចអនុវត្តការសម្គាល់លើខ្លឹមសារនៅក្នុងឧទាហរណ៍នៃ EditText ។
សកម្មភាពរុករកសុវត្ថិភាពតាមកម្មវិធី
ដោយប្រើការអនុវត្ត WebView នៃ Safe Browsing API កម្មវិធីរបស់អ្នកអាចរកឃើញនៅពេលដែលឧទាហរណ៍នៃ WebView ព្យាយាមរុករកទៅកាន់ URL ដែល Google បានចាត់ថ្នាក់ថាជាការគំរាមកំហែងដែលគេស្គាល់។ តាមលំនាំដើម WebView បង្ហាញអន្តរការីមួយ ដូចបង្ហាញក្នុងរូបភាពទី 1 ដោយព្រមានអ្នកប្រើប្រាស់ពីការគំរាមកំហែងដែលគេស្គាល់ និងផ្តល់ឱ្យពួកគេនូវជម្រើសក្នុងការផ្ទុក URL យ៉ាងណាក៏ដោយ ឬត្រឡប់ទៅទំព័រមុនដែលមានសុវត្ថិភាព។
នៅក្នុង Android 8.1 Developer Preview អ្នកអាចកំណត់កម្មវិធីរបស់អ្នកពីរបៀបដែលកម្មវិធីរបស់អ្នកឆ្លើយតបទៅនឹងការគំរាមកំហែងដែលគេស្គាល់៖
អ្នកអាចគ្រប់គ្រងថាតើកម្មវិធីរបស់អ្នករាយការណ៍ពីការគំរាមកំហែងដែលគេស្គាល់ចំពោះ Safe Browsing ដែរឬទេ។
អ្នកអាចឱ្យកម្មវិធីរបស់អ្នកអនុវត្តសកម្មភាពជាក់លាក់មួយដោយស្វ័យប្រវត្តិ ដូចជាត្រឡប់ទៅសុវត្ថិភាពវិញ រាល់ពេលដែលវាជួបប្រទះ URL ដែល Safe Browsing ចាត់ថ្នាក់ថាជាការគំរាមកំហែងដែលគេស្គាល់។
ចំណាំ៖ សម្រាប់ការការពារដ៏ល្អប្រសើរប្រឆាំងនឹងការគំរាមកំហែងដែលគេស្គាល់ សូមរង់ចាំរហូតដល់អ្នកបានចាប់ផ្តើម Safe Browsing មុនពេលអ្នកហៅវិធីសាស្ត្រ loadUrl() របស់ WebView object។
ឧបករណ៍ទាញយករូបភាពតូចវីដេអូ
ថ្នាក់ MediaMetadataRetriever មានវិធីសាស្រ្តថ្មី getScaledFrameAtTime() ដែលស្វែងរកស៊ុមនៅជិតទីតាំងពេលវេលាដែលបានផ្តល់ឱ្យ ហើយត្រឡប់ផែនទីប៊ីតដែលមានសមាមាត្រដូចគ្នាទៅនឹងស៊ុមប្រភព ប៉ុន្តែធ្វើមាត្រដ្ឋានឱ្យសមទៅនឹងចតុកោណនៃទទឹង និងកម្ពស់ដែលបានផ្តល់ឱ្យ។ វាមានប្រយោជន៍ក្នុងការបង្កើតរូបភាពតូចៗពីវីដេអូ។
យើងសូមណែនាំឱ្យប្រើវិធីនេះ ជាជាង getFrameAtTime() ដែលអាចខ្ជះខ្ជាយការចងចាំ ព្រោះវាត្រឡប់ផែនទីប៊ីតដែលមានគុណភាពបង្ហាញដូចគ្នានឹងវីដេអូប្រភព។ ឧទាហរណ៍ ស៊ុមពីវីដេអូ 4K នឹងក្លាយជាផែនទីប៊ីត 16MB ដែលធំជាងអ្វីដែលអ្នកត្រូវការសម្រាប់រូបភាពតូច។
API អង្គចងចាំដែលបានចែករំលែក
ប្រព័ន្ធប្រតិបត្តិការ Android 8.1 (API កម្រិត 27) ណែនាំថ្នាក់ SharedMemory ថ្មី។ ថ្នាក់នេះអនុញ្ញាតឱ្យអ្នកបង្កើត ផែនទី និងគ្រប់គ្រងអង្គចងចាំដែលបានចែករំលែកអនាមិក ដែលអាចប្រើបានដោយដំណើរការ ឬកម្មវិធីជាច្រើន។
WallpaperColors API
ការមើលជាមុនរបស់អ្នកអភិវឌ្ឍន៍ Android 8.1 (API កម្រិត 27) បន្ថែមការគាំទ្រសម្រាប់ការគ្រប់គ្រងពណ៌ផ្ទាំងរូបភាព។ មុខងារនេះអនុញ្ញាតឱ្យអ្នកបង្កើតវត្ថុ WallpaperColors ពី bitmap ដែលអាចគូរបាន ឬដោយប្រើពណ៌តំណាងដែលមើលឃើញច្រើនបំផុតបីដំបូង។ អ្នកក៏អាចទាញយកព័ត៌មានលម្អិតនៃពណ៌ដែលអាចកត់សម្គាល់បានបីដំបូងនៃផ្ទាំងរូបភាព។
ដើម្បីបង្កើតវត្ថុ WallpaperColors សូមធ្វើដូចខាងក្រោមៈ
ដើម្បីបង្កើតវត្ថុ WallpaperColors ដោយប្រើពណ៌បី បង្កើតឧទាហរណ៍នៃថ្នាក់ WallpaperColors ដោយឆ្លងកាត់ពណ៌ចម្បង ទីពីរ និងពណ៌ទីបី។ ពណ៌ចម្បងមិនត្រូវទុកជាមោឃៈទេ។
ដើម្បីបង្កើតវត្ថុ WallpaperColors ពី bitmap ហៅ method fromBitmap() ដោយឆ្លងកាត់ប្រភព bitmap ជាប៉ារ៉ាម៉ែត្រ។
ដើម្បីបង្កើតវត្ថុ WallpaperColors ពីវត្ថុដែលអាចគូរបាន ហៅវិធីសាស្ត្រ fromDrawable() ដោយឆ្លងកាត់ប្រភពដែលអាចគូរបានជាប៉ារ៉ាម៉ែត្រ។
ដើម្បីទាញយកព័ត៌មានលម្អិតពណ៌ចម្បង អនុវិទ្យាល័យ ឬទីបីពីផ្ទាំងរូបភាព សូមហៅទៅវិធីសាស្ត្រខាងក្រោម៖
getPrimaryColor() ត្រឡប់ពណ៌ដែលគួរអោយកត់សំគាល់បំផុតនៃផ្ទាំងរូបភាព។
getSecondaryColor() ត្រឡប់ពណ៌ដែលលេចធ្លោជាងគេទីពីរនៃផ្ទាំងរូបភាព។
getTertiaryColor() method ត្រឡប់ពណ៌ដែលលេចធ្លោជាងគេទីបីនៃផ្ទាំងរូបភាព
ដើម្បីជូនដំណឹងដល់ប្រព័ន្ធអំពីការផ្លាស់ប្តូរពណ៌សំខាន់ៗ សូមហៅទៅវិធីសាស្ត្រ notifyColorsChanged()។ វិធីសាស្រ្តនេះបង្កឱ្យមានព្រឹត្តិការណ៍ onComputeColors() lifecycle ដែលអ្នកមានឱកាសដើម្បីផ្តល់វត្ថុ WallpaperColors ថ្មី។
ដើម្បីបន្ថែមអ្នកស្តាប់សម្រាប់ការផ្លាស់ប្តូរពណ៌ អ្នកអាចហៅវិធីសាស្ត្រ addOnColorsChangedListener()។ អ្នកក៏អាចហៅវិធីសាស្ត្រ getWallpaperColors() ដើម្បីទាញយកពណ៌ចម្បងនៃផ្ទាំងរូបភាព។
ការធ្វើបច្ចុប្បន្នភាពស្នាមម្រាមដៃ
ថ្នាក់ FingerprintManager បានណែនាំកូដកំហុសខាងក្រោម៖
FINGERPRINT_ERROR_LOCKOUT_PERMANENT - អ្នកប្រើបានព្យាយាមច្រើនដងពេកដើម្បីដោះសោឧបករណ៍របស់ពួកគេដោយប្រើឧបករណ៍អានស្នាមម្រាមដៃ។
FINGERPRINT_ERROR_VENDOR - កំហុសកម្មវិធីអានស្នាមម្រាមដៃជាក់លាក់របស់អ្នកលក់បានកើតឡើង។