Hướng dẫn lập trình Android cho người mới bắt đầu (P2)

09:18 04-12-2018BKAP Media

Tiếp theo trong series Hướng dẫn lập trình Android cho người mới bắt đầu, ở phần 2 này Bachkhoa-Aptech xin giới thiệu đến các bạn tổng quan giao diện, cấu trúc và một số nội dung liên quan đến nguyên tắc hoạt động.

Hướng dẫn lập trình Android cho người mới bắt đầu Phần 1

Bước 5: Tổng quan cấu trúc Project Android

Và dưới đây là hình ảnh project của bạn hiển thị trên Android Studio.

Có các file hoặc thư mục được giải thích như sau:

AndroidManifest.xmlĐây là file manifest mô tả các đặc điểm cơ bản của ứng dụng và xác định từng thành phần của nó.
javaThư mục này có chứa các file nguồn java cho dự án của bạn. Theo mặc định, nó bao gồm một tập tin nguồn MainActivity.java một lớp hoạt động (activity) chạy khi ứng dụng của bạn được khởi động.
res/drawableCác phiên bản Android trước đây sử dụng thư mục này để chứa ảnh, các phiên bản hiện tại sử dụng thư mục mipmap thay thế làm nơi chứa ảnh. Thư mục này gần như không còn sử dụng.
res/layoutThư mục này chứa các file định nghĩa giao diện người dùng.
res/menuThư mục này chứa các file xml, định nghĩa các menu sẽ hiển thị trên Action Bar.
res/mipmapChứa các ảnh 'mipmap'.
res/valuesĐây là một thư mục cho các tập tin XML khác nhau có chứa một tập hợp các nguồn, chẳng hạn như các chuỗi (String) và các định nghĩa màu sắc.

Thứ nhất về AndroidManifest.xml
Bạn cần khai báo tất cả các thành phần của ứng dụng mà bạn phát triển trong một AndroidManifest.xml. Tập tin này hoạt động như việc giao tiếp giữa hệ điều hành Android và ứng dụng của bạn, chính vì vậy nếu bạn không khai báo thành phần của bạn trong tập tin này, thì hệ điều hành của bạn sẽ không xem xét các thành phần đó. 

Dưới đây là ví dụ về file manifest mặc định:

Tiếp đến là thư mục res/mipmap
Bạn cần hiểu thêm một chút về các ảnh trong thư mục mipmap, xem hình ảnh phía dưới đây, có một file ảnh trong thư mục mipmap.

Thỉnh thoảng có một vấn đề bạn sẽ gặp phải khi sử dụng ứng dụng Android đó là thấy các ảnh mờ, nhòe, hoặc giãn không chuẩn. Giải pháp cho vấn đề này là tạo ra một thư mục mipmap cho mỗi mật độ điểm ảnh mà Android hỗ trợ, và để các hình ảnh thu nhỏ một cách chính xác. Có 6 dãy mật độ khác nhau (đo theo điểm ảnh trên 1 inch) mà Android hỗ trợ:

1. ldpi: Dành cho các màn hình độ phân giải thấp; xấp sỉ 120dpi
2. mdpi: Dành cho các màn hình độ phân giải trung bình (trên HVGA truyền thống) ; xấp sỉ 160dpi
3. hdpi: Dành cho các màn hình phân giải cao; xấp sỉ 240dpi
4. xhdpi: Dành cho các màn hình phân giải cao hơn nữa; xấp sỉ  320dpi. Đã được thêm vào trong API Level 8
5. nodpi: Cái này có thể được sử dụng cho tài nguyên bitmap mà bạn không muốn được thu nhỏ để phù hợp với mật độ thiết bị
6. tvdpi: Có một số màn hình độ phân giải nằm giữa mdpi và hdpi; xấp sỉ 213dpi. Nó không được coi là nhóm phân giải chính. Nó chủ yếu dành cho TV và hầu hết các ứng dụng không cần cung cấp nguồn mdpi và hdpi, hệ thống sẽ tự co giãn phù hợp. Tiêu chuẩn này được giới thiệu trong API Level 13.

Bước 6: Vòng đời của Android Activity
Một vòng đời của Activity mô tả các quá trình của một Activity kể từ khi nó bắt đầu chạy (Launched), cho tới khi ứng dụng bị tắt. Bao gồm cả quá trình Activity bị dừng tạm thời, chạy lại (resume),..

Để dễ hiểu hơn bạn có thể sửa đổi lại code của class MainActivity, ghi đè các phương thức onStart(), onResume(),... thêm vào các thông báo (message) chứng tỏ phương thức đó vừa được chạy. Sau đó chạy lại ứng dụng và theo dõi các quá trình trong vòng đời của Activity hoạt động thế nào.

Khi chạy lại ứng dụng bạn sẽ thấy các message được ghi ra trên cửa sổ logcat. Ví dụ như:

Và bạn có thể sét đặt bộ lọc để logcat chỉ hiển thị các message của mình.

Nhập vào:
Filter Name: My Filter
Log Tag (regex): MyMessage

Nhấn OK, cửa sổ Logcat sẽ chỉ hiển thị các message của bạn.

Và đây là màn hình của bạn:

Vậy là bạn vừa chạy ứng dụng Android của mình thành công rồi đấy!

Ở phần 3, cũng là phần cuối cùng trong series "Hướng dẫn lập trình Android cho người mới bắt đầu" Bachkhoa-Aptech sẽ nêu ra nguyên lý hoạt động ứng dụng của bạn và điều gì tạo nên giao diện người dùng. Cùng chớ đón nhé.

Và đừng quên theo dõi series livestream "Làm game Flash Card for Kids" từ A-Z cùng chuyên gia lập trình Android - Vũ Tuấn Minh tại đây: https://bit.ly/2RkhdUn

Ngoài ra, nếu bạn muốn tạo được một game Android cấp tốc cho riêng mình, click tìm hiểu ngay: https://bit.ly/2NOQ4Xd

-----------------------------------------

Hệ thống đào tạo CNTT Quốc tế Bachkhoa-Aptech tự hào có 16 năm kinh nghiệm đào tạo nhân sự CNTT. Với mục tiêu đào tạo Học Xong - Làm Được Việc Ngay, chương trình học tại Bachkhoa-Aptech thiết kế chuẩn yêu cầu thực tế 75% thực hành. Giảng viên đứng lớp đều là các chuyên gia CNTT có kinh nghiệm làm việc tại các Doanh nghiệp CNTT lớn trong nước và quốc tế.

Hệ thống Đào tạo CNTT Quốc tế Bachkhoa-Aptech

  • Địa chỉ: Tòa nhà HTC, 236B & 238 Hoàng Quốc Việt, Bắc Từ Liêm, Hà Nội
  • Hotline: 0968 27 6996 - 024 3755 4010
  • Email: tuyensinh@bachkhoa-aptech.edu.vn
  • Tham khảo thêm tại: http://bit.ly/tuyensinhcntt
   0968276996
< wire:id="xJmy00AvAzHWFmcBC9eF" wire:initial-data="{"fingerprint":{"id":"xJmy00AvAzHWFmcBC9eF","name":"embedded.footer","locale":"vn"},"effects":{"listeners":[]},"serverMemo":{"children":[],"errors":[],"htmlHash":"26380eb1","data":[],"dataMeta":[],"checksum":"8c9d6507f621904903400297e8feab8cb1633677a5a965a68257f4f668eb5ba3"}}"!-- Messenger Plugin chat Code -->