Chào các bạn.

Đến hẹn lại lên. Phiên bản mới nhất, với những cập nhật CHẤT nhất của Android Studio đã chính thức được xuất xưởng và được thông báo qua sự kiện Google I/O 2017 hồi tháng 10 vừa qua. Như vậy, các lập trình viên chúng ta đã phải chờ đợi trong khoảng 7 tháng kể từ phiên bản trước đó là Android Studio 2.3.

Phiên bản mới Android Studio 3.0 này ngoài việc nâng cấp hiệu suất trong việc build ứng dụng ra, nó còn chứa đựng sự cập nhật đối với ba vấn đề lớn, như việc bổ sung các công cụ chẩn đoán hiệu suất ứng dụng, hỗ trợ chính thức ngôn ngữ Kotlin, và hỗ trợ bộ công cụ giúp bạn tăng tốc độ tương thích của các ứng dụng với Android Oreo (Android 8.0).

Nếu bạn vẫn chưa cập nhật lên Android Studio 3.0? Hãy vào trang này mà down về nhé.

Tuy nhiên, mình khuyên bạn nên xem lại một số tính năng của các phiên bản trước đó trên trang blog của mình ở các link sau để có thể biết đầy đủ hơn cách sử dụng đối với công cụ lập trình Android mạnh mẽ này.

Android Studio 2.2 có gì mới?
Android Studio 2.3 có gì mới?

Trước khi đi vào chính thức các mục chi tiết của mình, mời bạn cùng xem lại video tổng hợp các tính năng nổi bật từ Google nhé.

Kotlin Đã Chính Thức Được Hỗ Trợ

Nếu bạn còn nhớ, Kotlin đã được Google chọn lựa là ngôn ngữ chính thức cho dân lập trình Android từ tháng 5/2017. Vừa “bàng hoàng” vì từ đó trở đi, các lập trình viên chúng ta phải đau đầu tìm hiểu ngôn ngữ mới, thì lại càng bàng hoàng hơn nữa vì Android Studio phiên bản lúc bấy giờ chưa hỗ trợ chính thức cho ngôn ngữ này, bởi vì bạn vẫn phải cài đặt plugin cho Android Studio thì công cụ này mới có thể hỗ trợ Kotlin cho bạn.

Nhưng với Android Studio 3.0 thì khác rồi, bạn sẽ có được sự hỗ trợ đầy đủ về ngôn ngữ mới này như sau.

Chọn Kotlin Làm Mặc Định Khi Tạo Mới Project

Từ bây giờ, khi bạn tạo mới một project Android, nếu check chọn vào Include Kotlin Support ở bước đầu tiên trong quá trình tạo mới một project, thì Kotlin sẽ là ngôn ngữ mặc định cho project này. Với các thiết lập và lựa chọn tiếp theo đó của quá trình này, bạn cứ thực hiện theo hướng dẫn của nó cho đến khi hoàn thành, giống như cách bạn tạo mới project bằng Java trước kia thôi. Bạn cũng có thể tham khảo bài viết này để thấy các bước tạo mới một project Android nhé.

Có một điều lưu ý là, tất cả các resource và file Kotlin sau đó sẽ được tạo ra và chứa trong thư mục src/main/java/ (điều này giống như bạn tạo mới với project Java trước đây vậy, mặc dù lần này bạn đang lưu trữ trong thư mục java/ là các file Kotlin!!!).

Việc chọn lựa thư mụcjava/ để chứa các file Kotlin này có một điểm hay là bạn cứ yên tâm rằng không có sự xáo trộn gì nhiều về mặt cấu trúc project. Nhưng nếu bạn muốn điều chỉnh lại cho đúng, tức là các file Kotlin phải để trong src/main/kotlin/, còn các file Java phải để trong src/main/java, thì bạn có thể làm như sau.

Đầu tiên hãy tạo thêm một thư mục mà bạn muốn. Chẳng hạn, src/main/kotlin/ như hình.

