Download as pdf or txt
Download as pdf or txt
You are on page 1of 18

6/5/2024 BÀI TẬP

LẬP TRÌNH TRÊN


THIẾT BỊ DI ĐỘNG

Biên soạn: Phạm Thuỷ Tú


KHOA CÔNG NGHỆ THÔNG TIN
BÀI TẬP TUẦN 04

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

Thư mục kotlin + java: chứa file cài đặt


- MainActivity: Chương trình chính
- PTB1_activity: File cài đặt giải phương trình bậc 1
- PTB2_activity: File cài đặt giải phương trình bậc 2
Thư mục layout: Chứa các tập tin thiết kế giao diện

- activity_main.xml: giao diện màn hình chính


- activity_ptb1.xml: giao diện màn hình giải PTB1
- activity_ptb2.xml: giao diện màn hình giải PTB2

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

Phương thức onStop(): chuyển


sang màn hình khác và giải phóng
tài nguyên cho activity_ptb1

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

Bước 5: Khai báo thông tin 2 Activity trong AndroidManifest.xml

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

Thực hiện tương tự cho


btnGPTB2 và btnTHAMKHAO

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.

Các thành phần chính của AlertDialog:

- Tiêu đề (Title): Dòng chữ chính của hộp thoại.


- Thông điệp (Message): Nội dung chính của hộp thoại.
- Nút (Buttons): Các nút hành động như "OK", "Cancel".
- Danh sách (List): Danh sách các mục để người dùng chọn.
- View tùy chỉnh: Giao diện tùy chỉnh trong hộp thoại.

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 ý:

Bước 1: MainActivity gửi thông điệp cho Activity_NhanDL

Gọi thực thi intent cần lưu ý:

- Chỉ truyền dữ liệu: sử dụng phương thức startActivity()

- 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 ý

Bước 1: Tạo và khai báo thông tin cho Project


Bước 2: Tạo thêm layout cho Activity_2 và thiết kế giao diện (Activity_1 và Activity_2)
Bước 3: Khai báo đối tượng cần thiết cho cả hai Activity
Bước 4: Tạo Intent trong Activity_1 và truyền dữ liệu cho Activity_2
Bước 5: Activity_2 nhận dữ liệu từ Activity_1
Bước 6: Activity_2 truyền dữ liệu VAT cho Activity_1
Bước 7: Activity_1 nhận giá trị VAT và tính Tổng tiền TT
Bước 8: Thực thi chương trình.

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.

HƯỚNG DẪN LÀM BÀI

Bước 1: Tạo và khai báo thông tin cho Project


Bước 2: Thiết kế giao diện màn hình chính như sau:

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 5: Khai báo Adapter chứa dữ liệu

Bước 6: Cài đặt sự kiện chọn giá trị trên CalendarView

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 3: Khai báo đối tượng cần thiết cho cả 6 Activity

Bước 4: Tạo Intent trong MainActivity và các Activity khác

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.

Bước 6: Kiểm tra kết quả và kết luận điểm.

Bước 7: Thực thi chương trình.

Page | 14
DEMO MẪU ĐIỀU KHIỂN SPINNER

Bước 1: Tạo Project và thiết kế giao diện như sau

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

Bước 2: Tạo lớp cho CustomView, ví dụ đặt tên customview_hovaten.kt

Bước 3: Thiết kế layout CustomView, ví dụ đặt tên layout_ customview_hovaten.xml

Bước 4: Gọi và sử dụng CustomView

Bước 5: Thực thi chương trình và test sản phẩm

Page | 17

You might also like