| ประเภทไฟล์ | APK |
|---|---|
| เวอร์ชัน | Preview |
| สำนักพิมพ์ | |
| วันที่วางจำหน่าย | 25 ต.ค. 2017 |
| วันที่เพิ่ม | 25 ต.ค. 2017 |
| ข้อกำหนดระบบปฏิบัติการ | 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 และ ConditionProviderService ไม่ได้รับการสนับสนุนบนอุปกรณ์ที่ใช้ระบบปฏิบัติการ Android ที่มีแรมต่ำ ซึ่งจะคืนค่าเป็น true เมื่อเรียกใช้ActivityManager.isLowRamDevice()
ปรับปรุงการกำหนดเป้าหมายสำหรับอุปกรณ์ RAM ต่ำ
Android 8.1 (API ระดับ 27) เพิ่มค่าคงที่คุณลักษณะฮาร์ดแวร์ใหม่สองค่า FEATURE_RAM_LOW และ FEATURE_RAM_NORMAL ให้กับ Package Manager ค่าคงที่เหล่านี้ช่วยให้คุณกำหนดเป้าหมายการแจกจ่ายแอปและ APK ที่แยกไปยังอุปกรณ์ที่มี RAM ปกติหรือต่ำ
ค่าคงที่เหล่านี้ทำให้ Play Store สามารถส่งเสริมประสบการณ์ผู้ใช้ที่ดีขึ้นโดยเน้นที่แอพที่เหมาะสมกับความสามารถของอุปกรณ์โดยเฉพาะ
อัปเดตเฟรมเวิร์กป้อนอัตโนมัติ
Android 8.1 Developer Preview (API ระดับ 27) มีการปรับปรุงหลายอย่างใน Autofill Framework ที่คุณสามารถรวมเข้ากับแอปของคุณได้
การแสดงตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์เพิ่มการรองรับคำอธิบายที่กำหนดเองซึ่งระบบ Android แสดงใน UI บันทึกการป้อนอัตโนมัติ แทนที่จะแสดงข้อมูลเดิม สิ่งนี้มีประโยชน์ ตัวอย่างเช่น เมื่อคุณต้องการปกปิดหมายเลขบัตรเครดิตและแสดงเฉพาะตัวเลขสี่หลักสุดท้าย หากต้องการเรียนรู้เพิ่มเติม ดูคลาส CustomDescription
การแสดงตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์ช่วยให้คุณสามารถระบุออบเจ็กต์เครื่องมือตรวจสอบที่แอปของคุณสามารถใช้เพื่อตัดสินใจว่าระบบ Android ควรแสดง UI บันทึกการป้อนอัตโนมัติหรือไม่ ฟังก์ชันนี้มีให้โดยเมธอด setValidator() ของคลาส SaveInfo.Builder
คลาส BaseAdapter ใน Developer Preview รวมถึงเมธอด setAutofillOptions() ซึ่งอนุญาตให้คุณจัดเตรียมการแสดงสตริงของค่าในอแด็ปเตอร์ สิ่งนี้มีประโยชน์สำหรับการควบคุมสปินเนอร์ที่สร้างค่าในอะแดปเตอร์แบบไดนามิก ตัวอย่างเช่น คุณสามารถใช้เมธอด thesetAutofillOptions() เพื่อแสดงสตริงของรายการปีที่ผู้ใช้สามารถเลือกให้เป็นส่วนหนึ่งของวันหมดอายุของบัตรเครดิต บริการป้อนอัตโนมัติสามารถใช้การแสดงสตริงเพื่อกรอกข้อมูลในมุมมองที่ต้องการข้อมูลได้อย่างเหมาะสม
นอกจากนี้ คลาส AutofillManager ยังมีเมธอด notifyViewVisibilityChanged(View, int, boolean) ที่คุณสามารถเรียกเพื่อแจ้งกรอบงานเกี่ยวกับการเปลี่ยนแปลงในการมองเห็นมุมมองในโครงสร้างเสมือน นอกจากนี้ยังมีวิธีการมากเกินไปสำหรับโครงสร้างที่ไม่ใช่เสมือน อย่างไรก็ตาม โครงสร้างที่ไม่ใช่เสมือนมักจะไม่ต้องการให้คุณแจ้งกรอบงานอย่างชัดเจน เนื่องจากคลาส View เรียกวิธีการนี้แล้ว
แก้ไขข้อความอัพเดท
เริ่มต้นด้วย API ระดับ 27 เมธอด EditText.getText() จะส่งกลับค่าที่แก้ไขได้ ก่อนหน้านี้มันส่งคืน CharSequence การเปลี่ยนแปลงนี้เข้ากันได้แบบย้อนหลัง เนื่องจาก Editable ใช้ CharSequence
อินเทอร์เฟซที่แก้ไขได้มีฟังก์ชันเพิ่มเติมที่มีคุณค่า ตัวอย่างเช่น เนื่องจาก Editable ยังใช้อินเทอร์เฟซ Spannable คุณจึงใช้มาร์กอัปกับเนื้อหาภายในอินสแตนซ์ของ EditText ได้
การดำเนินการของ Safe Browsing แบบเป็นโปรแกรม
ด้วยการใช้ WebView ของ Safe Browsing API แอปของคุณสามารถตรวจพบเมื่ออินสแตนซ์ของ WebView พยายามนำทางไปยัง URL ที่ Google ได้จัดประเภทว่าเป็นภัยคุกคามที่รู้จัก ตามค่าเริ่มต้น WebView จะแสดงโฆษณาคั่นระหว่างหน้าดังที่แสดงในรูปที่ 1 เพื่อเตือนผู้ใช้ถึงภัยคุกคามที่ทราบและให้ตัวเลือกแก่ผู้ใช้ในการโหลด URL ต่อไปหรือกลับไปยังหน้าก่อนหน้าที่ปลอดภัย
ใน Android 8.1 Developer Preview คุณสามารถกำหนดโดยทางโปรแกรมว่าแอปของคุณตอบสนองต่อภัยคุกคามที่รู้จักอย่างไร:
คุณควบคุมได้ว่าจะให้แอปรายงานภัยคุกคามต่อ Safe Browsing หรือไม่
คุณสามารถให้แอปของคุณดำเนินการบางอย่างโดยอัตโนมัติ เช่น กลับสู่ความปลอดภัย ทุกครั้งที่พบ URL ที่ Safe Browsing จัดว่าเป็นภัยคุกคามที่ทราบ
หมายเหตุ: เพื่อการป้องกันภัยคุกคามที่รู้จักอย่างเหมาะสมที่สุด ให้รอจนกว่าคุณจะได้เริ่มต้น Safe Browsing ก่อนที่คุณจะเรียกใช้เมธอด loadUrl() ของออบเจ็กต์ WebView
ตัวแยกภาพขนาดย่อของวิดีโอ
คลาส MediaMetadataRetriever มีเมธอดใหม่ getScaledFrameAtTime() ที่ค้นหาเฟรมใกล้กับตำแหน่งเวลาที่กำหนดและส่งคืนบิตแมปที่มีอัตราส่วนกว้างยาวเดียวกันกับเฟรมต้นทาง แต่ปรับขนาดให้พอดีกับสี่เหลี่ยมผืนผ้าที่มีความกว้างและความสูงที่กำหนด สิ่งนี้มีประโยชน์สำหรับการสร้างภาพขนาดย่อจากวิดีโอ
เราขอแนะนำให้ใช้วิธีนี้แทน getFrameAtTime() ซึ่งอาจทำให้หน่วยความจำเสียเพราะจะส่งกลับบิตแมปที่มีความละเอียดเท่ากับวิดีโอต้นทาง ตัวอย่างเช่น เฟรมจากวิดีโอ 4K จะเป็นบิตแมป 16MB ซึ่งใหญ่กว่าที่คุณต้องการสำหรับภาพขนาดย่อมาก
หน่วยความจำที่ใช้ร่วมกันAPI
Android 8.1 (API ระดับ 27) แนะนำคลาส SharedMemory ใหม่ คลาสนี้อนุญาตให้คุณสร้าง แมป และจัดการหน่วยความจำที่แชร์แบบไม่ระบุชื่อที่สามารถใช้ได้โดยหลายกระบวนการหรือแอป
WallpaperColors API
Android 8.1 Developer Preview (API ระดับ 27) เพิ่มการรองรับการจัดการสีวอลล์เปเปอร์ คุณลักษณะนี้ช่วยให้คุณสร้างวัตถุ WallpaperColors จากบิตแมป วาดได้ หรือโดยการใช้สีที่เป็นตัวแทนทางสายตามากที่สุดสามสีแรก คุณยังสามารถดึงรายละเอียดของสีที่เห็นได้ชัดเจนสามสีแรกของวอลเปเปอร์
ในการสร้างวัตถุ WallpaperColors ให้ทำอย่างใดอย่างหนึ่งต่อไปนี้:
ในการสร้างวัตถุ WallpaperColors โดยใช้สามสี ให้สร้างอินสแตนซ์ของคลาส WallpaperColors โดยส่งสีหลัก สีรอง และสีตติยภูมิ สีหลักต้องไม่เป็นค่าว่าง
ในการสร้างวัตถุ WallpaperColors จากบิตแมป ให้เรียกเมธอด fromBitmap() โดยส่งแหล่งที่มาบิตแมปเป็นพารามิเตอร์
ในการสร้างอ็อบเจกต์ WallpaperColors จาก drawable ให้เรียกเมธอด fromDrawable() โดยส่งซอร์สที่ drawable เป็นพารามิเตอร์
ในการดึงรายละเอียดสีหลัก รอง หรือตติยภูมิจากวอลเปเปอร์ ให้เรียกใช้วิธีการต่อไปนี้:
getPrimaryColor() คืนค่าสีที่เห็นได้ชัดเจนที่สุดของวอลเปเปอร์
getSecondaryColor() คืนค่าสีที่โดดเด่นเป็นอันดับสองของวอลเปเปอร์
เมธอด getTertiaryColor() จะคืนค่าสีที่โดดเด่นเป็นอันดับสามของวอลเปเปอร์
หากต้องการแจ้งระบบเกี่ยวกับการเปลี่ยนสีที่สำคัญ ให้เรียกใช้เมธอด notifyColorsChanged() เมธอดนี้ทริกเกอร์เหตุการณ์วงจรชีวิต onComputeColors() ซึ่งคุณมีโอกาสที่จะจัดเตรียมออบเจ็กต์ WallpaperColors ใหม่
หากต้องการเพิ่มฟังสำหรับการเปลี่ยนสี คุณสามารถเรียกเมธอด addOnColorsChangedListener() คุณยังสามารถเรียกเมธอด getWallpaperColors() เพื่อดึงสีหลักของวอลเปเปอร์
อัพเดตลายนิ้วมือ
คลาส FingerprintManager ได้แนะนำรหัสข้อผิดพลาดต่อไปนี้:
FINGERPRINT_ERROR_LOCKOUT_PERMANENT - ผู้ใช้พยายามปลดล็อกอุปกรณ์โดยใช้เครื่องอ่านลายนิ้วมือหลายครั้งเกินไป
FINGERPRINT_ERROR_VENDOR - เกิดข้อผิดพลาดในการอ่านลายนิ้วมือเฉพาะผู้จำหน่าย