YellowCode.Books

Android Bài 30: Làm Quen Với Fragment

Như vậy, đến bài học hôm nay, bạn đã biết rõ khái niệm về Activity trong Android rồi. Bạn đều biết, Activity chính là thành phần được dùng để tổ chức một màn hình trong ứng dụng. Tất nhiên rằng, các thiết bị phần cứng ở những giai đoạn đầu của Android đều có màn hình khá nhỏ và chật chội, nên một Activity khi này đủ mạnh để quản lý một màn hình. Nhưng đời không như mơ, khi mà nhu cầu sử dụng các thiết bị với màn hình lớn ngày càng tăng, không những các tablet mới có màn hình lớn, mà ngay cả các thiết bị được gọi là phone ngày xưa cũng tăng kích thước màn hình lên để trở thành các phaplet (lai tạp giữa phone và tablet). Việc tăng kích thước màn hình trên các thiết bị Android như thế ít nhiều làm tăng thêm “gánh nặng” cho Activity, khiến việc thiết kế UI sao cho vừa có thể chạy tốt trên phone và tablet lẫn phaplet bỗng trở nên khó khăn hơn bao giờ hết cho các lập trình viên chúng ta. Chính vì vậy mà Fragment đã được Google giới thiệu ra nhằm “giảm tải” cái gánh nặng đó.

Qua lời “dẫn truyện” trên đây, bạn đã phần nào hiểu được vai trò của Fragment rồi đúng không nào. Hãy cùng mình xem tiếp các mục bên dưới để có cái nhìn đầy đủ hơn về Fragment này nhé.

Android Studio 3.0 Có Gì Mới?

Đế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).

Android Bài 29: Truyền Dữ Liệu Qua Lại Giữa Các Activity

Cho đến bài học hôm nay, chắc hẳn các bạn đã rất tự tin với việc thao tác với Activity rồi. Tuy nhiên Activity vẫn còn nhiều điều hay ho khác mà bạn vẫn nên biết. Một trong những điều đó chính là việc làm thế nào mà các Activity có thể “nói chuyện” được với nhau, hay nói cách khác là truyền dữ liệu cho nhau.

Nếu bạn là người mới tiếp cận Android, ngay lúc này đây, có thể bạn vẫn chưa thấy được nhu cầu từ việc truyền dữ liệu qua lại giữa các Activity. Nhưng tin mình đi, mình và những bạn có kinh nghiệm khác đều đã gặp phải nhu cầu này khá sớm. Ngay cả TourNote cũng cần phải xây dựng chức năng truyền dữ liệu qua lại giữa hai Activity rồi đấy. Nếu thấy thú vị thì mời các bạn cùng xem tiếp bài học nhé.

Android Bài 28: Vòng Đời Activity

Qua bài học hôm trước, bạn đã thấy mình cố gắng trình bày các kịch bản mà các Activity, hay chính là các màn hình, được hệ thống quản lý như thế nào. Qua đó bạn cũng đã biết khi nào một màn hình vẫn còn được giữ lại trong hệ thống để phòng trường hợp người dùng bất ngờ quay lại. Hoặc khi nào thì hệ thống hủy đi một màn hình.

Bài học hôm nay chúng ta sẽ chỉ xem xét khía cạnh đời sống của duy nhất một màn hình. Để xem dưới sự tác động bởi hệ thống, thì các trạng thái của em nó sẽ phải trải qua là gì. Và với mỗi trạng thái như vậy bạn sẽ biết cách tác động đến ứng dụng để thực hiện một số tác vụ thích hợp nhất theo từng trạng thái như thế nào.

Nghe qua có vẻ hay đúng không. Mời các bạn cùng đến với bài học Android tiếp theo này.

ConstraintLayout – Phần 2: Các Chức Năng Nâng Cao

Như mình có nói ở phần 1, ConstraintLayout tuy dài (bị tách ra làm hai phần lận), nhưng nó không khó. Qua bài viết đó bạn đã nắm được ý nghĩa và cách sử dụng các công cụ cơ bản nhất mà Android Studio cung cấp để thiết kế kéo-thả cho layout mới mẻ này. Phần tiếp theo này bạn sẽ biết thêm các chức năng hay ho khác của ConstraintLayout, giúp bạn có thể thiết kế được tất cả các layout mà bạn muốn.

Và chắc chắn chúng ta sẽ cùng nhau thử thực hành xây dựng một layout hoàn thiện ở cuối bài hôm nay.

ConstraintLayout – Phần 1: Tìm Hiểu Các Thành Phần Cơ Bản

Cũng khá lâu rồi, mình luôn mong muốn được viết bài hoàn chỉnh về ConstraintLayout. Nhưng có nhiều điều khiến dự định này dang dở. Một phần cũng vì nếu như không có nó (ConstraintLayout) chúng ta cũng vẫn cứ sống thoải mái vui vẻ mà thôi. Phần nữa là vì bài viết sẽ cần rất nhiều ảnh động, đúng đặc thù của loại layout này, nên “tiến độ dự án” bị kéo dài ra.

