Bài 4: Cấu trúc của một Project trong lập trình Android

Như vậy là chúng ta đã biết cách tạo ra một Project và chạy thử nó rồi đúng không nào, và ở bài trước mình cũng đã hướng dẫn mọi người sử dụng GitHub để lưu trữ source code rồi và từ nay về sau dự án, ví nào nào mình cũng post link github lên bạn chỉ việc clone về dùng thôi không cần phải tải về như xưa.

Để chuẩn bị cho việc học những kiến thức Android cơ bản thì trước mắt bạn cần phải biết bố cục của một dự án android bao gồm những thư mục, file nào để mà còn biết đường thêm, sửa, xoá.

Trước kia mọi người sử dụng Eclip nên phân cấp thư mục sẽ khác với Android Studio, bên AS có rất nhiều cách bố trí dự án Android như theo: Project, Pakage, Android… Tuy nhiên kiểu dễ nhìn nhất vẫn là để theo kiểu Android cổ điển tuy vậy khi lập trình bạn hay để kiểu Project là thích nhất.Chi tiết bạn xem hình bên dưới là sẽ hiểu:

Phâp cấp thư mục Androi trên Android Studio

Phâp cấp thư mục Androi trên Android Studio

Nhìn hình trên thì thấy rất ít thư mục đúng không nào do mình đang xem ở chế độ Android, nếu chuyển qua chế độ Project chắc bạn sẽ hơi rối và chi tiết hơn mình sẽ nói ở các bài sau.

Bao bọc một Project android là thư mục app, và phía dưới là các cấp thư mục con và ta sẽ biết ngay sau đây:

Ở phần số 1 chúng ta có các thư mục:

java: Đây chính là nơi chứa các package của dự án bạn, bạn có thể tạo các package ở đây và bên trong là các class , mấy cái này bạn phải học qua java căn bản đã nhé chứ không là không hiểu.

Trong hình bạn thấy thư muc youtube.com.cheng.tendungdung chứa MainActivity: đây chính là package chính cửa ứng dụng bạn, ở bài hướng dẫn khi tạo một dự án android và chạy thử mình đã có nói phần đặt tên pakage rồi nhé mọi người.Tất cả các package khác bạn muốn tạo sau này đều phải tạo trong này nhé.

Còn mấy thư mục cùng tên phía dưới bạn không cần quan tâm nó chỉ là thư mục test android tự sinh ra thôi.Về sau mình sẽ chỉ các bạn cách đặt tên các thư mục , phân cấp đúng chuẩn mà các công ty lập trình hiện nay đang làm.

Ở phần số 2 chúng ta có các thư mục:

drawable: Đây chính là thư mục chứa các file hình ảnh, config xml… trong dự án android.Ví dụ như bạn muốn ứng dụng sử dụng một hình ảnh nào đó là backgroud thì ảnh đó bạn sẽ bỏ vào thư mục này.Hoặc một muốn điều chỉnh một nút button khi click vào màu xanh còn khi không click vào màu trắng thì bạn sẽ config trong file xml và lưu vào trong này.

layout: Đây chính là thư mục lưu các file xml về giao diện của các màn hình ứng dụng của bạn.Ở trên phần số 1 bạn có các package lưu các class, các class này sẽ kết nối với các file xml trong thư mục layout nào để tạo nên một màn hình có giao diện cho người dùng thao tác.Chi tiết hơn bạn xem ở bài  7 layout trong android nhé.

mipmap: Đây là thư mục mà chúng ta sẽ chứa ảnh logo ứng dụng chúng ta, lúc này mình có nói là các file hình ảnh sẽ được chứa trong thư mục drawable nhưng ngoại lệ thằng ảnh logo thì chúng ta chứa trong thư mục mipmap này cho chuẩn.