Sau đó, bạn phải khai báo thư mục này vào trong khối sourceSets của file build.gradle như sau. Vậy là xong rồi đó. Bạn có thể kiểm chứng bằng cách tạo mới các file Kotlin từ bây giờ trong thư mục mới này nhé.

android {
   sourceSets {
       main.java.srcDirs += 'src/main/kotlin'
   }
}

Thêm Một File Kotlin Vào Project Hiện Tại

Cho dù project của bạn đang là project Java trước đó, hay project Kotlin mà bạn vừa tạo trên kia. Thì bạn hoàn toàn có thể thêm vào một file Kotlin vào trong project hiện tại.

Ví dụ với việc tạo mới một Activity như sau. Đầu tiên bạn vẫn nên chọn một Activity theo template có sẵn như hình.

Nhưng sau khi chọn một template, ở bước tiếp theo của cửa sổ wizard, bạn có thể chỉ định Kotlin là ngôn ngữ cho file này ở field Source Language (như hình dưới). Vậy thôi, Activity được tạo ra sau đó chính là ngôn ngữ Kotlin mà bạn đã chọn.

Tương tự như khi tạo một Activity với ngôn ngữ Kotlin, nếu bạn tạo mới một Fragment thì cửa sổ wizard cũng sẽ cho bạn lựa chọn ngôn ngữ như vậy.

Và cuối cùng, nếu bạn muốn tạo mới một file Kotlin nào khác (không phải Activity hay Fragment như trên), thì bạn có thể nhìn thấy tùy chọn ngôn ngữ từ menu chọn lựa như hình sau.

Chuyển Đổi Code Java Sang Code Kotlin

Nếu bạn không có nhu cầu tạo mới các file Kotlin như trên kia, vì bạn đã có sẵn các file Java đã được xây dựng từ rất lâu rồi, thì bạn có thể chọn giải pháp chuyển đổi code Java sang code Kotlin được hỗ trợ chính thức ở Android Studio 3.0 này. Có hai cách để bạn chuyển đổi từ file Java sang file Kotlin.

Cách thứ nhất, khá đơn giản và truyền thống, đó là bạn hãy mở một file Java lên, rồi chọn menu Code > Convert Java File To Kotlin File.

Cách thứ hai, nếu bạn đang có file Kotlin, hãy copy code Java nào đó và dán vào file Kotlin này. Sẽ có một dialog hỏi bạn có muốn chuyển đổi code Java đó sang code Kotlin không, bạn hãy nhấn Yes và xem hiệu ứng chuyển đổi nhé.

Giúp Bạn Tạo Bộ Adaptive Icon Dễ Dàng Hơn

Adaptive Icons được nói đến khi Android O ra đời. Nếu như từ thuở sơ khai (của Android), lập trình viên chỉ cần tạo một icon app (hay còn được gọi là icon launcher) cho ứng dụng. Đến Android 7.1, bạn lại chứng kiến việc hệ thống hỗ trợ thêm icon tròn trên một số thiết bị, thế là chúng ta phải tạo hai loại icon trong một project, tròn và vuông. Sang đến Android 8.0 (hay Android O) thì khác hoàn toàn, hệ điều hành mới này đòi hỏi một bộ các icon và các resource kèm theo, nhằm mang đến một sự mới lạ và đẹp đẽ hơn cho các icon của ứng dụng. Vâng đó chính là Adaptive Icons mà mình muốn nói đến, bạn có thể đọc kỹ hơn về loại icon đặc biệt này ở bài viết này của mình. Link bài viết đã nói khá rõ về Adaptive Icons cũng như cách sử dụng công cụ Image Asset Studio của Android Studio 3.0 để tạo ra chúng, mà mình không nhắc lại ở bài viết tổng hợp này nhé.

Hỗ Trợ XML Fonts & Downloadable Fonts

Đây là hai cách giúp bạn sử dụng font khác với font mặc định của hệ thống, hay còn gọi là custom font, một cách dễ dàng hơn bao giờ hết. Và vì mình có viết rất chi tiết cách sử dụng hai loại font này luôn rồi, nên ở đây mình cũng không nói thêm nhé, link dẫn đến hai bài viết này như sau.

