สรุปการเปลี่ยนแปลงของ Feature และ API ใน Android 5.0 Lollipop (API 21)
บทความนี้เป็นหนึ่งในซีรีย์บันทึกการเปลี่ยนแปลงของฟีเจอร์และ API ในแอนดรอยด์แต่ละเวอร์ชัน สำหรับผู้ที่หลงเข้ามาอ่านคนใดต้องการดูของเวอร์ชันอื่นๆ สามารถกดดูได้จากลิ้งข้างล่างนี้ได้เลย
สารบัญ
- Android 10 (API 29)
- Android 9.0 Pie (API 28)
- Android 8.1 Oreo (API 27)
- Android 8.0 Oreo (API 26)
- Android 7.1 Nougat (API 25)
- Android 7.0 Nougat (API 24)
- Android 6.0 Marshmallow (API 23)
- Android 5.1 Lollipop (API 22)
- Android 5.0 Lollipop (API 21)
- Android 4.4 KitKat (API 19)
User Interface
Material Design Support
เพิ่ม Style Resource ใหม่สำหรับ Material Design
Concurrent Documents and Activities in the Recents Screen
จากเดิมที่ Recents Screen จะแสดงแค่ 1 Task ต่อ 1 แอปเท่านั้น ในตอนนี้สามารถแสดงได้มากกว่า 1 Task ต่อ 1 แอปได้แล้ว เพื่อให้ผู้ใช้สามารถใช้งานแอปตัวเดียวกันแบบ Multitasking ได้ง่ายขึ้น
WebView Updates
WebView บนเวอร์ชันนั้นจะเป็น Chromium M37 ที่สามารถอัปเดตเป็นเวอร์ชันใหม่ล่าสุดจาก Google Play ได้แล้ว
Screen Capturing and Sharing
เพิ่ม Projection API เพื่อรองรับการบันทึกภาพหน้าจอและสามารถแชร์ภาพบนหน้าจอไปที่อื่นตามที่ต้องการได้
Notifications
Lock Screen Notifications
ผู้ใช้สามารถกำหนดได้ว่าจะให้ Notification ที่แสดงในหน้าจอ Lock Screen แสดงผลแบบไหน โดยแบ่งเป็น Private, Public และ Secret
Notifications Metadata
สามารถกำหนด Category, Priority และบุคคลที่เกี่ยวข้องกับ Notification นั้นๆได้ เพื่อให้ระบบสามารถเรียงลำดับการแสดงผลของ Notification ได้
Graphics
Support for OpenGL ES 3.1
รองรับ OpenGL ES 3.1 แล้ว
Android Extension Pack
สามารถเพิ่มความสามารถเสริมให้กับ OpenGL ES 3.1 ตามที่ต้องการ
Media
Camera API for Advanced Camera Capabilities
เพิ่ม Camera2 API เพื่อรองรับการเรียกใช้งานกล้องที่ละเอียดมากขึ้น ทำอะไรได้เยอะขึ้น
Media Playback Control
Notification รองรับการแสดงข้อมูลเกี่ยวกับ Media Playback บน Remote Controller ได้แล้ว
Media browsing
สามารถค้นหา Media Content ในแอปต่างๆผ่าน Browse API ได้แล้ว
Storage
Directory Selection
Storage Access Framework สามารถกำหนดให้ผู้ใช้สามารถเลือก Directory ที่ต้องการได้โดยให้แอปสามารถอ่าน/เขียนไฟล์ทั้งหมดที่อยู่ในนั้นได้โดยไม่ต้องรอให้ผู้ใช้ยืนยันการเข้าถึงในแต่ละไฟล์
และเพิ่ม Directory ใหม่สำหรับเก็บไฟล์ Media ไว้ใน External Storage โดยเรียกผ่านคำสั่ง getExternalMediaDirs() โดยจะคล้ายกับ getExternalFilesDir() ที่ไม่ต้องประกาศ Permission ถ้าเป็น Directory ของแอปนั้นๆ
Wireless & Connectivity
Multiple Network Connections
เพิ่ม Multi-networking API เพื่อให้สามารถสแกนหา Network แบบ Dynamic
Bluetooth Low Energy
สามารถใช้งานเครื่องเป็น Bluetooth LE Peripheral ได้แล้ว จากเดิมที่ทำได้แค่เชื่อมต่อกับอุปกรณ์ Bluetooth LE เท่านั้น ทำให้สามารถพัฒนาแอปให้เครื่องทำหน้าที่เป็นอุปกรณ์ Bluetooth LE แล้วเชื่อมต่อกับอุปกรณ์อื่นๆเพื่อส่งข้อมูลให้
NFC Enhancements
เพิ่มเมนู Android Beam ตอนแสดงเมนูให้เลือกแอปเพื่อแชร์ข้อมูล และสามารถสั่งให้ Android Beam เริ่มทำงานผ่านคำสั่ง invokeBeam ได้เลย
Project Volta
Scheduling jobs
เพิ่ม JobScheduler API สำหรับกำหนด Background Task ที่ต้องการให้ทำงานตามเงื่อนไขที่กำหนดในรูปแบบของ Job แทน AlarmManager ของเดิม
Printing Framework
Render PDF as bitmap
รองรับการ Render ไฟล์ PDF ให้กลายเป็นภาพ Bitmap ได้แล้ว โดยใช้ PdfRenderer
System
App Usage Statistics
สามารถเข้าถึงประวัติการใช้งานแอปของเครื่องนั้นๆได้ผ่าน Usage API
Testing & Accessibility
Testing and Accessibility Improvements
สามารถใช้คำสั่งเพื่อดึงข้อมูลจากภาพที่ดึงมาจาก Window Animation และใช้คำสั่ง Shell Command ใน Instrumentation Test ได้ รวมไปถึงกำหนด Voice Profile เวลาที่ใช้งาน Text-to-speech ได้
สรุป
ก็ต้องยอมรับว่าในแต่ละเวอร์ชันก็มีอะไรเพิ่มเข้ามาเยอะแยะมากมาย เพื่อช่วยให้ผู้ใช้สะดวกสบายและสามารถทำอะไรได้มากขึ้น แต่ในอีกมุมหนึ่ง ก็ส่งผลให้นักพัฒนาต้องหมั่นปรับตัวตามอยู่ตลอดเวลาเพื่อให้แอปของผู้ที่หลงเข้ามาอ่านนั้นยังคงใช้งานได้ปกติสุข