CƠ SỞ LÝ THUYẾT
Sơ lược về Android Studio
Google cung cấp Android Studio, một công cụ phát triển ứng dụng Android dựa trên nền tảng IntelliJ IDEA Với IntelliJ IDEA là một IDE hàng đầu cho Java, Android Studio trở thành môi trường phát triển lý tưởng cho ứng dụng Android.
Android Studio là phần mềm phát triển ứng dụng cho thiết bị sử dụng hệ điều hành Android, bao gồm smartphone và tablet Nó tích hợp nhiều công cụ như trình chỉnh sửa mã, trình gỡ lỗi, công cụ phân tích hiệu suất, và hệ thống xây dựng/triển khai Đặc biệt, Android Studio có trình giả lập giúp mô phỏng môi trường thiết bị trên máy tính, cho phép lập trình viên phát triển ứng dụng từ đơn giản đến phức tạp một cách nhanh chóng.
Việc xây dựng ứng dụng di động bao gồm nhiều bước, bắt đầu từ việc viết mã trên máy tính Sau đó, cần build ứng dụng để tạo file cài đặt, và cuối cùng là sao chép file này vào thiết bị di động để cài đặt và kiểm thử Nếu mỗi lần viết mã đều phải thực hiện các bước này, sẽ rất tốn thời gian Android Studio ra đời để giải quyết vấn đề này, cho phép thực hiện tất cả các công đoạn trên cùng một máy tính với quy trình tối giản nhất.
1.2.1 Yêu cầu phần cứng máy tính
- 4 GB RAM (Tốt nhất là 8GB)
- 400 MB hard disk space + ít nhất 1GB cho Android SDK, emulator system images và caches
- Độ phân giải tối thiếu 1280 x 800
- Vào đường dẫn: "http://developer.android.com/sdk/index.html"
- Để download bản mới nhất và tiến hành cài đặt click như hình:
Hì nh 1 1 Dowload Android Studio
- Khi cài đặt chú ý chọn cả SDK và trình giả lập thiết bị android ảo như hình:
- Tiếp tục chọn next và agree cho đến khi hoàn tất.
- Đây là màng hình khởi động.
Hình 1 3: Màn hình khởi động
ADT là công cụ phát triển Android bao gồm mọi thứ mà chúng ta cần để bắt đầu phát triển một ứng dụng Android:
• A version of the Android platform
• A version of the Android System image for the emulator
Chúng ta có thể download trên trang chủ của android: http://developer.android.com/sdk/index.html
AVD (Android Virtual Device) là thiết bị máy ảo Android được sử dụng để kiểm tra ứng dụng lập trình trên ADT Tuy nhiên, AVD thường mất nhiều thời gian để hoạt động Để cải thiện hiệu suất và tiết kiệm thời gian, người dùng có thể lựa chọn sử dụng máy ảo Genymotion.
SDK Manager (Software Development Kit) Công cụ quản lý phần mềm phát triển bao gồm:
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Yêu cầu của phần mềm
Phát triển ứng dụng quản lý pin trên điện thoại Android (Battery Saver) thực hiện các chức năng sau:
Hiển thị % pin còn lại, tính toán thời lượng sử dụng pin còn lại
Hiển thị các thông số của pin (điện áp, nhiệt độ, dung lượng, …)
Hiển thị các ứng dụng đã sử dụng pin, thời gian sử dụng pin của các ứng dụng
Điện thoại thông minh hiện đại thường có các chế độ tiết kiệm pin, cho phép người dùng điều chỉnh độ sáng màn hình, cũng như tắt hoặc giảm độ hoạt động của wifi, bluetooth, GPS, rung và chuông Người sử dụng có thể tùy chỉnh các thiết lập này để phù hợp với mức độ pin hiện có, giúp kéo dài thời gian sử dụng thiết bị.
Dọn dẹp các ứng dụng chạy ngầm gây tốn Pin
Tạo các logfile/ cơ sở dữ liệu ghi thông tin lịch sử sử dụng pin( thời điểm nạp pin, số giờ sử dụng của mỗi lần nạp…)
Sơ đồ phân rã chức năng của hệ thống
Quản lý pin trên điện thoại
Phần trăm pin còn lại
Tình trạng pin Điện áp pin
Các ứng dụng đã sử dụng pin
Biểu đồ % pin tiêu hao theo từng giờ
Số giờ sử dụng mỗi lần nạp Điểu chỉnh chế độ tiết kiệm pin Điều chỉnh độ sáng màn hình
Đặc tả chức năng hệ thống
2.4.1 Chức năng hiển thị thông số pin
- Chức năng này giúp người dùng có thể kiểm tra được các thông số cơ bản của pin trên điện thoại
Khi người dùng đăng nhập vào ứng dụng, giao diện màn hình chính sẽ hiển thị các thông số cơ bản của pin, bao gồm phần trăm pin còn lại, điện áp, dung lượng, nhiệt độ, tình trạng pin và trạng thái kết nối sạc.
2.4.2 Chức năng điều chỉnh chế độ tiết kiệm pin
Chức năng này cho phép người dùng điều chỉnh các chế độ nhằm tiết kiệm pin, từ đó kéo dài thời gian hoạt động của thiết bị.
Mô tả hoạt động chức năng
Người dùng có thể kéo dài thời gian hoạt động của thiết bị bằng cách chọn chế độ tiết kiệm pin phù hợp, điều chỉnh các thông số như hẹn giờ tắt wifi khi không sử dụng và tự động tắt wifi cùng bluetooth khi ở chế độ pin.
Xem thông số pin Điều chỉnh chế độ tiết kiêm pin
Hẹn giờ Điều chỉnh độ sáng
Để tối ưu hóa trải nghiệm người dùng, bạn có thể dễ dàng bật hoặc tắt wifi, GPS và Bluetooth Ngoài ra, điều chỉnh độ sáng màn hình và tắt các chế độ như rung, chuông cũng giúp tiết kiệm pin Hệ thống sẽ tự động thực hiện các thay đổi dựa trên chế độ mà người dùng đã chọn.
2.4.3 Chức năng hiển thị biểu đồ
- Chức năng này giúp người dùng có thể thấy được % pin tiêu thụ theo từng giờ
Mô tả hoạt động chức năng
- Người dùng đăng nhập vào hệ thống, % pin tiêu thụ theo từng giờ sẽ được hệ thống thế hiện theo biểu đồ đường
2.4.4 Chức năng đọc và ghi file
- Chức năng này giúp người dùng có thể xem lại được lịch sử nạp pin, thời gian sử dụng mỗi lần nạp.
Mô tả hoạt động chức năng
Sau mỗi lần nạp pin, hệ thống tự động ghi lại lịch sử nạp pin cùng với thời gian sử dụng thiết bị qua các logfile và cơ sở dữ liệu, giúp theo dõi thông tin chi tiết về lịch sử sử dụng pin.
PHẦN MỀM QUẢN LÝ PIN TRÊN ĐIỆN THOẠI ANDROID
Kiến thức sử dụng trong ứng dụng
Dùng SQLite để lưu trữ và hiển thị các thông số của pin
SQLite có chức năng tương tự như SQL Server trong C# và MySQL trong PHP, cho phép tạo nhiều bảng để lưu trữ dữ liệu và hỗ trợ truy vấn dữ liệu khi cần thiết.
Trong Android, lớp SQLiteOpenHelper hỗ trợ việc tạo cơ sở dữ liệu một cách tổng quát, cho phép người dùng sử dụng các câu lệnh SQL với các tham số được truyền vào hàm.
The general constructor includes parameters such as context, name_db, cursorfactory, and version Here, the context refers to the user object, typically associated with an activity Both name_db and version are user-defined, with name_db being a String type and version an integer By default, cursorfactory is set to null.
Mở/đóng cơ sở dữ liệu: hàm openDatabase() nếu mở, còn đòng thì sử dụng hàm close().
Hàm onCreate(SQLiteDatabase db) được gọi lần đầu tiên khi cơ sở dữ liệu được khởi tạo, có nhiệm vụ tạo mới cơ sở dữ liệu và đồng thời thiết lập các bảng để lưu trữ các bản ghi dữ liệu.
Dùng Broadcast Receiver để thu nhận các thông số của pin
Vòng đời của BroadCast Receiver:
BroadCast Receiver chỉ có 1 phương thức duy nhất là onReceive() Sau khi phương thức này được gọi thì vòng đời của Broadcast Receiver kết thúc tại đây.
Ngay sau khi kết thúc phương thức onReceive() hệ thống coi như là Broadcast Receiver đã kết thúc và có thể killprocess bất cứ lúc nào.
BroadcastReceiver phân biệt các intent với nhau chủ yếu nhờ action
của intent, do đó cần phải định nghĩa thật chính xác.
Để hiển thị các ứng dụng chạy ngầm, chúng ta cần tạo một Custom Listview bằng cách sử dụng ArrayList và ArrayAdapter Lớp ArrayAdapter này không có sẵn, vì vậy chúng ta phải tự định nghĩa nó để có thể hiển thị các phần tử trong mảng lên Listview.
Ngoài ra chúng em sử dụng các kiến thức cơ bản của Android như Intent,Notification, XML, …
Giao diện ứng dụng
3.2.1 Giao diện màn hình chính.
Trên giao diện màn hình chính sẽ hiển thị các thông số cơ bản về phần trăm còn lại của pin, tình trạng pin, nhiệt độ pin…
Hình 4 1: Giao diện Battery 3.2.2 Giao diện cài đặt
Hệ thống cung cấp các chế độ tùy chỉnh giúp tối ưu hóa hiệu suất pin, như tự động tắt Wi-Fi khi pin yếu và cài đặt thời gian tắt Wi-Fi khi không sử dụng Ngoài ra, người dùng có thể giảm độ sáng màn hình để kéo dài thời gian hoạt động của thiết bị.
Hình 4 2: Giao diện Battery modes
3.2.3 Giao diện định vị( Geofencing)
TỔNG KẾT - KẾT LUẬN
Đánh giá – Kết luận
Việc tin học hóa trong phát triển ứng dụng mang lại nhiều lợi ích to lớn, giúp quá trình phát triển ứng dụng trên thiết bị di động trở nên dễ dàng hơn và phù hợp với nhu cầu người dùng Tuy nhiên, do thời gian nghiên cứu hạn chế và kiến thức còn thiếu, kết quả đạt được trong tiểu luận này chưa cao Ứng dụng này có khả năng giải quyết nhiều công việc quan trọng.
- Tìm hiểu được bài toán quản lý pin trên điện thoại andoid
- Lập được bảng phân tích và thiết kế hệ thống quản lý pin trên điện thoại
- Xây dựng được ứng dụng quản lý pin trên điện thoại Ứng dụng bao gồm các chức năng sau :
Hiển thị % pin còn lại, tính toán thời lượng sử dụng pin còn lại
Hiển thị các thông số của pin (điện áp, nhiệt độ, dung lượng, …)
Hiển thị các ứng dụng đã sử dụng pin, thời gian sử dụng pin của các ứng dụng
Điện thoại thông minh hiện đại thường được trang bị các chế độ tiết kiệm năng lượng, cho phép người dùng điều chỉnh độ sáng màn hình, tắt hoặc bật wifi, bluetooth, GPS, và chế độ rung hay chuông dựa trên mức độ pin còn lại Người sử dụng có thể tùy chỉnh các cài đặt này để phù hợp với nhu cầu sử dụng và kéo dài thời gian sử dụng pin hiệu quả hơn.
Thực hiện đề tài này đã giúp chúng em ôn lại kiến thức đã học và khám phá những thông tin mới, từ đó áp dụng vào việc phát triển một ứng dụng Android phù hợp với xu hướng hiện đại.
Những mặt hạn chế của ứng dụng
Thời gian thực hiện tiểu luận hạn chế và trình độ hiểu biết về công cụ cũng như ngôn ngữ lập trình của chúng em còn nông cạn, dẫn đến việc chưa khai thác hết tiềm năng của chương trình, làm giảm hiệu quả Hệ thống hiện tại chưa hoàn chỉnh do thiếu một số chức năng cần thiết và chưa đáp ứng đầy đủ yêu cầu của bài toán Đây sẽ là hướng phát triển cho đề tài của chúng em trong tương lai.
Hướng phát triển của đề tài
Ứng dụng quản lý pin trên điện thoại android sẽ phát triển thêm các tính năng sau:
Dọn dẹp các ứng dụng chạy ngầm gây tốn Pin
Tạo các logfile/ cơ sở dữ liệu ghi thông tin lịch sử sử dụng pin( thời điểm nạp pin, số giờ sử dụng của mỗi lần nạp…)
Vẽ biểu đồ thể hiện % trăm pin bị tiêu hao theo từng giờ.