Được chỉnh sửa ngày 20/02/2023.
Chào mừng các bạn đã đến với bài học Android thứ 3, bài học về tổng quan project của Android. Đây là bài học trong chuỗi bài viết về lập trình ứng dụng Android bằng Java của Yellow Code Books.
Ở bài học trước, các bạn đã tạo được cho riêng bạn một môi trường lập trình rồi nhé. Chắc hẳn các bạn cũng nôn nóng muốn biết làm cách nào để có thể tạo một ứng dụng Android “đầu tay” đúng không nào. Không khó lắm đâu, bạn hãy đọc và thực hành qua các bước sau.
Tạo Mới Project
Bạn thân mến, trước hết mình xin nói sơ qua điều này một tí. Để cho các bài giảng được mạch lạc và logic với nhau, mình xin giới thiệu với bạn một project lớn mà với nó, mình và các bạn sẽ cùng nhau đi xuyên suốt qua các bài giảng trong chương trình. Project của chúng ta có tên là TourNote. Mình sẽ nói rõ về project này ở bài kế tiếp, còn bây giờ, đừng chần chừ nữa, hãy cùng mình tạo project TourNote bằng Android Studio qua các bước sau đây nhé.
Đầu tiên nếu chưa mở Android Studio thì bạn hãy mở lên. Sau khi đã mở Android Studio xong, nếu bạn đang ở màn hình Welcome như dưới đây, thì hãy đảm bảo danh sách bên trái như hình dưới đang chọn là Projects, sau đó chọn tùy chọn New Project ở thành phần bên phải.

Còn nếu bạn đang ở màn hình chính của Android Studio thì hãy nhấn vào menu File > New > New Project… như hình dưới đây.

Bắt đầu từ cửa sổ New Project xuất hiện tiếp theo như hình bên dưới. Bạn sẽ được đưa đến các câu hỏi liên quan đến project bạn sắp tạo ra. Vì như mục này của bài trước có nói rằng ngoài việc bạn có thể lập trình ra các ứng dụng trên điện thoại, thì Android còn có thể chạy trên TV, Wearable, Xe hơi… các kiểu. Và bạn hoàn toàn có thể sử dụng Android Studio để viết các ứng dụng ở các nơi mà Android có mặt này. Chính vì vậy việc trả lời các câu hỏi từ những bước đầu tiên này khá là quan trọng.
Ở bước đầu tiên này bạn sẽ lựa chọn một Template, ở bên dưới mình sẽ giải thích chút về Template sau. Còn bước này bạn hãy đảm bảo tùy chọn Phone and Tablet ở danh sách bên trái được chọn như hình sau.

Bạn có thể thắc mắc rằng ngoài Phone and Tablet thì các tùy chọn khác bên trái khác là gì, mình xin giải thích một lượt như sau.
- Phone and Tablet: chọn mục này nếu bạn muốn viết ứng dụng chạy trên điện thoại và máy tính bảng. Và bạn đã hiểu tại sao TourNote của chúng ta lại chọn tùy chọn này.
- Wear OS: chọn vào đây nếu bạn muốn viết ứng dụng chạy trên các thiết bị đeo được, chẳng hạn như đồng hồ thông minh (smart watch) hay các thiết bị kiểm tra sức khỏe khác.
- Android TV: chắc chắn là viết ứng dụng chạy trên smart TV rồi.
- Automotive: viết ứng dụng chạy được trên thiết bị nghe nhìn của xe hơi.
Ở phiên bản cũ hơn của Android Studio mình còn thấy có tùy chọn Android Things nữa nhưng phiên bản Android Studio Electric Eel đã không còn thấy. Tùy chọn này giúp bạn có thể tạo ra các project chạy được trên các thiết bị IoT (viết tắt của Internet of Things). Tiếng Việt gọi là Vạn vật kết nối. Các thiết bị IoT đều có thể kết nối và chia sẻ dữ liệu qua lại với nhau. Các project ở tùy chọn này thuộc một lĩnh vực khá mới mẻ mà thú thật mình cũng chưa có dịp tìm hiểu kỹ.
Quay lại với tab Phone and Tablet của chúng ta. bạn có thể nhìn thấy khá nhiều các màn hình mẫu trong tab này, như giới thiệu trên kia, người ta gọi đây là các Template. Bạn sẽ phải chọn cho mình một Template trong số đó. Với mỗi lựa chọn Template này, source code được tạo ra ban đầu từ Android Studio sẽ khác nhau. Các source code tự sinh ra này đảm bảo rằng nếu bạn vừa tạo xong project và thực thi ứng dụng lên thiết bị ngay và luôn, thì giao diện của ứng dụng sẽ đúng như Template mà bạn đã chọn đó. Tuy nhiên, là người mới bắt đầu, hoặc không muốn phiền nhiễu về các source code dựng sẵn, thì bạn nên tìm và chọn Template Empty Activity. Template này chỉ đơn giản tạo sẵn một TextView bên trong project để hiển thị sẵn một câu chào lên màn hình khi bạn thực thi ứng dụng ở bước tiếp theo mà thôi. Nếu bạn đã tìm ra và chọn xong Template Empty Activity rồi thì hãy nhấn nút Next để qua bước tiếp theo.
Bước này muốn bạn khai báo một số thông tin về project. Bạn hãy điền vào các thông tin như hình. Mình sẽ giải thích một chút các thông tin này ở bên dưới hình.


