Friday, May 29, 2015

Android M DP và ADT mới - Chi tiết những điểm được giới thiệu ở Google IO 2015

Tại Google IO ngày thứ nhất, 28/5/2015 vừa qua, thế hệ tiếp theo của hệ điều hành Android đã ra mắt bản Android M preview cho các lập trình viên. Tên chính thức hiện tại là Android M, và theo truyền thống các loại bánh kẹo, chữ M này có thể đại diện cho Milk Shake (hỗn hợp xay nhuyễn giữa kem và sữa tươi), Marshmallow,...


Các lập trình viên có thể truy cập vào trang giới thiệu của Google để xem chi tiết hơn: http://developer.android.com/preview/index.html
Android M đã được phát hành cho các thiết bị Nexus 5,6, và 9. Nếu bạn có các thiết bị trên có thể download về để tham khảo trước.
Link download:
Android M – Nexus 5
Android M – Nexus 6
Android M – Nexus 9

Cách để flash bản Rom mới nhất này có thể tạm thời tham khảo ở bài viết hướng dẫn này, cách làm tương tự: http://www.gottabemobile.com/2015/05/26/how-to-install-android-5-1-1-lollipop-on-the-nexus-6/

Trong bài viết này, cùng điểm nhanh qua một số phần mới được cải tiến và giới thiệu ở Android M.

Cải tiến các thành phần cơ bản

Trong bản release M, các thành phần core liên quan đến trải nghiệm người dùng được tập trung để cải tiến tốt hơn, sữa hàng nghìn bugs được phát hiện, đồng thời cũng đưa vào nhiều thay đổi lớn đến các thành phần core của platform như:

Permissions - Phân quyền

Cải tiến để người dùng có thể tự điều khiển phân quyền. Apps có thể sẽ request đến quyền tương ứng vào thời điểm hoạt động, trong một context ngữ cảnh cụ thể. Cách làm này có thể là nói giống với iOS đang làm. Ví dụ, apps muốn khởi động camera để chụp ảnh, khi đó hệ thống sẽ đưa ra request và người dùng hoàn toàn có quyền quyết định cho phép app có được khởi động camera không. Đồng thời, người dùng cũng có một công cụ để quản lý những quyền mà họ đã cấp cho các apps trong phần Settings. Nếu bạn là một developer, ở Android M, bạn nên thiết kế app của mình làm sao để hiển thị yêu cầu người dùng cấp quyền cho app của mình được làm gì đó, tuỳ vào ngữ cảnh. Đây cũng là một phần quan trọng developer cần test kỹ tránh xảy ra lỗi apps khi người dùng từ chối cấp quyền.


App links - Liên kết với app

Bản M này cũng được cải tiến để các apps có thể liên kết với nhau dễ dàng hơn. Theo truyền thống, Android cho phép các apps có thể tự đăng ký xử lý các URLs nào đó. Bây giờ, developer có thể thêm thuộc tính "autoVerify" vào phần AppManifest, nhờ đó người dùng có thể liên kết sâu hơn với apps của bạn, mà không cần phải nhảy ra popup promt như trước kia. App links, kèm theo đó là App Indexing cho Google Search, làm cho người dùng dễ dàng khám phá, sử dụng quen app của bạn.

Battery Quản lý Pin và Năng lượng

Bản M này cũng cải thiện khả năng quản lý năng lượng thông minh hơn, thông qua tính năng gọi là Doze. Android M dựa vào việc nhận dạng các cử chỉ chuyển động của thiết bị để biết được thiết bị đang không được sử dụng. Trong trạng thái đó, Android sẽ tự điều chỉnh lại các hoạt động chạy ngầm để giữ được thời lượng pin lâu hơn. Ví dụ, bạn đang xây dựng một ứng dụng chat, khi đó bạn sẽ cần phân loại message có độ ưu tiên cao, để app được phép đánh thức device khi đang trong trạng thái Dozing.


Mở rộng tính năng trợ lý và thanh toán Payments

Android M cũng được vui mừng thông báo một số tính năng mới:

Now on tap - Google Now trên một cú chạm