Thêm Công Cụ Device File Explorer

Công cụ này có mục đích và cách sử dụng đơn giản. Thứ nhất, nó giúp chúng ta có thể duyệt qua cấu trúc các file và thư mục trên thiết bị Android (emulator, hoặc thiết bị thật có kết nối với máy tính và bật chế độ USB debugging). Sau đó, bạn có thể tạo mới, save, tải lên, hay xóa các file và thư mục trên thiết bị. Giúp bạn nhanh chóng trong việc kiểm tra tính đúng đắn của dữ liệu tạo ra bởi ứng dụng đang chạy.

Cách Sử Dụng Device File Explorer

Để hiển thị cửa sổ Device File Explorer thì bạn làm như sau.

Bạn có thể tìm đến menu View > Tool Windows > Device File Explorer. Hoặc nhanh nhất thì bạn có thể tìm một cửa sổ ở phía dưới bên phải của Android Studio, cửa sổ này có ghi sẵn Device File Explorer, bạn hãy click vào nó.

Cửa sổ Device File Explorer sẽ mở ra như sau. Giao diện và cách sử dụng của cửa sổ này rất dễ dàng, bạn cứ tự mày mò nhé.

Bạn nên nhớ, vì đây là các file và thư mục thật của thiết bị, nên bạn đừng có dại mà thử xóa chúng đi nhé. Nếu bạn đang sử dụng máy ảo, hoặc máy thật không root, thì sẽ an toàn hơn, vì các file và thư mục quan trọng đã bị hệ thống giấu đi rồi. Còn với thiết bị đã root, nếu bất cẩn thì cũng có khả năng bạn xóa mất file của hệ thống đấy. Vậy thì để an toàn nhất, bạn nên chỉ chú ý đến hai thư mục sau, bạn có thể vọc phá chúng mà không ảnh hưởng đến hệ thống (nhưng có thể ảnh hưởng đến ứng dụng khác), đó là.

  • data/data/package_của_app/ – Thư mục này chứa các file của ứng dụng nào đó trong bộ nhớ chính của thiết bị.
  • sdcard/ – Thư mục này chứa các file trong bộ nhớ mở rộng của thiết bị.

So Sánh Device File Explorer Với Android Device Monitor

Nếu bạn nào đã có nhiều kinh nghiệm với lập trình Android, bạn sẽ phát hiện ra rằng công cụ Device File Explorer mới mẻ này khá giống với công dụng của tab File Explorer trong Android Device Monitor. Bạn có thể thử so sánh với Android Device Monitor bằng cách vào Tools > Android > Android Device Manager.

Tuy nhiên chúng ta chỉ so sánh cho biết. Vì các công cụ của Android Studio sau này đã dần thay thế từng chức năng cũ của Android Device Monitor, và làm cho nó tốt hơn rất nhiều. Cụ thể với Device File Explorer, mình thấy khá thích và cảm thấy tiện lợi hơn so với tab File Explorer trên kia, vì nó rất dễ để kích hoạt, sử dụng nhanh chóng, lẫn mạnh mẽ hơn so với công cụ cũ. Bạn hãy thử trải nghiệm nhé.

Thêm Công Cụ Android Profiler

Lại một lần nữa, bạn hãy quên Android Device Monitor đi. Vì Android Studio 3.0 đã cung cấp cho bạn một công cụ mới có tên Android Profiler. Công cụ mới này rất nhanh, rất tiện dụng, rất dễ hiểu. Nó giúp bạn có thể đánh giá theo thời gian thực mức độ sử dụng CPU, bộ nhớ Ram, sử dụng băng thông mạng. Ngoài ra bạn còn có thể xem được các sự kiện touch, Activity đang hiển thị, sự kiện xoay màn hình,… giúp bạn có một đánh giá tốt nhất về các trạng thái và hiệu năng của ứng dụng.

Để khởi động Android Profiler, bạn làm theo các bước sau.

Bạn có thể chọn trên menu View > Tool Windows > Android Profiler. Hoặc có thể tìm đến và click vào icon hình cái đồng hồ trên Toolbar.