- Name: là tên của ứng dụng, tên này sẽ xuất hiện ở màn hình chính của thiết bị Android khi người dùng cài đặt ứng dụng của bạn lên đó. Các bạn có thể nhìn vào hình nhỏ bên cạnh sẽ thấy tên của các ứng dụng xuất hiện phía dưới icon của ứng dụng đó. Các bạn có thể viết hoa tên ứng dụng, hay để khoảng trắng tùy thích, nhưng nhớ là đừng quá dài hay quá ngắn, làm sao cho xúc tích và dễ nhớ.
- Package name: là tên package của ứng dụng (nếu bạn nào từng biết qua Java thì khái niệm package trong Android là tương đương với Java. Nếu bạn muốn tìm hiểu về package của Java thì có thể đọc link này nhé). Ngoài ra thì với Android, package còn là định danh cho từng ứng dụng nữa. Package nên là duy nhất và đặc thù nhất của một ứng dụng, sẽ không thể có hai ứng dụng với cùng một package được cài lên cùng một thiết bị. Vậy đặt tên package như thế nào? Thường thì người ta sẽ đảo ngược tên miền của công ty lại và thêm vào tên của project để tạo thành một package. Như ví dụ bạn thấy, mình có trang web yellowcode.com chẳng hạn, project là TourNote, thì package sẽ lấy là com.yellowcode.tournote, đảm bảo không trùng đúng không các bạn. Còn như bạn là cá nhân, không có trang web cũng chẳng có công ty gì cả, thì có thể lấy tên bạn để tạo package, chẳng hạn như, com.duymanh.tournote, hay com.honghoahoi.tournote tùy thích.
- Save location: là đường dẫn đến thư mục chứa project của bạn, bạn có thể để mặc định hoặc tạo đường dẫn đến nơi tùy thích trong ổ cứng của bạn.
- Language: ngôn ngữ mà bạn dùng để viết ứng dụng của bạn. Với TourNote ở các bài học Android này mình sẽ cố gắng diễn đạt ở cả 2 ngôn ngữ Java và Kotlin. Tuy nhiên bạn hãy xác định và chọn cho bạn một ngôn ngữ cụ thể.
- Minimum SDK: mục này báo cho hệ thống biết ứng dụng được tạo ra sẽ hỗ trợ ngược tối đa đến hệ điều hành cũ nhất nào. Nên nhớ là việc ứng dụng càng hỗ trợ hệ điều hành cũ hơn thì bạn càng phải giải quyết các bài toán tương thích ngược hơn và do đó bạn sẽ càng mất thời gian và đau đầu hơn trong việc phát triển các ứng dụng. Các bạn có thể nhấn vào Help me choose để xem thống kê về số lượng người sử dụng các version của hệ điều hành để có sự chọn lựa tốt nhất cho bước này. Nhưng theo mình, trừ khi có đòi hỏi đặc biệt nào đó, nếu không bạn cứ để mặc định ở tùy chọn này.
- Cuối cùng bạn sẽ thấy có thêm một checkbox Use legacy android.support libraries: tùy chọn này gây nhiều hoang mang cho những ai mới chập chững bước vào Android. Ban có thể để trống checkbox này và không cần tìm hiểu gì thêm. Nhưng nếu bạn có thắc mắc thì mình cũng diễn đạt sơ thế này. Ở các thế hệ hệ điều hành Android xưa, để giúp các lập trình viên mang các chức năng và các thư viện mới mẻ được giới thiệu ở các hệ điều hành mới ra, hỗ trợ ngược lại cho các ứng dụng chạy trên các hệ điều hành cũ hơn, Android thường đóng gói các thư viện hỗ trợ này vào một gói có tên android.support.*. Kể từ Android 9.0 (API level 28) trở đi Google có trình làng một gói thư viện hỗ trợ khác có tên là AndroidX, gói hỗ trợ này là một phần trong dự án Jetpack. AndroidX này thay thế hoàn toàn android.support.* đã không còn được xây dựng bởi Google nữa. Và dĩ nhiên từ đó về sau chúng ta chỉ nên biết duy nhất một gói AndroidX mà thôi.
Sau khi bạn đã điền tất cả các thông tin đã nói ở trên rồi thì hãy nhấn Finish để kết thúc các tùy chọn. Chúc mừng bạn, Project của bạn đã được tạo thành công rồi đó.
Tổng Quan Về Project
Giao Diện Chung
Giờ đây sau khi tạo mới một project, bạn đang đứng trong giao diện chính của Android Studio, nhìn một cách tổng quan giao diện này được chia làm các phần chính sau.