Đây là tính năng mới để giúp cho người dùng Android được dễ dàng hơn, biến thiết bị Android thành một trợ lý ngay khi cần. Ví dụ, nếu có một người bạn nhắn tin rủ bạn đi ăn tối ở một nhà hàng mới, bạn không cần phải rời khỏi ứng dụng xem tin nhắn / chat để search, mà bạn có thể khởi động Google Now ngay để được trợ giúp. Vào lúc đó Google Now sẽ tự động nhận biết được context ngữ cảnh của cuộc nói chuyện, tự động tìm kiếm thực đơn, reviews của nhà hàng đó, thậm chí có thể giúp bạn đặt bàn luôn, dẫn đường bạn đến đó, và có thể kết hợp với các app ẩm thực có liên quan. Với các developer, bạn có thể cài đặt App Indexing để Google search có thể làm việc với app của bạn, nhờ đó người dùng có thể gọi ngay chính app của bạn thông qua Now on Tap.



Android Pay & Fingerprint

- Android đã build một hệ thống thanh toán dựa vào Near Field Communications (NFC - Giao tiếp trường gần) có từ bản Gingerbread, và bộ Host Card Emulation ở Kitkat để phát triển nên Android Pay. Android Pay sẽ cho phép các thiết bị android có thể đơn giản, và an toàn sử dụng thiết bị android của mình để thanh toán trong các cửa hàng store, hoặc thanh toán với hàng ngàn partner khác liên kết với Android Pay như McDonal, ...

- Với bản M, chức năng quét vân tay cũng được cung cấp sẵn luôn, và nhờ đó cũng cải thiện Android Pay, giúp người dùng xác thực thanh toán bằng cách quẹt vân tay của mình. Hơn thế nữa, chức năng quẹt vân tay còn dùng để mở khoá thiết bị, thanh toán trên cửa hàng play Google Play. Với các APIs mới ở M, các developer sẽ dễ dàng thực hiện việc xác thực ở trong app của mình thông qua việc quẹt vân tay, và như vậy, nó cũng sẽ tạo thành một hệ thống làm việc đồng nhất với nhiều thiết bị, tận dụng được hết các cảm biến censor có trên thiết bị.

Android Developer Tools

Đồng thời với Android M, SDK mới, thì Google cũng phát hành bản cập nhật cho các công cụ hỗ trợ lập trình Android tools.


Android Studio v1.3 Preview

Để giúp cho developer nhanh chóng nắm bắt được những công nghệ và tính năng mới của Android M, bản mới của Android Studio cũng được phát hành. Trong đó có khá nhiều tính năng đáng giá mới liên quan đến Android NDK & phát triển game: edit code và debugging với C/C++. Dựa trên nền tảng JetBrains Clion, Android Studio NDK plugin cũng cung cấp các tính năng như: refactoring và code completion cho C/C++ bên cạnh Java code. Java & C/C++ cùng được hỗ trợ và tiéch hợp trong một môi trường phát triển mà bạn không phải tốn công thử nghiệm lại tool khác. Nếu bạn là developers, hãy update bản Android Studio v1.3 mới này qua kênh thử nghiệm Canary.


Android Design Support Library

Bộ thư viện Android Design Suppor Library mới được phát hành để giúp cho việc thiết kế app theo phong cách Material ngày càng dễ hơn. Google đóng gói sẵn một bộ các thành phần chủ yếu (ví dụ: nút trôi nổi floating action button, snackbar, navigation view, motion enabled Toolbars) có thể tương tích ngược với các API v7, khiến cho app của bạn có một giao diện hiện đại, tuyệt đẹp mà không phải tự develop mọi thứ từ đầu.

Google Play Services v7.5

Bản phát hành mới này bao gồm một số tính năng như Smart Lock for Passwords, hàm APIs mới cho Google Cloud Messaging và Google Cast, Google Maps API trên các thiết bị chạy Android Wear.


Làm quen với những tính năng trên

Để có thể tiếp cận với những điểm mới trên, Google đã cung cấp các tài nguyên cần thiết đầy đủ cho chúng ta rồi. Nếu bạn không có các thiết bị Nexus 5, 6, 9, thì bạn có thể update bộ Android SDK của mình, bạn có thể chạy thông qua Simulator. Một số bước cần làm:


  1. Update lên Android Studio v1.3+ Preview
  2. Truy cập vào trang của Android M Developer Preview để tải tài nguyên vào tài liệu về.
  3. Nghiên cứu các hàm APIs mới & các thay đổi ở App Permission
  4. Nghiên cứu Android Design Support Library & Google Play Services APIs
  5. Chạy emulator bằng bộ công cụ SDK Manager hoặc cài đặt Android M vào thiết bị Nexus của mình (Link download ở đầu bài viết).
  6. Kiểm tra các app của bạn trên emulator hoặc trên máy Nexus đã update
  7. Cung cấp các phản hồi của bạn để Google có thể cải tiến Android M tốt hơn nữa