Được chỉnh sửa ngày 7/9/2017.
Chào mừng các bạn đến với các bài viết bổ sung cho chương trình học Android của Yellow Code Books.
Hôm nay mình có nhận được thông báo update từ Android Studio version cũ mình đang xài là 2.1.3, lên version mới hơn Android Studio 2.2. Điều đặc biệt khiến bài viết này ra đời đó là Android Studio 2.2 có hàng tá cái mới thú vị hơn so với các phiên bản cũ trước đó mà sự kiện Google I/O 2016 hồi tháng 5 vừa qua có nhắc đến, và các bạn là một lập trình viên Android thì không nên bỏ qua các cập nhật mới này. Đầu tiên mời các bạn xem qua video giới thiệu về Android Studio 2.2. Còn như mà các bạn có “ngại” nghe tiếng Anh quá thì hãy bỏ qua video và tiếp tục đọc các thông tin mà mình tổng hợp lại ở bên dưới nhé.
Như Google có giới thiệu, thì Android Studio 2.2 như một sự lột xác, công cụ này được cải tiến đáng kể về Tốc Độ (Speed), Thông Minh (Smart) và Hỗ Trợ Nền Tảng (Platform Support). Chúng ta bắt đầu cùng nhau điểm qua 6 cập nhật hữu ích trong số hơn 20 cập nhật của phiên bản Android Studio 2.2 này.
Một Loại Layout Mới Có Tên Là ConstraintLayout
Như vậy ngoài LinearLayout và RelativeLayout là hai layout phổ biến nhất các bạn đã biết, giờ đây với Android Studio 2.2 chúng ta có thêm một layout mới tên là ConstraintLayout, ConstraintLayout được áp dụng trên tất cả các giao diện mà ứng dụng của bạn hỗ trợ từ Android API 2.3 trở lên (quá tuyệt!!!). Như Google nói rằng với ConstraintLayout bạn sẽ không cần phải “code” giao diện nữa, giờ đây bạn hoàn toàn có thể kéo-thả các widget vào trong cửa sổ thiết kế mà vẫn đảm bảo việc hỗ trợ đa màn hình (bạn nào từng làm nhiều ứng dụng rồi thì biết cảnh khổ khi kéo thả các widget lúc thiết kế giao diện nhé, giờ thì hết rồi, nhưng mình và các bạn cũng phải kiểm chứng lại tính hiệu quả của ConstraintLayout ở một bài viết khác).
Vẫn Chưa Thấy ConstraintLayout?
Vì ConstraintLayout là một thành phần bổ sung mới trong Android platform (Android Studio 2.2 chỉ mới hỗ trợ editor để hoạt động với layout mới này thôi), do đó bạn phải làm một thao tác bổ sung gói này vào trong Android platform bằng các bước sau.
1. Bạn vào menu Tools > Android > SDK Manager.
2. Ở cửa sổ xuất hiện, bạn chọn qua tab SDK Tools.
3. Trong danh sách ở dưới tab này, bạn kéo xuống dưới, và mở rộng item Support Repository ra. Sau đó bạn check chọn cho 2 item con là ConstraintLayout for Android và Solver for ConstraintLayout như hình dưới đây. Khoan nhấn OK nhé bạn.
4. Cũng ở cửa sổ này, check chọn vào Show Package Details để show ra thêm danh sách cụ thể các gói cần download, bạn nên để ý đến verison của 2 gói bạn vừa check để dùng vào bước kế tiếp. Xem hình sau để rõ hơn version nào cần chú ý.
5. Giờ thì nhấn OK được rồi.
6. Thêm ConstraintLayout vào vùng dependency trên build.gradle của project như sau.
dependencies { compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha8' }
Bạn nhớ điền đúng version như đã nhắc ở Bước 4 nhé. Giờ bạn đã có thể sync project được rồi, bằng cách nhấn vào ở góc trên bên phải cửa sổ này.
Sử Dụng ContraintLayout
Nếu mình viết cụ thể nội dung này ra đây sẽ khá dài, các bạn có thể đợi mình nói cụ thể hơn ở bài viết khác. Hoặc không thể đợi được thì các bạn có thể đọc trước ở bài viết này của Google nhé.
Layout Inspector – Xem Phân Cấp Của Layout
Layout Inspector giúp cho bạn duyệt qua cấu trúc phân cấp của layout theo thời gian thực. Nó thực sự hữu dụng khi bạn muốn xem cấu trúc giao diện được thay đổi runtime, tức là giao diện thay đổi khi ứng dụng đang chạy, chẳng hạn như được thêm vào, bỏ ra,….
Layout Inspector là chức năng mới toanh của Android Studio 2.2 thay thế cho Hierarchy Viewer của phiên bản cũ.
Để sử dụng chức năng Layout Inspector, đầu tiên bạn phải chạy ứng dụng lên thiết bị (máy ảo hay máy thật có kết nối với máy tính). Sau đó đảm bảo cửa sổ Android Monitor đang mở, nếu không thấy cửa sổ Android Monitor này thì bạn có thể nhấn vào ở dưới cùng của Android Studio. Sau đó hãy tìm và nhấn vào icon
ở cửa sổ Android Monitor này.
Một cách khác để bạn có thể đến Layout Inspector là vào menu Tools > Android > Layout Inspector. Khi được kích hoạt thì Layout Inspector sẽ như sau.
Tùy vào thiết bị của bạn đang ở màn hình nào, Layout Inspector sẽ mở ra layout của đúng màn hình đó. Theo như bạn thấy thì cửa sổ này chia ra làm 3 phần. Phần bên trái là cấu trúc phân cấp các view của layout. Phần ở giữa chính là hình chụp của layout đó, bạn có thể click chọn vào từng field ở phần này để nó tô sáng view bên trái tương ứng, và ngược lại. Phần bên phải là tất cả các thuộc tính của view mà bạn đang chọn ở bên trái hoặc ở giữa.
Bạn có thể đọc thêm thông tin của Layout Inspector ở đây.
“Trợ Lý” Giúp Cho Việc Tích Hợp Firebase Dễ Dàng Hơn
Firebase là một nền tảng được hỗ trợ “chính chủ” từ Google, giúp cho bạn tạo ra được một ứng dụng mạnh mẽ hơn. Chẳng hạn Firebase có thể giúp ứng dụng của bạn có thêm chức năng quản lý account (hay còn gọi là chức năng authentication), hoặc được gắn các công cụ phân tích (analytics), hoặc có thể gửi nhận message giữa các thiết bị thông qua đám mây,…
Giờ đây bạn đã có thể truy xuất trực tiếp với các tiện ích này của Firebase thông qua một cửa sổ Assistant trên Android Studio 2.2.
Điều Kiện Để Sử Dụng Assistant
Để có chức năng này thì bạn phải đảm bảo Google Repository có version tối thiểu là 26, bạn có thể kiểm tra bằng các bước sau.
1. Bạn vào menu Tools > Android > SDK Manager.
2. Ở cửa sổ xuất hiện, bạn chọn qua tab SDK Tools.
3. Trong danh sách ở dưới tab này, bạn kéo xuống dưới, và mở rộng item Support Repository ra. Để ý version của Google Repository, nếu nhỏ hơn 26 thì bạn chọn OK để cài đặt chức năng này. Còn nếu version đã lớn hơn 26 (như hình dưới) thì bạn hãy đi tiếp qua phần kế tiếp bên dưới.
Khởi Chạy Assistant
1. Vào menu Tools > Firebase để mở cửa sổ Assistant.
2. Với cửa sổ Assistant, bạn sẽ được hướng dẫn “tận tình” từng bước để có thể dễ dàng đăng ký và sử dụng các dịch vụ Firebase của Google.
Vậy Firebase Là Gì?
Sẽ có một bài viết riêng về Firebase cho các bạn, tuy nhiên nếu bạn nào có nhu cầu muốn biết các công cụ và dịch vụ Firebase để có thể tích hợp nhanh vào ứng dụng của bạn, thì có thể đọc ở đây. Vì Firebase chính là sản phẩm chính chủ của Google nên bạn cứ tin tưởng và sử dụng nhé, ý mình nói tin tưởng ở đây là sự ổn định, tuổi thọ dịch vụ được dài lâu í mà.
Phân Tích Bản Build Của Ứng Dụng Thông Qua Công Cụ APK Analyzer
Công cụ mới này của Android Studio 2.2 giúp bạn không những có thể “mổ xẻ” file APK ra để xem trong đó có gì, mà bạn còn có được các phân tích đáng giá bên trong file APK đó nữa. Vậy hãy cùng nhau xem công cụ này hỗ trợ những gì nhé.
Các cách truy cập vào APK Analyzer
Bạn có thể sử dụng một trong ba cách truy cập sau.
– Kéo thả file APK vào Android Studio
– Chuyển chế độ hiển thị cấu trúc project về kiểu Project, và tìm đến thư mục chứa file APK rồi click đúp lên file APK đó. Xem hình sau.
– Vào menu Build > Analyze APK và chọn file APK bạn cần “mổ xẻ”.
Xem Thông Tin Kích Thước Các File
Công dụng đầu tiên của APK Analyzer là xem thông tin các file và kích thước của chúng.
Xem File AndroidManifest.xml
Đừng nghĩ chức năng này không hữu ích. Nếu bạn nào từng nghĩ cách “chôm” thông tin từ ứng dụng khác, thì cũng đã từng hì hục giải nén file APK ra xem. Nhưng khi đó file AndroidManifest.xml của ứng dụng bạn muốn “chôm” đó lại bị mã hóa theo dạng nhị phân thì làm sao mà đọc.
Nhưng nhờ có APK Analyzer, công cụ này thật dễ thương, nó sẽ giúp chúng ta xem lại tường tận từng dòng khai báo trong AndroidManifest.xml của file APK mà không bị mã hóa nữa.
Chức năng này còn dễ thương ở chỗ cung cấp cho chúng ta các cảnh báo hay lỗi từ lint. Như hình trên.
Xem Resource
Với cách view cũ thì ngoài AndroidManifest.xml ra, thì tất cả các file xml đều bị mã hóa, và APK Analyzer cũng sẽ giúp xem được hết. Thậm chí với file resource string như hình dưới đây, thì bạn có thể xem được bản dịch cho các ngôn ngữ khác nhau, các ngôn ngữ này được chia theo cột cho dễ xem nữa.
Xem File DEX
Với APK Analyzer bạn còn có thể truy xuất đến file DEX nữa. File DEX là nơi chứa đựng thông tin về các class, package, số lượng các method được định nghĩa trong mỗi class hay package (Defined Methods), số lượng các method được tham chiếu đến trong class hay package đó (Referenced Methods).
So Sáng Hai APK
Thực ra chức năng này giúp so sánh kích thước của hai file APK với nhau. Ví dụ nếu bạn build ra hai bản APK là debug và release, và muốn xem chúng có khác nhau về kích thước không, thì sau khi mở một file APK bằng APK Analyzer để xem, bạn hãy nhấn Compare with… ở góc trên bên phải cửa sổ này và trỏ tới file APK còn lại. Và… giờ đây bạn đã có thể biết những class nào có sự chênh lệnh nhau về kích thước giữa 2 APK này rồi đấy.
Espresso Test Recorder
Nếu bạn thường hay nghĩ đến và muốn áp dụng Auto Test vào ứng dụng của mình? Nhưng bạn cũng biết rằng để có được Auto Test thì trước hết bạn phải biết cách lập trình chúng, mặc dù Android cũng đã hỗ trợ thư viện cho bạn hiện thực mong muốn này, nhưng không phải ai cũng có đủ thời gian để vừa lập trình ứng dụng, vừa lập trình Auto Test. Vậy là để test ứng dụng, không còn cách nào khác là bạn cứ phải lặp đi lặp lại hoài công việc chạy các chức năng cũ của ứng dụng một cách thủ công, thật nhàm chán!!!
Thật tốt là từ phiên bản Android Studio 2.2 này thì công cụ Espresso Test Recorder đã chính thức hoàn thiện từ phiên bản preview trước đó, để mang đến cho chúng ta một chức năng xây dựng Auto Test một cách dễ dàng.
Về ý kiến cá nhân thì mình vẫn chưa thấy chức năng này hoàn toàn ổn định, các bạn cứ thử theo các bước sau và tự kiểm chứng nhé. Nếu các bạn chưa có một ứng dụng nào để thử nghiệm thì có thể download app mẫu này trên Github bằng cách click vô đây rồi thực hiện từng bước như sau.
1. Chỉ cần bạn đang mở máy ảo, hay máy thật có kết nối cáp với máy tính. Bạn nhấn vào menu Run > Record Espresso Test như hình dưới.
2. Một cửa sổ hiện lên với danh sách thiết bị mà bạn đang kết nối. Giống như là cửa sổ khi bạn chạy ứng dụng bình thường vậy.
3. Đợi một lúc, giống như bạn đang bắt đầu debug ứng dụng. Sau một khoảng thời gian thì có một cửa sổ tên Record Your Test xuất hiện, nội dung No events recorded yet ở giữa cửa sổ báo cho bạn biết là chưa có event nào được record hết. Và có 2 nút Add Assertion và Complete Recording mà chúng ta sẽ trải nghiệm sau.
4. Nếu bạn download app mẫu từ Github thì ứng dụng giống như màn hình bên trái ở trên. Còn nếu bạn đang chạy ứng dụng của riêng mình thì cứ nhấn vào bất kỳ nút nào nhé. Với app mẫu thì bạn nhấn vào nút +, lập tức cửa sổ Record Your Test sẽ xuết hiện một event với ID của nút đó, đồng thời app sẽ mở ra màn hình New Note từ sự kiện click của nút + đó. Như hình sau.
5. Tiếp theo khi bạn gõ nội dung vào EditText, thì cửa sổ Record Your Test tiếp tục hiện ra các event tương ứng như hình bên dưới. Nội dung của EditText cũng xuất hiện phía dưới event và được nhớ lại cho các lần test sau.
6. Đến đây bạn nhấn vào dấu check, đó là nút save, thì Record Your Test hiển thị thêm event, đồng thời app sẽ về lại màn hình home với thẻ Happy Testing! vừa được thêm vào.
7. Ở bước này chúng ta hoàn toàn có thể xong việc Record. Nhưng hãy thử chức năng Add Assertion bằng cách nhấn vào nút này trên cửa sổ Record Your Test. Chức năng này giúp chúng ta kiểm chứng thêm rằng ở bước này thì kiểu dữ liệu của item, hay cách thức phản xạ của event là như thế nào, có đúng hay chưa. Khi bạn nhấn nút này, một ảnh chụp màn nhình của thiết bị xuất hiện, bạn có thể click vào bất cứ item nào trên ảnh chụp để vệt đỏ bao quanh item đó (như ảnh dưới). Rồi sau đó bạn có thể chọn cách thức kiểm chứng ở bước này. Bạn có thể nhìn hình bên dưới sẽ dễ hiểu hơn. Chọn Save Assertion để hoàn thành chức năng này.
8. Giờ bạn hãy nhấn Complete Recording để kết thúc quá trình record, khi đó một hộp thoại xuất hiện để hỏi chúng ta save lại tên của class test.
9. Sau khi nhập tên cho class test và nhấn Save, thì code test mà bạn vừa record lúc nãy sẽ được tự động sinh ra trong class với tên tương ứng.
10. Về sau khi bạn muốn chạy lại chức năng test bạn vừa record lúc nãy, thì hãy click chuột phải lên class test đó và chọn Run ‘Tên Class Test’.
Tìm Kiếm Code Mẫu
Đây là chức năng hoàn toàn mới trên Android Studio 2.2. Chỉ với thao tác nhanh-gọn-lẹ là bạn tô khối thành phần mình muốn tham khảo, nhấn chuột phải vào đó và chọn Find Sample Code. Xong, bạn sẽ thấy cửa sổ Find Sample Code xuất hiện với nhiều class, click đúp vào một class nào đó sẽ dẫn bạn đến nơi chứa đựng về các code mẫu liên quan đến class mà bạn đang tô khối.
Trên đây mình đã giúp bạn liệt kê một vài cập nhật lớn từ Android Studio 2.2. Còn một vài cập nhật hữu ích nữa như thêm tính năng giả lập cho máy ảo, hay thêm tính năng cho chức năng run/debug ứng dụng,… tất cả đều nằm ở đây, mời các bạn tham khảo thêm.
Cảm ơn bạn đã đọc các bài viết của Yellow Code Books. Bạn hãy đánh giá 5 sao nếu thấy thích bài viết, hãy comment bên dưới nếu có thắc mắc, hãy để lại địa chỉ email của bạn để nhận được thông báo mới nhất khi có bài viết mới, và nhớ chia sẻ các bài viết của Yellow Code Books đến nhiều người khác nữa nhé.
Bài viết của bạn khá rõ và hay, mình đọc theo link bạn đưa trong bài viết thì thấy cũng còn nhiều cái hay nữa, mà ngại đọc tiếng nước ngoài quá, ngóng chờ cập nhật tiếp theo của blog.
Dạo này lu bu chưa có nhiều thời gian để tổng hợp thêm, bạn Tuấn đợi một thời gian nhé 😉
một block hay !
5ting
Cảm ơn bạn 😉