Cho đến hôm nay thì kiến thức về ConstraintLayout đã trở nên khá nhiều (nhưng không khó). Sở dĩ kiến thức này nhiều là vì chúng ngày càng được bổ sung các tính năng hữu ích để lập trình viên chúng ta có thể vận dụng một cách linh hoạt nhất vào việc thiết kế các giao diện phức tạp. Và cũng vì kiến thức này nhiều quá nên mình tách ra làm hai phần. Điều này giúp cho các bạn dễ tiếp cận hơn, và mỗi bài cũng không chứa quá nhiều resource ảnh (cả động lẫn tĩnh), có thể ảnh hưởng đến hiệu quả load trang của chúng ta.

Android Bài 27: Tìm Hiểu Back Stack

Nếu như ở bài hôm trước, chúng ta đã cùng nhau tạo một Activity mới cho TourNote – ContactActivity. Chắc chắn bạn đã cảm thấy thích thú với việc từ một Activity ban đầu, là MainActivity, nhấn vào item menu trên ActionBar một cái, hệ thống sẽ chuyển sang màn hình mới chính là ContactActivity. Rồi nhấn Back button ở ActionBar hay Back ở System Bar sẽ dẫn bạn quay về MainActivity ban đầu. Vậy thì có khi nào bạn thắc mắc rằng các màn hình bên trong một ứng dụng Android sẽ luân phiên hiển thị ra như thế nào? Một màn hình hiển thị ra thì màn hình kia đi về đâu, có bị xóa khỏi hệ thống không? Tại sao nhấn nút Back lại giúp quay về màn hình trước? Nhấn nhiều nút Back thì sẽ đi đến đâu? Vân vân…

Thì bài học hôm nay chúng ta sẽ chỉ đi vào lý thuyết, để trả lời cho các câu hỏi trên kia thông qua việc giải nghĩa khái niệm và cách hoạt động của Back Stack. Mặc dù chỉ là lý thuyết, nhưng những kiến thức của bài hôm nay sẽ làm nền tảng, được ứng dụng nhiều, và sẽ được mình nhắc đến nhiều ở các bài học sau đấy nhé.

Tổng Hợp Các Công Cụ Lập Trình Android Mà Bạn Nên Biết (Phần 1)

Phải nói rằng thời buổi ngày nay lập trình thật sướng, đặc biệt là lập trình Android. Bởi vì chúng ta được cung cấp hàng tá các công cụ phụ trợ cho việc lập trình. Từ “chính chủ” của Google hay Android Studio, cho đến “chính khách” của các bác “hàng xóm” tốt bụng. Từ quản lý hiệu năng của ứng dụng, cho đến việc mang lại giao diện đẹp hơn… Cái khó trong việc này là làm sao để nhớ hết các công cụ đó, và cách sử dụng chúng hiệu quả nhất. Xuất phát từ nhu cầu đó. Mình bắt đầu tổng hợp các công cụ cần thiết này lại. Vì có khá nhiều công cụ nên mình dự định sẽ chia ra làm 3 phần. Trong đó phần hôm nay sẽ tổng hợp các công cụ cơ bản nhất mà bạn nhất thiết phải biết. Các phần sau sẽ là các công cụ mở rộng hơn, sẽ tốt nếu bạn biết và dùng đến.

Android Bài 26: Làm Quen Với Activity

Còn nhớ, đã rất lâu rồi, từ bài học số 5, chúng ta đã nói sơ qua cấu tạo cơ bản của một ứng dụng Android, trong đó các bạn đã biết đến một chút khái niệm và vai trò của Activity rồi. Nhưng trước đó, ở bài học số 3, khi bạn còn chưa biết đến Android cần có những gì, bạn đã phải tạo cho chính bạn một Activity đầu tiên, có tên là MainActivity, và chúng ta đã cùng xây dựng các dòng code trên Activity đó đến tận bây giờ. Vậy tính ra bạn đã hiểu Activity là gì rồi đúng không. Vậy bài học hôm nay mình sẽ viết gì. Tất nhiên còn một số kiến thức thú vị khác xoay quanh Activity. Như làm sao để tạo thêm nhiều Activity khác. Làm sao để truyền dữ liệu qua các Activity. Cách quản lý các Activity hiệu quả,… sẽ lần lượt được mình trình bày từ bài học hôm nay.

Android Bài 25: Xây Dựng Navigation Drawer

Có lẽ cái tên Navigation Drawer, hay nhiều bạn vẫn gọi là Left Menu, hoặc Slide Menu, không có gì xa lạ với chúng ta cả. Ai cũng biết về nó, ai cũng sử dụng nó hằng ngày. Navigation Drawer được Google giới thiệu vào năm 2013, ngay sau khi ActionBar được trình làng khoảng 2 năm. Navigation Drawer này chỉ đơn giản là một thanh menu được ẩn đi về phía bên trái màn hình. Nó được hiển thị ra khi người dùng nhấn vào icon menu trên Action Bar, giới thiết kế gọi cái icon menu này bằng một cái tên khá hay: “icon Hamburger”, bởi vì trông nó giống như một cái hamburger… bạn tưởng tượng đi nào.