Hãy cùng Devpro chúng tôi tìm hiểu về các bước lập trình android bằng android studio qua bài viết sau đây.
Ngày nay, để thay thế cho bản Eclipse cũ Google đã release bản Android Studio. Như vậy, Google đã nối gót Microsoft để có thể tự tạo nên cho mình một bộ công cụ lập trình chuẩn riêng. Với Android Studio thì giao diện và đặc biệt đó là sự biến mất WorkSpace sẽ có đôi chút gây khó khăn cho lập trình android khi mới bắt đầu chuyển qua công cụ này, tuy nhiên Google cũng đã hỗ trợ tính năng Import Project từ Eclipse cũ qua được Android Studio và logic lập trình cũng tương tự, cũng không khác nhau mấy.
Tài liệu này sẽ hướng dẫn cho bạn cách học lập trình android với android studio. Đầu tiên phải bảo đảm rằng bạn đã cài đặt Android Studio. Hãy xem hướng dẫn sau nếu chưa cài đặt:
Hướng dẫn cài đặt và cấu hình Android Studio: https://o7planning.org/vi/10405/huong-dan-cai-dat-va-cau-hinh-android-studio
Với lần chạy đầu, lúc này Android Studio sẽ hỏi bạn có nhập khẩu các sét đặt từ phiên bản Android Studio mà bạn có thể đã cài đặt từ trước đó hay không. Bạn có thể chọn NO.
Hãy lựa chọn cho mình một Theme yêu thích:
Android cần download một vài thành phần trong lần chạy đầu. Hãy chờ đợi cho đến khi tiến trình download và cài đặt hoàn thành.
Đầu tiên cần tạo một Project, và chạy nó thành công.
Nhập vào:
- Application name: HelloAndroid
- Company Domain: devpro.edu.vn
- Project location: F:\ANDROID_TUTORIAL\HelloAndroid
Và đây là màn hình Android Studio:
Như vậy Project của bạn đã được tạo ra.
Nếu trong trường hợp ứng dụng chạy lỗi (hoặc bạn chờ mãi mà không thấy cửa sổ thiết bị mô phỏng) hoặc thấy dòng thông báo dưới đây, có nghĩa là bạn chưa cài đặt Intel Emulator Accelerator, hãy cài đặt nó:
Hãy cài đặt phần mềm quản lý tăng tốc phần cứng của Intel:
Nếu trong trường hợp bạn thấy màn hình giả lập Android quá lớn, thì bạn có thể cần một số cấu hình để loại bỏ sự khó chịu này:
Việc bây giờ đó là bạn cần làm quen với cái điện thoại giả lập, cái mà ứng dụng của bạn hiện đang được chạy trên đó.
Các slider dưới đây cho bạn thấy các ứng dụng của bạn đã được triển khai ở đâu trên điện thoại:
Slider:
Dưới đây chính là hình ảnh project của bạn trên Android Studio:
- AndroidManifest.xml: 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ó.
- Java: Trong thư mục này có chứa các file nguồn java cho dự án của bạn. Nó bao gồm một tập tin nguồn MainActivity.java một lớp hoạt động (activity) sẽ chạy khi ứng dụng của bạn được khởi động.
- Res/drawable: Với các phiên bản Android trước đây sẽ sử dụng thư mục này để chứa ảnh, còn các phiên bản hiện tại sẽ sử dụng thư mục mipmap thay thế để làm nơi chứa ảnh. Các thư mục này gần như là không còn sử dụng được.
- Res/layout: Chứa các file định nghĩa giao diện người dùng.
- Res/menu: Chứa các file xml, định nghĩa các menu sẽ hiển thị trên Action Bar.
- Res/mipmap: Chứa ảnh 'mipmap'.
- Res/values: Chứa các tập tin XML khác nhau 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.
AndroidManifest.xml: Dù thành phần bạn phát triển như là một phần của ứng dụng của bạn, thì cũng cần phải khai báo tất cả các thành phần của nó trong một AndroidManifest.xml. Nó hoạt động như một giao tiếp giữa hệ điều hành Android và ứng dụng của bạn, do đó nếu bạn không khai báo thành phần của bạn trong tập tin này, thì nó sẽ không được xem xét bởi các hệ điều hành. Ví dụ, như một filemanifest mặc định sẽ trông giống file sau:
Bạn cần tìm hiểu thêm một chút về các ảnh trong thư mục mipmap, hãy xem hình ảnh sau đây, có một file ảnh trong thư mục mipmap.
Một trong các vấn đề thỉnh thoảng bắt gặp khi sử dụng ứng dụng tài liệu lập trình android studio đó là các ảnh mờ, nhòe, hoặc giãn không chuẩn. Và giải pháp cho vấn đề này đó chính là tạo ra một thư mục mipmap cho mỗi mật độ (density) điểm ảnh mà Android hỗ trợ, và để cho các hình ảnh thu nhỏ một cách chính xác. Có 6 dãy mật độ khác nhau (được đo theo số điểm ảnh trên 1 inch) mà Android hỗ trợ:
- ldpi: Được dành cho các màn hình độ phân giải thấp; xấp sỉ 120dpi.
- mdpi: Màn hình có độ phân giải trung bình (trên HVGA truyền thống) ; xấp sỉ 160dpi.
- hdpi: Các màn hình phân giải cao; xấp sỉ 240dpi.
- xhdpi: 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.
vnodpi: Sử dụng cho tài nguyên bitmap mà bạn không muốn được thu nhỏ nhằm phù hợp với mật độ thiết bị.
- tvdpi: Có một số màn hình độ phân giải nằm giữa mdpi và hdpi; xấp sỉ khoảng 213dpi. Không được coi là nhóm phân giải chính. 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. Các têu chuẩn này được giới thiệu trong API Level 13.
Trước hết tìm hiểu Activity là gì?
- Activity chính là một mã Java có hỗ trợ một màn hình hoặc giao diện người dùng. Activity để xây dựng khối của giao diện người dùng. Là một lớp được có sẵn trong Android và các ứng dụng trong đó có giao diện người dùng phải kế thừa nó để tạo ra cửa sổ.
Chẳng hạn lớp MainActivity là một Activity mở rộng từ một Activity có sẵn trong thư viện Android.
Hình dưới đây minh họa vòng đời của một Activity: Có thể thấy rằng 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 đến 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),..
Bạn cũng có thể sửa đổi lại code của class MainActivity để có thể dễ hiểu hơn, ghi đè lên các phương thức onStart(), onResume(),... thêm vào các thông báo (message) để chứng tỏ một điều rằng phương thức đó vừa được chạy. Sau đó, hãy 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.
Chạy lại ứng dụng của bạn, và bạn thấy các message được ghi ra trên cửa sổ logcat.
Bạn cũng có thể sét đặt bộ lọc để cho logcat chỉ hiển thị các message của bạn.
Nhập vào ô:
Filter Name: My Filter
Log Tag (regex): MyMessage
Lúc này cửa sổ logcat chỉ hiển thị các message của bạn.
Trên màn hình điện thoại của bạn:
Ứng dụng Android đầu tiên đã chạy thành công, cùng nhìn lại Android đã hoạt động thế nào từ khi ứng dụng được gọi.
Những gì mà bạn nhìn thấy trên cửa sổ Project không phải là tất cả các thành phần tham gia tạo nên ứng dụng của bạn. sẽ có những thành phần được tạo ra một cách tự động bởi chương trình biên dịch. Và nó sẽ không hiển thị trên cửa sổ Project.
Để xem file R.java trên Android Studio, thì bạn hãy mở class MainActivity, nhấn chuột phải vào R.layout.main_activity chọn Go To/Implementation(s).
Các hằng số định nghĩa trong class R.java được tạo ra sẽ tương ứng với các tài nguyên trên Project:
Trong Project, có thể sử dụng các hằng số để tham chiếu đến các tài nguyên trong project. Chẳng hạnR.layout.activity_main chính là một hằng số ám chỉ file activity_main.xml trong thư mục res/layout.
Về nguyên tắc hoạt động:
Có phải activity_main.xml là file tạo ra giao diện của ứng dụng. Nhưng thực chất activity_main.xml là một file định nghĩa ra các thực thể có tham gia vào giao diện của ứng dụng, và chúng được sắp xếp thế nào trên màn hình. Activity sẽ bắt đầu đọc file này và vẽ lên giao diện ứng dụng. Như vậy thì bản chất giao diện của ứng dụng là do Activity tạo nên.
Và chạy lại ứng dụng:
Phiên bản hiện tại của Android Studio không hỗ trợ bạn thiết kế giao diện trực quan trên Java. Tuy nhiên nó lại hỗ trợ rất tốt bạn thiết kế giao diện trực quan ở trên file xml. Android Studio sẽ giúp tạo ra mã XML cho bạn. Ứng dụng của bạn dễ dàng bảo trì hơn với thiết kế giao diện trên XML.
Quay trở lại với activity_main.xml, bạn dễ dàng thiết kế giao diện ứng dụng:
Công ty Cổ phần DevPro Việt Nam Địa chỉ: Tầng 6, số 147 Mai Dịch, Cầu Giấy, Hà Nội Điện thoại: 0985.95.08.95 Facebook: https://www.fb.com/devprojscgroup Tìm hiểu khóa học Lập trình Java Android tại: https://www.devpro.edu.vn/khoa-hoc-lap-trinh-android