Nếu bạn vẫn chưa thực thi ứng dụng lên thiết bị, thì cửa sổ quen thuộc sau đó yêu cầu bạn phải thực thi, hoặc kết nối với thiết bị, y như bạn thực thi ứng dụng bình thường vậy.

Sau khi kết nối và thực thi ứng dụng thành công lên thiết bị. Bạn có thể thấy cửa sổ Android Profiler xuất hiện như sau.

Các thành phần của cửa sổ trên bao gồm.

  1. Chọn thiết bị. Nếu bạn đang kết nối với nhiều thiết bị cùng lúc, bạn có thể lựa chọn trong danh sách thiết bị này.
  2. Chọn ứng dụng đang thực thi trên thiết bị.
  3. Bộ các nút giúp bạn thu nhỏ, phóng lớn, hoặc trả lại chuẩn ban đầu của biểu đồ bên dưới.
  4. Nút này giúp bạn quay lại biểu đồ thời gian thực của quá trình.
  5. Đây là phần quan trọng của cửa sổ. Phần này giúp hiển thị các biểu đồ và các sự kiện theo thời gian thực mà mình có nói đến ban đầu. Ở phần này, tuy bạn thấy các biểu đồ được hiển thị vắn tắt bằng các đường nét, nhưng khi bạn click vào một trong các biểu đồ đó, như MEMORY chẳng hạn, bạn sẽ nhìn thấy chi tiết hơn về thông tin của loại biểu đồ này.

Nâng Cấp Cho Công Cụ APK Analyzer

APK Analyzer được ra mắt từ Android Studio 2.2. Bạn có thể xem sơ qua các chức năng sơ khởi của công cụ này ở đây. Và bây giờ, Android Studio 3.0 cũng đã nâng cấp em nó thêm vài “đồ chơi” mới.
Mình xin phép được điểm mấy cái mới, những tính năng cơ bản còn lại bạn cứ xem ở link mình đưa nhé.

Có Bộ Lọc Khi Xem Các Thông Tin Trong File Dex

Khi xem thông tin trong file Dex, giờ đây bạn đã có thêm bộ lọc để dễ dàng tìm kiếm thông tin hơn. Các bộ lọc đó bao gồm như hình sau.

Với bộ lọc này thì bạn có thể nhấn vào nút f để ẩn/hiện các thuộc tính của lớp. Hoặc bạn có thể nhấn vào nút m để ẩn/hiện các phương thức của lớp. Còn nhấn vào nút có hai ký tự mf để ẩn/hiện các package, lớp, phương thức, và thuộc tính là tham chiếu (chính là các thành phần được in nghiêng ở hình trên). Thực tế thì khái niệm các thành phần tham chiếu (referenced items) ở đây mình vẫn chưa nắm rõ, mình chỉ biết rằng các thành phần này không phải do bạn viết, nó có thể là các thành phần của hệ thống, hoặc của thư viện nào đó, mà bạn dùng nó như là một tham chiếu bởi các thành phần của bạn vậy.

Bên cạnh các nút ẩn/hiện trên, bạn có thể chọn Load Proguard mappings… để hiển thị các file mapping của Proguard.

Các Tùy Chọn Thú Vị Khi Click Chuột Phải Ở Danh Sách Lớp

Cũng với các lớp trong file Dex trên đây, nếu bạn click chuột phải vào bất kỳ một thành phần nào, bạn sẽ có các chọn lựa sau.

Show Bytecode giúp dịch ngược lớp đó về byecode (chứ không phải Java code nhé). Bytecode của một lớp được hiển thị như hình sau.

Find Usages, chức năng này tương tự như khi bạn code, nó cho phép bạn tìm kiếm các thành phần nào khác trong Dex có truy xuất đến các thành phần này của bạn.

Generate Proguard keep rule giúp hiển thị các định nghĩa có thể giúp bạn copy và paste vào file config Proguard của bạn, để có thể giữ lại các package, lớp, phương thức hay các thuộc tính khỏi tầm hoạt động của Proguard.