- Toolbar: thanh công cụ. Nơi đây bạn có được các nút điều khiển chính, chẳng hạn như các nút Mở project (Open), Lưu project (Save All),…. Hoặc đặc thù hơn với lập trình có các nút Khởi chạy ứng dụng (Run), Debug ứng dụng (Debug),…. Hoặc các quản lý cấp cao như các nút Chạy chương trình quản lý Android SDK (SDK Manager), Chạy chương trình quản lý máy thật và máy ảo (Device Manager),….
- Navigation bar: thanh điều hướng. Giúp bạn theo dõi file nào đang được mở, đường dẫn file đó trong project của bạn như thế nào.
- Editor window: cửa sổ soạn thảo, là nơi bạn chỉnh sửa các dòng code. Đặc biệt hơn ở cửa sổ này đó là, tùy vào loại source code, cửa sổ này sẽ xuất hiện khác nhau với từng loại để bạn có thể xem và chỉnh sửa source code dễ dàng. Chẳng hạn như khi bạn mở một file java/kotlin code, sẽ khác với khi bạn mở một file XML, và khác với khi bạn mở một file ảnh,… Chúng ta sẽ từ từ làm quen cửa sổ này sau.
- Tool window bar: các điều khiển cho các công cụ khác. Các công cụ khác chính là các công cụ cho bạn can thiệp vào các công cụ quản lý của hệ thống. Chẳng hạn như Quản lý log (Logcat), Quản lý quá trình debug (Debug), Quản lý kết quả tìm kiếm (Find), Xem cây thư mục của project (Project),…. Tuy nhiên dàn nút trên đây chỉ là cho phép bạn tắt mở các công cụ tương ứng mà thôi. Và sự xuất hiện của mỗi Tool window cũng tùy vào ngữ cảnh mà bạn tương tác. Ví dụ ở hình trên bạn không thấy các Tool window Debug hay Find đâu cả, nhưng khi bạn tìm kiếm hay bắt đầu vào quá trình debug bạn sẽ thấy chúng. Cuối cùng thì nếu nhấn vào mỗi loại công cụ được liệt kê ở đây sẽ được mở ra ở dạng cửa sổ cụ thể như mục số 5.
- Tool window: chính là các cửa sổ được điều khiển tắt mở từ thanh số 4 mà mình có nói đến trên đây.
- Status bar: thanh trạng thái, hiển thị trạng thái của project và của chính trình biên dịch Android Studio này. Bạn sẽ thấy thông báo ứng dụng đang được thực thi, có thành công không, có lỗi gì không,…
Kết Luận
Vậy là bạn vừa biết cách tạo mới một project, và xem qua tổng quan giao diện của Android Studio. Bạn sẽ thân thiện hơn với Android Studio và các công cụ lập trình Android ở các bài kế tiếp.
Cảm ơn bạn đã đọc các bài viết của Yellow Code Books. Bạn hãy ủng hộ blog bằng cách:
– Đánh giá 5 sao ở mỗi bài viết nếu thấy thích.
– Comment bên dưới mỗi bài viết nếu có thắc mắc.
– Để lại địa chỉ email của bạn ở thanh bên phải để nhận được thông báo sớm nhất khi có bài viết mới.
– Chia sẻ các bài viết của Yellow Code Books đến nhiều người khác.
– Ủng hộ blog theo hướng dẫn ở thanh bên phải để blog ngày càng phát triển hơn.
Bài Kế Tiếp
Bạn sẽ được hướng dẫn cách thiết lập máy ảo cho mục đích kiểm thử trong quá trình phát triển phần mềm, và chạy ứng dụng mà bạn tạo ra hôm nay lên máy ảo và máy thật.
Trời ơi, đang hăng thì tới bài 6 là mât dấu, bài 7, 8,9….. dâu người ơi….
Ý bạn là các bài viết bên ngôn ngữ Kotlin? Nếu đúng vậy thì mình vẫn đang viết tiếp nhé bạn, bạn cố gắng chờ nhé.