Professional Documents
Culture Documents
002 - BAI TAP THUC HANH TUAN 04_KOTLIN
002 - BAI TAP THUC HANH TUAN 04_KOTLIN
Mục tiêu:
- Hiểu và thực hiện được các thao tác cơ bản trên Android Studio: tạo Project, xác định
các thành phần của Project, phân tích và vận dụng một số điều khiển cơ bản thiết kế ứng
dụng.
- Thiết lập được máy ảo và demo minh hoạ.
Yêu cầu:
- Sinh viên tạo thư mục theo cú pháp: Tuan 04_Ho va ten_Mã lớp học phần (Ví dụ:
Tuan 03_Pham Thuy Tu_001)
- Sử dụng NNLT Kotlin/Java để thực hiện.
- Mỗi bài tập được thực hiện trên từng Project riêng. Tất cả các bài tập đều lưu trong thư
mục vừa tạo ở trên.
- Bài tập 1 – 2 – 3: thực hiện tại lớp.
- Bài tập 4 – 5 thực hiện ở nhà và nộp lại bài theo đường dẫn Google drives được GV
cung cấp. Deadline BTVN 6 ngày kể từ ngày được giao.
Bài 1: Hãy viết thiết kế giao diện và viết chương trình thực hiện yêu cầu:
1. Chọn lựa bậc phương trình: bậc 1 hoặc bậc 2
2. Khi người dùng chọn loại phương trình chuyển sang màn hình thiết kế riêng cho
phép giải tương ứng.
Gợi ý:
Bước 1: Tạo các file như mẫu
Page | 1
Bước 2: Thiết kế giao diện cho các màn hình
Ví dụ như màn hình chính:
mở ra website GOOGLE
Khi chọn nút "GIẢI PHƯƠNG TRÌNH BẬC 1" sẽ hiển thị màn hình
Page | 2
Bước 3: Liên kết các file cài đặt với file thiết kế giao diện các màn hình
Bước 4: Khai báo các đối tượng trên các màn hình và liên kết đối tượng với từng
control trên giao diện
Ví dụ với màn hình chính
Lưu ý: Bước 5 có thể thực hiện ngay sau khi tạo các Activity thành phần (Bước 1
hoặc Bước 2)
Page | 3
Bước 6: Khai báo Intent và thực thi sự kiện Click trên nút btnPTB1
Bài 2: Viết chương trình sử dụng AlertDialog cài đặt cho nút THOÁT
Page | 4
Để tạo một AlertDialog, sử dụng AlertDialog.Builder.
Bài 3: Hãy viết thiết kế giao diện và viết chương trình thực hiện yêu cầu
1. Chọn lựa bậc phương trình: bậc 1 hoặc bậc 2 (sử dụng RadioButton)
2. Khi người dùng chọn loại phương trình chuyển sang màn hình thiết kế riêng cho phép
giải tương ứng.
3. Thiết kế thêm nút Quay về trên giao diện màn hình PhuongTrinhBac1 và
PhuongTrinhBac2. Khi nhấn vào nút Quay về xuất hiện câu thông báo “Bạn muốn quay
về màn hình chính?” với 2 tùy chọn: Yes/No cho người dùng chọn.
4. Thiết kế thêm nút Thoát trên giao diện màn hình PhuongTrinhBac1 và
PhuongTrinhBac2. Khi nhấn vào nút Thoát xuất hiện câu thông báo “Bạn muốn thoát
khỏi màn hình?” với 2 tùy chọn: Yes/No cho người dùng chọn.
Page | 5
TRUYỀN VÀ NHẬN DỮ LIỆU GIỮA CÁC ACTIVITY
Bài 4: Hãy tạo Project thực hiện các yêu cầu như sau:
Page | 6
Khi nhấn vào nút TRUYỀN DỮ LIỆU, MainActivity sẽ gửi dữ liệu đã nhập cho
Activity_NhanDL.
Activity_NhanDL nhận giá trị từ MainActivity, hiển thị dữ liệu đã nhận và khi nhấn
vào nút PHẢN HỒI sẽ trả về giá trị chuỗi đã nhập tại Activity_NhanDL.
MainActivity nhận giá trị phản hồi từ Activity_NhanDL và hiển thị qua Toast
Gợi ý:
- Truyền dữ liệu và yêu cầu nhận dữ liệu trả về phải có REQUEST_CODE để nhận diện mã
thông tin tương ứng và sử dụng phương thức startActivityForResult()
Bước 2: Activity_NhanDL nhận giá trị được truyền từ MainActivity và hiển thị
Page | 7
Bước 3: Activity_NhanDL gửi dữ liệu cho MainActivity
Bước 4: MainActivity nhận dữ liệu được truyền từ Activity_NhanDL và hiển thị Toast
Page | 8
Bài 5: Hãy thiết kế giao diện và thực hiện yêu cầu tính toán như sau:
Gợi ý
Page | 9
Bài 6. Hãy cài đặt chương trình thực hiện yêu cầu thêm thông tin nhập chi tiết vào
GridView.
Bước 3: Khởi tạo các đối tượng cần thiết (khai báo toàn cục)
Page | 10
Bước 4: Khai báo các đối tượng cho Activity
Bước 7: Cài đặt sự kiện cho nút thêm dữ liệu vào GridView
Page | 11
Bước 8: Thực thi chương trình.
Page | 12
Bài 7: Tạo Project thực hiện chương trình thi trắc nghiệm thực hiện các như sau:
Bài tập tính điểm cộng cho cá nhân (thiết kế đẹp + demo hoàn chỉnh + 0,5 điểm vào
điểm bài kiểm tra cá nhân. Chỉ cộng cho 05 bài nộp đầu tiên qua mail:
pttu.ufm.sinhvien@gmail.com. Subject: BaiCongDiem02_LopHocPhan_HoVaTen)
Ý tưởng:
1. Thiết kế giao diện màn hình chính cho phép người thi nhập thông tin người thi (bao
gồm: Họ và tên, Ngày tháng năm sinh, CCCD), sau khi nhấn nút lưu thì thông tin đã
nhập hiển thị qua Toast.
2. Load ảnh người thi trên màn hình chính (imageView)
3. Bài thi trắc nghiệm gồm có 5 câu, dạng trắc nghiệm: 2 câu hỏi có nhiều lựa chọn đúng
và 3 câu hỏi chỉ có 1 lựa chọn đúng.
4. Sau khi nhấn nút làm bài thì chuyển sang giao diện câu hỏi chi tiết.
5. Người dùng nhấn nút Next à câu kế tiếp, nhấn nút Prev à câu hỏi trước đó.
6. Sau khi kết câu số 5 thì quay về màn hình chính, kết quả đáp án được hiển thị ở màn
hình chính.
Gợi ý: Màn hình câu hỏi chi tiết được thiết kế dạng thức như sau:
Page | 13
Bước 1: Tạo và khai báo thông tin cho Project
Bước 2: Tạo thêm 5 Activity (5 câu trắc nghiệm) và thiết kế giao diện.
Bước 5: MainActivity nhận dữ liệu từ các Activity (Đáp án được chọn ở các màn hình chi
tiết) và hiển thị kết quả thông qua 1 GridView.
Page | 14
DEMO MẪU ĐIỀU KHIỂN SPINNER
Bước 2: Tạo nguồn tài nguyên (tạo mảng tài nguyên gồm danh sách các kỳ hạn)
Bước 3: Khai báo các đối tượng trên giao diện trong MainActivity
Page | 15
Bước 4: Sử dụng đối tượng Adapter lấy dữ liệu trong đã khai báo (Bước 2) và
chuyển dữ liệu từ Adapter vào Spinner trên giao diện
Page | 16
DEMO MẪU CUSTOM VIEW
Ý tưởng: Thiết kế màn hình có Custom View (view tuỳ biến do người dùng tự thiết kế
và định nghĩa) theo mẫu như sau:
Gợi ý:
Bước 1: Tạo Project và khai báo các thông tin cho Project
Page | 17