CƠ SỞ LÝ THUYẾT
Sơ lược về Android Studio
Google cung cấp một công cụ phát triển ứng dụng Android trên Website chính thức dựa trên nền tảng IntelliJ IDEA gọi là Android Studio Android studio dựa vào IntelliJ IDEA, là một IDE tốt cho nhất Java hiện nay Do đó Android Studio sẽ là môi trường phát triển ứng dụng tốt nhất cho Android.
Android Studio là một phầm mềm bao gồm các bộ công cụ khác nhau dùng để phát triển ứng dụng chạy trên thiết bị sử dụng hệ điều hành Android như các loại điện thoại smartphone, các tablet Android Studio được đóng gói với một bộ code editor, debugger, các công cụ performance tool và một hệ thống build/deploy (trong đó có trình giả lập simulator để giả lập môi trường của thiết bị điện thoại hoặc tablet trên máy tính) cho phép các lập trình viên có thể nhanh chóng phát triển các ứng dụng từ đơn giản tới phức tạp.
Việc xây dựng một ứng dụng mobile (hoặc tablet) bao gồm rất nhiều các công đoạn khác nhau Đầu tiên chúng ta sẽ viết code ứng dụng sử dụng máy tính cá nhân hoặc laptop Sau đó chúng ta cần build ứng dụng để tạo file cài đặt Sau khi build xong thì chúng ta cần copy file cài đặt này vào thiét bị mobile (hoặc table) để tiến hành cài đặt ứng dụng và chạy kiểm thử (testing) Hãy thử tưởng tượng nếu với mỗi lần viết một dòng code bạn lại phải build ứng dụng, cài đặt trên điện thoại hoặc tablet và sau đó chạy thử thì sẽ vô cùng tốn thời gian và công sức Android Studio được phát triển để giải quyết các vấn đề này Với Android Studio tất cả các công đoạn trên được thực hiện trên cùng một máy tính và các quy trình được tinh gọn tới mức 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) thiết bị máy ảo Android, dùng để test ứng dụng lập trình trên ADT, tuy nhiên AVD chạy rất tốn thời gian, để khắc phục điều này ta có thể 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
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 Đ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
2.3 Sơ đồ usercase tổng quát
Hẹn giờ Đăng Điều chỉnh chế Điều chỉnh độ tiết kiêm nhập pin độ sáng
Bật tắt wifi, gps, bluetooth số pin
Đặ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
- Hiển thị ngay khi người dùng đăng nhập vào app giao diện màn hình chính sẽ hiển thị các thông số cơ bản của pin như : % còn lại của pin, điện áp, dung lượng, nhiệt độ, tình trạng của 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 giúp người dùng có thể điều chỉnh các chế độ để có thể tiết kiệm pin và kéo dài thời gian hoạt động của các thiết bị.
Mô tả hoạt động chức năng
- Người dùng lựa chọn chế độ tiết kiệm pin phù hợp giúp kéo dài thời gian hoạt động của các thiết bị bằng cách điều chỉnh các thông số như: hẹn giờ tắt wifi khi không sử dụng thiết bị, tắt wifi và bluetooth khi chế độ pin yếu, điều chỉnh độ sáng màn hình, tắt các chế độ như rung, chuông… Hệ thống sẽ thực thi dựa trên chế độ 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 sẽ tự động ghi lại lịch sử nạp pin, thời gian sử dụng thiết bị của mỗi lần nạp bằng các logfile/cơ sở dữ liệu ghi thông tin 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.
Chức năng của SQLite cũng giống như SQL Server trong C# hoặc MySQL trong pHp, bao gồm nhiều bảng, có chức năng lưu trữ dữ liệu đồng thời hỗ trợ truy vấn khi cần thiết.
Trong Android hỗ trợ class SQLiteOpenHelper để tạo cơ sở dữ liệu tổng quát, còn đơn thuần chỉ việc dùng các câu lệnh SQL như các tham số truyền vào hàm
Hàm tạo tổng quát: context,name_db,cursorfactory,version: trong đó context chính là đối tượng sử dụng (thường gắn với activity),name_db và version do chúng ta tự đặt (lưu ý name_db kiểu String, còn version kiểu int), cursorfactory mặc định null. Mở/đóng cơ sở dữ liệu: hàm openDatabase() nếu mở, còn đòng thì sử dụng hàm close(). onCreate(SQLiteDatabase db): được gọi lần đầu tiên, có chức năng tạo mới cơ sở dữ liệu, đồng thời tạo luôn các bảng để lưu 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.
Custom Listview để hiển thị các ứng dụng chạy ngầm: Đặt Arraylist lên trang chúng ta sử dụng một ArrayAdapter Lớp này là lớp chưa có sẵn,
29 chúng ta phải tạo ra nó, nó có nhiệm vụ đặt các phần tử trong mảng lên trên
Ngoài ra chúng em sử dụng các kiến thức cơ bản của Android như Intent,
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
Ngoài ra, hệ thống còn có các chế độ giúp ta có thể điều chỉnh phù hợp theo tình trang của pin như tắt wifi khi pin yếu…cài đặt một số thông số để kéo dài thời gian hoạt động của thiết bị như hẹn giờ tắt wifi khi không sử dụng, giảm độ sáng màn hình khi pin yếu….
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
Qua những vấn đề đã trình bày trong tiểu luận, có thể thấy rằng việc tin học hóa trong quá trình phát triển ứng dụng đem lại những lợi ích vô cùng to lớn Nó giúp cho công việc phát triển các ứng dụng trên các thiết bị di động dễ dàng hơn, phù hợp với mục đích và xu hướng sử dụng của con người Trong khuôn khổ của một tiểu luận, do thời gian nghiên cứu không nhiều và kiến thức còn hạn chế nên những kết quả đạt được chưa cao. Ứng dụng giải quyết được các công việc sau:
- 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.
Có các chế độ tiết kiệm: điều chỉnh độ sáng màn hình, wifi, bluetooth, GPS, rung, chuông, tùy theo mức độ pin (người sử dụng có thể tùy chỉnh mức độ pin phù hợp).
Việc thực hiện đề tài đã giúp chúng em có thể trau dồi lại kiến thức đã được học, đồng thời tìm hiểu nghiên cứu những kiến thức mới để ứng dụng vào việc phát triển một ứng dụng android phù hợp với xu thế con người trong thời đại phát triển này.
Những mặt hạn chế của ứng dụng
Do thời gian thực hiện tiểu luận tương đối hạn chế và do trình độ hiểu biết về công cụ cũng như ngôn ngữ lập trình sử dụng của chúng em còn nông cạn nên chưa khai thác được hết nên chương trình mang lại hiệu quả chưa cao Hệ thống này còn chưa hoàn chỉnh vì thiếu chức năng, chưa xây dựng được hết các chức năng, yêu cầu đặt ra của bài toán Và đây cũng sẽ là hướng phát triển sau này của đề tài chúng em.
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ờ.