values: Thằng này sẽ có rất nhiều file ở bên trong như sau:

  • color.xml: đây là file định nghĩa các mã màu trong dự án android của ban, khi sử dụng màu nào bạn chỉ cần gọi tên tên mã màu đã định nghĩa trong đây ra là xong.
  • dimens.xml: đây là file mà bạn sẽ định nghĩa ra các kích thước như cỡ chữ, chiều cao, chiều rộng các view.Tại sao chúng ta không set cứng mà phải định nghĩa ở đây? Như các bạn biết thì thiết bị Android có cả ngàn chiếc và 1 đống nhà sản xuất nó khác IOS hoàn toàn thế nên sẽ có rất nhiều kích thước màn hình khác nhau loại 4 inch, 5inch, 5.5 inch… chính vì thế khi bạn set một đoạn văn bản nào đó kích thước là 10sp thì màn hình 4 inch hiển thị rất đẹp chứ qua 5.5 là nó rất nhỏ.Đây là lí do có file dimens.xml nhé.
  • strings.xml: đây là file định nghĩa các đoạn văn bản trong ứng dụng Android của bạn ví dụ như bạn có 1 đoạn văn bản mà sử dụng đi sử dụng lại trong các màn hình khác nhau, khi bạn set cứng ở nhiều nơi thì khi cần chỉnh sửa thì phải tìm hết tất cả và sửa lại.Bây giờ bạn định nghĩa đoạn văn bản đó trong đây và khi dùng thì gọi ra sử dụng và sau này chỉnh sữa bạn chỉ cần sửa trong đây là xong, nó sẽ apply tất cả mọi nơi.
  • styles.xml: đây chính là nơi định nghĩa các giao diện của các file layout trong thư mục layout mình đã nói phía trên.Kiểu như thế này nhé, bạn muốn chỉnh một nút Button chiều cao 10dp, chiều rộng 10dp, màu xanh… và bạn lại sử dụng kiểu thiết kế này ở 5 màn hình khác nhau.Bạn không thể mỗi màn hình lại định nghĩa lại như thế sẽ làm duplicate code (lặp lại) và sẽ không tối ưu tí nào cả.Thay vào đó bạn chỉ cần định nghĩa một file giao diện như trên và ở mỗi màn hình bạn chỉ cần gọi là xong.

Lưu ý là trong thư mục values sẽ còn rất nhiều loại file khác do lập trình viên tự tạo ra và tạm thời cũng chẳng cần quan tâm nó làm gì.

Thế tóm lại các thư mục trong values là để lập trình viên định nghĩa ra các thuộc tính, giao diện, các config… để sử dụng cho đồng nhất và đồng thời sẽ giúp người dùng tối ưu code khi chỉnh sửa sau này.Điều mà bạn không được mắc phải khi code dự án ở các công ty Nhật đó là không được viết lại các dòng lệnh giống nhau nhiều lần, thay vào đó phải định nghĩa ra rồi khi dùng gọi đến.

Ở phía dưới có các file khác bạn cũng không cần quan tâm gì đâu, mới bắt đầu thì chẳng cần biết nó làm gì riêng có 2 file build.grade là file để thiết lập các thuộc tính cho dự án android như : phiên bản SDK, Vesion ứng dụng, package, thêm thư viện ngoài… và mình sẽ có nói đến khi làm các bài ví dụ sau.

Còn một thư mục quan trọng trên cùng mà mình chưa nhắc đến đó là manifests , đây cũng là một file rất quan trọng nó sẽ thiết lập các cấu hình chung, xin các quyền, khai báo các thuộc tính mà ứng dụng của bạn phải có mới chạy được và mình đã nói rõ ở Bài 6 AndroidManifest.xml là gì? rồi bạn xem qua sẽ rõ ha.

Tạm thời cơ bản chỉ có vậy bạn chưa hiểu lắm thì xem video bên dưới nữa nhé.

Trong các bài sau mình sẽ còn đào sâu hơn nữa nên nếu chưa hiểu bạn cũng không phải có gì lo lắng rồi sẽ thấy nó rất thân thiện và chẳng có gì khó khăn cả.

Video giới thiệu cấu trúc dự án trong Android Studio

Mọi ý kiến thắc mắc và ý kiến xin các bạn cứ comment bên dưới Blog nhé! Chúc các bạn vui vẽ!

TIẾP THEO

Bài 4: Cấu trúc của một Project trong lập trình Android
5 (100%) 1 vote

5 Comments

  1. no name April 21, 2017
    • trangchongcheng April 21, 2017
  2. Văn Phúc May 26, 2017
    • Nguyễn Nam May 26, 2017
    • trangchongcheng May 28, 2017

Add Comment

*