Các biến (Variables) Trong Phần 1 chúng ta đã tìm hiểu về cách viết một ứng dụng Android sử dụng kỹ thuật data binding. Để dùng data binding chúng ta cần thực hiện một số thao tác cấu hình và... Continue Reading →
Content Provider trong Android Ở phần 1, chúng ta đã tìm hiểu cách lưu trữ dữ liệu của một ứng dụng trong cơ sở dữ liệu SQLite. Trong trường hợp này, dữ liệu là “tài sản riêng” của ứng dụng... Continue Reading →
Broadcast Intent Một dạng khác của Intent, gọi là Broadcast Intent, là một hệ thống Intent được gởi đến tất cả các ứng dụng đã đăng ký Broadcast Receiver. Ví dụ, hệ thống Android sẽ gởi các Broadcast Intent để... Continue Reading →
Intent ngầm định (implicit intent) Trong bài trước chúng ta đã tìm hiểu về Intent tường minh (explicit intent) – một cơ chế đòi hỏi chúng ta phải xác định rõ tên lớp Activity cần giao tiếp. Trong bài này... Continue Reading →
Intent Intent là cơ chế cho phép các Activity có thể giao tiếp với nhau. Có hai dạng intent là intent tường minh (explicit intent) và intent ngầm định (implicit intent). Trong bài này chúng ta sẽ khám phá kiểu... Continue Reading →
Cử chỉ (gesture) là các hoạt động tương tác giữa người dùng và màn hình thiết bị Android bao gồm các hoạt động chạm ngắn (tap), lướt các trang sách điện tử (swipe), phóng to hay thu nhỏ các hình... Continue Reading →
Hầu hết các thiết bị Android có màn hình dùng cảm ứng đa điểm (cuộc cách mạng từ iPhone). Với các màn hình cảm ứng đa điểm, người dùng sẽ tương tác với thiết bị Android thông qua thao tác... Continue Reading →
Chúng ta đã quá quen thuộc với Button qua các bài trước. Mục đích chính của một Button là cho phép người dùng thực hiện một nhiệm vụ nào đó bằng cách nhấn chuột trái vào Button này. Có 3... Continue Reading →
Cho phép người dùng hiển thị các tập tin hình ảnh trên các thiết bị Android. Giống như các views đã đề cập ở trên, ImageView có thể được sử dụng theo 3 cách: Kéo từ mục Common hay Widgets... Continue Reading →
Cho phép người dùng chọn một trong hai tùy chọn hay trạng thái. Switch có thể được dùng theo 3 cách: Kéo từ mục Button của thanh công cụ Palette đặt vào giao diện và thay đổi các thuộc tính... Continue Reading →
Cho phép người dùng chọn một giá trị từ một tập hợp các giá trị cho trước. Spinner có thể được dùng theo 3 cách: Kéo từ mục Containners của thanh công cụ Palette đặt vào giao diện và thay... Continue Reading →
Cho phép người dùng chỉ có thể chọn một tùy chọn tại một thời điểm. Các RadioButton cùng nhóm phải được tổ chức trong một RadioGroup. RadioButton và RadioGroup có thể được dùng theo 3 cách: Kéo từ mục Buttons... Continue Reading →
Cho phép người dùng có thể cùng lúc chọn nhiều tùy chọn khác nhau. CheckBox có thể được dùng theo 3 cách: Kéo từ mục Buttons của thanh công cụ Palette đặt vào giao diện và thay đổi các thuộc... Continue Reading →
PlainText dùng để nhận thông tin từ người dùng. PlainText có thể được dùng theo 3 cách: Kéo từ mục Text của thanh công cụ Palette đặt vào giao diện và thay đổi các thuộc tính thông qua cửa sổ... Continue Reading →
Trong bài này chúng ta sẽ tìm hiểu các views cơ bản dùng cho việc thiết kế giao diện đồ họa trong Android. Một số views được đề cập trong bài viết: TextView PlainText CheckBox RadioButton và RadioGroup Switch Spinner... Continue Reading →
TextView dùng cho việc hiển thị thông tin. Nó tương đương với Label nếu chúng ta từng làm quen với lập trình trong Windows. TextView có thể được dùng theo 3 cách: Kéo từ mục Common (hay Text) của thanh... Continue Reading →
Giới thiệu Là layout mặc định kể từ Android Studio 3.0, ConstraintLayout giúp cho việc thiết kế các layouts phức tạp trở nên đơn giản hơn bằng cách cho phép các views kết nối với nhau thông qua các ràng... Continue Reading →
Giao diện tĩnh (static UI) và giao diện động (dynamic UI) Trong bài trước, chúng ta đã tìm hiểu cách tạo giao diện người dùng với công cụ trực quan (Design) và mã XML (Text). Trong thực tế, chúng ta... Continue Reading →
Thiết kế cho các thiết bị khác nhau Giao diện người dùng (user interfaces - UI) của các ứng dụng Android phải được thiết kế sao cho tương thích với với các thiết bị di động như điện thoại thông... Continue Reading →
Quản lý ứng dụng và tài nguyên Hệ điều hành sẽ giám sát một ứng dụng Android đang chạy như một tiến trình độc lập. Nếu hệ thống xác định các tài nguyên trên thiết bị đạt đến dung lượng... Continue Reading →
Trong bài trước chúng ta đã tìm hiểu về kiến trúc của Android và trong bài này chúng ta sẽ tìm hiểu các thành phần cấu thành nên một ứng dụng Android cũng như tìm hiểu cơ chế kết hợp... Continue Reading →
Để lập trình Android hiệu quả, bên cạnh nắm vững kiến thức về ngôn ngữ lập trình, về môi trường Android Studio, chúng ta cần nắm kiến thức tổng quát về kiến trúc của Android. Android Software Stack Android được... Continue Reading →
Code Completion Android Studio 3.X cung cấp tính năng Code Completion giúp người lập trình tiết kiệm nhiều thời gian, công sức. Hình dưới đây minh họa tính năng Code Completion: Để ý rằng, khi chúng ta gõ vài chữ... Continue Reading →
Trong bài viết trước, chúng ta đã cùng tạo ra ứng dụng Android đầu tiên trong môi trường Android Studio 3.X (tức là Android Studio 3.0 trở lên). Trong bài này, chúng ta sẽ tìm hiểu chi tiết hơn về... Continue Reading →
Môi trường Tải và cài đặt Android Studio Để kiểm tra các ứng dụng Android chúng ta có thể cài đặt và sử dụng máy ảo AVD (Android Virtual Device) có sẵn trong Android Studio hay cài đặt máy ảo... Continue Reading →