Hưởng ứng phong trào "dậy sớm để thành công", chúng tôi đã xây dựng nên 1 app báo thức rất đặc biệt. Khác với các app báo thức thông thường, các bạn phải trả lời câu hỏi để có thể tắt báo thức, việc này sẽ giúp bạn tỉnh táo sau quãng thời gian nghỉ ngơi. Hãy tận hưởng với chiếc app của chúng tôi nhé.
- Chức năng thêm câu hỏi và câu trả lời.
- Đặt báo thức với các thời gian lặp lại, chuông báo và chủ đề câu hỏi.
- Có thể xóa báo thức.
- Chạy ngầm để check, khi có báo thức sẽ hiện thông báo pop-up và âm thanh.
- Java 11.
- Android SDK.
- Lưu trữ dữ liệu JSON và Gson.
Cách cài đặt dự án
- Đối với máy tính(sử dụng trình giả lập):
+ Các công cụ có thể dùng: Emulator trong Android Studio, trình giả lập bên thứ 3 (Genymotion, BlueStacks, ...)
+ Clone dự án
+ Mở ứng dụng chạy giả lập và chạy trên đó
- Đối với điện thoại (Path: ProCodeWake\app\build\outputs\apk\androidTest\debug):
+ Tải file APK về máy
+ Mở file APK và chạyLưu ý đối với dự án
- Cần phải cấp quyền thông báo cho ứng dụng:
+ Mở Setting (cài đặt)
+ TÌm tới mục Apps (ứng dụng)
+ Ấn vào app ProCodeWake
+ Cấp quyền thông báo cho ứng dụng-
1.MainActivity:
- Là activity chính của ứng dụng, quản lý danh sách báo thức và giao diện người dùng.
- Sử dụng
TimeAlarmAdapterđể hiển thị danh sách báo thức trong ListView. - Sử dụng
JsonHelperđể tải và lưu danh sách báo thức từ/đến file JSON. - Khởi động
AlarmSchedulerServiceđể cập nhật báo thức khi ứng dụng mở. - Đăng ký
ActivityResultLauncherđể nhận kết quả từDatBaoThucActivitykhi người dùng đặt báo thức mới. - Sử dụng BottomNavigationView để điều hướng giữa các màn hình khác nhau trong ứng dụng.
-
2.TimeAlarmAdapter:
- Là adapter để hiển thị danh sách báo thức trong ListView của
MainActivity. - Sử dụng
TimeAlarmđể lấy dữ liệu báo thức và hiển thị trong các item của ListView.
- Là adapter để hiển thị danh sách báo thức trong ListView của
-
3.TimeAlarm:
- Là lớp mô tả một báo thức với các thuộc tính như giờ, phút, ngày, trạng thái bật/tắt, đường dẫn âm thanh và chủ đề.
- Được sử dụng bởi
TimeAlarmAdapterđể hiển thị thông tin báo thức và bởiJsonHelperđể lưu và tải dữ liệu báo thức.
-
4.JsonHelper:
- Là lớp tiện ích để tải và lưu danh sách báo thức từ/đến file JSON.
- Được sử dụng bởi
MainActivityđể quản lý dữ liệu báo thức.
-
5.AlarmSchedulerService:
- Là dịch vụ để lên lịch và quản lý báo thức.
- Được khởi động bởi
MainActivityđể cập nhật báo thức khi ứng dụng mở.
-
6.AlarmReceiver:
- Là
BroadcastReceiverđể nhận sự kiện báo thức và khởi độngWakeUpActivity. - Được sử dụng bởi
AlarmSchedulerServiceđể gửi broadcast khi đến giờ báo thức.
- Là
-
7.WakeUpActivity:
- Là activity để hiển thị giao diện báo thức khi đến giờ, phát âm thanh và yêu cầu người dùng trả lời câu hỏi để tắt báo thức.
- Được khởi động bởi
AlarmReceiverkhi nhận được broadcast báo thức.
- Sửa câu hỏi
- Sửa báo thức
- Switch để tắt bật báo thức
- Giao diện chưa bắt mắt
- Sử dụng nhiều Activity