Nâng Cấp Cho Công Cụ Layout Inspector

Bạn có còn nhớ công cụ này không? Nó được giới thiệu từ Android Studio 2.2, và đến hôm nay, trên Android Studio 3.0, công cụ này hầu như không có thay đổi gì nhiều. Ngoài việc nâng cấp tính ổn định cho công cụ, Android Studio 3.0 chỉ giúp nhóm các thuộc tính (các property) ở danh sách bên phải của màn hình, và hỗ trợ tìm kiếm trên cây phân cấp view (danh sách bên trái màn hình) và tìm kiếm trên cây này mà thôi.

Mình nhắc lại một chút là, Layout Inspector sẽ giúp bạn xem nhanh cấu trúc layout một màn hình nào đó, khi nó đang chạy. Việc hiển thị layout mà công cụ này mang lại thì ngang ngửa với việc bạn mở file layout XML của nó ở editor khi thiết kế thôi. Nhưng với chức năng phân tích giao diện khi ứng dụng đang chạy, thì Layout Inspector lại mang đến cho chúng ta một hiệu quả cực kỳ cao. Chẳng hạn như khi bạn bỗng phát hiện thấy giao diện của bạn đang có gì đó sai sai và muốn được kiểm tra ngay tức thì, thì hãy cứ kích hoạt Layout Inspector này nhé.

Bạn có thể xem lại chi tiết cách sử dụng công cụ này mà mình đã nói ở đây. Tuy nhiên, với Android Studio 3.0 thì bạn chỉ có một cách để mở Layout Inspector, đó là đi bằng menu Tool > Android > Layout Inspector khi mà ứng dụng của bạn đang thực thi.

Giúp Bạn Xây Dựng Instant App

Instant App là một ý tưởng app mới từ Google, họ muốn chúng ta có thể tạo ra một ứng dụng nhẹ mà… không cần install. Ứng dụng Android này có thể được đưa lên Google Play và có thể được kích hoạt (nhớ là không cần install nhé) thông qua một URL.

Instant App này là một khái niệm mới, và việc phát triển một Instant App cũng độc lập với các app truyền thống khác. Do đó mình xem nó như một kiến thức mới toanh, và sẽ dành một chủ đề riêng cho nó. Nếu bạn muốn tìm hiểu Instant App ngay bây giờ thì có thể đọc thêm ở link này nhé.

Hỗ Trợ Java 8

Bên cạnh Kotlin là ngôn ngữ mới toanh mà chúng ta vừa tiếp cận, thì Java 8 cũng là một sự nâng cấp của Java đến với ngôn ngữ của họ. Tuy Android Studio 3.0 cũng đã chính thức hỗ trợ Java 8, nhưng cũng không bắt buộc bạn phải tìm hiểu và nâng cấp kiến thức của bạn về ngôn ngữ này ngay bây giờ.

Theo mình tìm hiểu thì chúng ta nên đi theo con đường Kotlin ở giai đoạn này hơn. Vì nếu muốn lập trình với Java 8, bạn phải nâng cấp project để có thể tương thích với ngôn ngữ này. Chưa hết, có một số tính năng của Java 8 đòi hỏi project của bạn chỉ có thể hỗ trợ hệ điều hành tối thiểu đến API level 24 (Android 7.0) mà thôi. Với những phiền phức như vậy có thể làm bạn nản lòng, tuy nhiên nếu bạn muốn thử Java 8, hãy đọc link này.

Kết Luận

Trên đây là những tổng hợp của mình về những cập nhật trên Android Studio 3.0 mà theo mình là đáng giá nhất. Hi vọng sẽ giúp ích cho các bạn.

Tất nhiên cũng còn những cập nhật khác nữa, biết đâu đối với bạn đó mới là những cái hay. Hãy tìm hiểu hoàn chỉnh các cập nhật mới ở đây nếu bạn thích nhé. Bạn cũng có thể vào https://yellowcodebooks.com/ để xem thêm những bài viết hữu ích liên quan khác.