สรุปการเปลี่ยนแปลงของ Feature และ API ใน Android 5.0 Lollipop (API 21)

บทความนี้เป็นหนึ่งในซีรีย์บันทึกการเปลี่ยนแปลงของฟีเจอร์และ API ในแอนดรอยด์แต่ละเวอร์ชัน สำหรับผู้ที่หลงเข้ามาอ่านคนใดต้องการดูของเวอร์ชันอื่นๆ สามารถกดดูได้จากลิ้งข้างล่างนี้ได้เลย

สารบัญ

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 ได้

สรุป

ก็ต้องยอมรับว่าในแต่ละเวอร์ชันก็มีอะไรเพิ่มเข้ามาเยอะแยะมากมาย เพื่อช่วยให้ผู้ใช้สะดวกสบายและสามารถทำอะไรได้มากขึ้น แต่ในอีกมุมหนึ่ง ก็ส่งผลให้นักพัฒนาต้องหมั่นปรับตัวตามอยู่ตลอดเวลาเพื่อให้แอปของผู้ที่หลงเข้ามาอ่านนั้นยังคงใช้งานได้ปกติสุข