Quản lý pin trên điện thoại android
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ VIỄN THÔNG - - BÁO CÁ0 BÀI TẬP LỚN Lập trình Android Đề tài: Quản lý Pin điện thoại Android Giảng viên hướng dẫn: TS Trần Hải Anh Nhóm Hà Nội – 5/2015 Mục Lục Lời nói đầu Hệ điều hành Android đời đánh dấu bước ngoặt ngành công nghệ toàn cầu tác động trực tiếp tới đời sống chúng ta, làm thay đổi hoàn toàn khái niệm trước di động, mở ngành công nghiệp sản xuất điện thoại, thiết bị di động Đi kèm với ngành phần mềm, mà cụ thể phần mềm, ứng dụng với số lượng khổng lồ viết hàng năm để phục vụ cho nhu cầu người sử dụng thiết bị android Chúng em chọn để tài thiết kế “Phần mềm quản lý pin điện thoại Android”, phần để tìm hiểu trình thiết kế ứng dụng thiết bị android ứng dụng kiến thức học môn lập trình Android để tạo ứng dụng hoàn chỉnh Tuy nhiên, kiến thức hạn chế nên ứng dụng chúng em chưa thực hoàn hảo Chúng em cố gằng hoàn thiện ứng dụng sau Chúng em xin chân thành cảm ơn Tiến sĩ Trần Hải Anh tận tình giúp đỡ nhóm chúng em thời gian hoàn thiện tập lớn, giảng bổ ích lập trình Android lập trình Smart Phone I Giới thiệu Android Lịch sử phát triển Android hệ điều hành điện thoại di động (và số thiết bị kĩ thuật số khác máy ảnh đầu kĩ thuật số) phát triển Google dựa tảng hệ điều hành Linux Trước đây, Android phát triển công ty liên hợp Android (sau Google mua lại vào năm 2005) Theo công ty nghiên cứu thị trường NPD, thiết bị di động sử dụng hệ điều hành Android bán Mỹ quý II năm 2010 xếp vị trí với 33%, thứ BlackBerry OS với 28% iOS vị trí thứ với 22% Android có cộng đồng nhà phát triển lớn viết ứng dụng cho hệ điều hành Hiện có khoảng 80,000 ứng dụng cho Android OS vào khoảng 100,000 ứng dụng đệ trình, điều khiến Android trở thành hệ điều hành di động có môi trường phát triển lớn thứ Các nhà phát triển viết ứng dụng cho Android dựa ngôn ngữ Java Sự mắt Android vào ngày tháng 11 năm 2007 gắn với thành lập liên minh thiết bị cầm tay mã nguồn mở, bao gồm 78 công ty phần cứng, phần mềm viễn thông nhằm mục đính tạo nên chuẩn mở cho điện thoại di động tương lai Google công bố hầu hết mã nguồn Android theo cấp phép Apache Hệ điều hành Android bao gồm 12 triệu dòng code; triệu dòng XML (eXtensible Markup Language, "Ngôn ngữ Đánh Dấu Mở rộng"), 2.8 triệu dòng mã C, 2.1 triệu mã Java 1.75 triệu dòng mã C+ + I HỆ ĐIỀU HÀNH MÃ NGUỒN MỞ ANDROID Sự Ra Đời Tháng năm 2005 Google mua lại Android Inc, công ty nhỏ thành lập từ năm 2003 có trụ sở Palo Alto, California, Mỹ Những nhà đồng sáng lập Android chuyển sang làm việc Google gồm có Andy Rubin (đồng sáng lập công ty Danger), Rich Minner (đồng sáng lập công ty Wildfire Communications), Nick Sears (từng phó chủ tịch T-Mobile), Chris White (trưởng nhóm thiết kế phát triển giao diện WebTV) Khi đó, có thông tin công việc Android, ngoại trừ việc họ phát triển phần mềm cho điện thoại di động Tính mở hệ điều hành Android Android xây dựng phép nhà phát triển để tạo ứng dụng di động hấp dẫn, tận dụng tất điện thoại cung cấp Nó xây dựng để thực mở Android xây dựng mở Linux Kenel Hơn sử dụng máy ảo tùy chỉnh thiết kế để tối ưu nhớ tài nguyên phần cứng môi trường di động Nền tảng Android Với khả rộng rãi Android, dễ dàng nhầm lẫn với hệ điều hành máy tính để bàn Android môi trường phân tầng, xây dựng hệ điều hành nhân Linux, bao hàm nhiều chức phong phú Hệ thống giao diện người sử dụng gồm có: • • • Cửa sổ Khung nhìn Các tiểu trình để hiển thị phẩn tử phổ biến hộp biên soạn, danh sách, danh sách thả xuống Android gồm trình duyệt nhúng vào được, xây dựng dựa WebKit, máy (engine) trình duyệt mã nguồn mở động trình duyệt Safari di động iPhone Android khoe mảng dồi nhiều tùy chọn kết nối, gồm WiFi, Bluetooth, liệu không dây qua kết nối di động (như GPRS, EDGE, 3G) Một kỹ thuật phổ biến ứng dụng Android liên kết tới Google Maps để hiển thị địa trực tiếp ứng dụng Việc hỗ trợ cho dịch vụ dựa địa điểm (chẳng hạn GPS) dụng cụ đo gia tốc có sẵn chồng phần mềm Android, tất thiết bị Android trang bị với phần cứng cần thiết Cũng có hỗ trợ máy ảnh (camera) Về mặt lịch sử, có hai lĩnh vực mà ứng dụng di động gắng sức theo kịp đối tác máy tính để bàn đồ họa/đa phương tiện, phương thức lưu trữ liệu Android giải thách thức đồ họa hỗ trợ dựng sẵn cho đồ họa 2-D 3D, gồm thư viện OpenGL Gánh nặng lưu trữ liệu giảm nhẹ Android có gồm sở liệu SQLite mã nguồn mở phổ biến Hình cho thấy khung nhìn đơn giản hoá tầng phần mềm Android Thách thức phát triển Thiết bị android phân phối có tốc độ tăng trưởng nhanh tảng di động khác, điều giúp Android trở thành lựa chọn tuyệt vời hành trình phát triển ứng dụng điện thoại di động Một nhược điểm lớn ứng dụng Android phân mảnh Thực tết cho thấy, hầu hết nhà phát triển ứng dụng gần kiểm tra ứng dụng cho thiết bị Android phiên hệ điều hành II Môi trường lập trình Android Development Tool (ADT) ADT công cụ phát triển Android bao gồm thứ mà cần để bắt đầu phát triển ứng dụng Android: • • • • • Eclipse + ADT plugin Android SDK Tools Android Platform-tools A version of the Android platform A version of the Android System image for the emulator Chúng ta download trang chủ android: http://developer.android.com/sdk/index.html Hình 1: ADT AVD SDK Manager AVD (Android virtual device) thiết bị máy ảo Android, dùng để test ứng dụng lập trình ADT, nhiên AVD chạy tốn thời gian, để khắc phục điều ta dùng máy ảo Genymotion Hình 2: 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: • • • • • Tools Code samples Documentations Compliers Libraries Hình 3: SDK Manager III Phần mềm quản lý pin điện thoại Android Chức ứng dụng Phát triển ứng dụng quản lý pin điện thoại Android (Battery Saver) thực chức sau: • • Hiển thị % pin lại, tính toán thời lượng sử dụng pin lại Hiển thị thông số pin (điện áp, nhiệt độ, dung lượng, …) Hiển thị ứng dụng sử dụng pin, thời gian sử dụng pin ứng dụng Vẽ biểu đồ thể % pin bị tiêu hao theo • Có chế độ tiết kiệm: điều chỉnh độ sáng hình, wifi, bluetooth, GPS, rung, chuông, tùy theo mức độ pin (người sử dụng tùy chỉnh mức độ pin • • phù hợp) Dọn dẹp ứng dụng chạy ngầm gây tốn pin (Task manager) Tạo logfile/cơ sở liệu ghi thông tin lịch sử sử dụng pin (thời điểm nạp pin, số sử dụng lần nạp…) Kiến thức sử dụng ứng dụng Dùng SQLite để lưu trữ hiển thị thông số pin • Chức SQLite giống SQL Server C# MySQL pHp, bao gồm nhiều bảng, có chức lưu trữ liệu đồng thời hỗ trợ truy vấn cần thiết • Trong Android hỗ trợ class SQLiteOpenHelper để tạo sở liệu tổng quát, đơn việc dùng câu lệnh SQL tham số truyền vào hàm Hàm tạo tổng quát: context,name_db,cursorfactory,version: context đối tượng sử dụng (thường gắn với activity),name_db version tự đặt (lưu ý name_db kiểu String, version kiểu int), cursorfactory mặc định null Mở/đóng sở liệu: hàm openDatabase() mở, đòng sử dụng hàm close() onCreate(SQLiteDatabase db): gọi lần đầu tiên, có chức tạo sở liệu, đồng thời tạo bảng để lưu ghi liệu Dùng Broadcast Receiver để thu nhận thông số pin • Vòng đời BroadCast Receiver: 10 • Hình 4: Vòng đời BroadCast Receiver BroadCast Receiver có phương thức onReceive() Sau phương thức gọi vòng đời Broadcast Receiver kết thúc Ngay sau kết thúc phương thức onReceive() hệ thống coi Broadcast Receiver kết thúc killprocess lúc • BroadcastReceiver phân biệt intent với chủ yếu nhờ action intent, cần phải định nghĩa thật xác Custom Listview để hiển thị ứng dụng chạy ngầm • Đặt Arraylist lên trang sử dụng ArrayAdapter Lớp lớp chưa có sẵn, phải tạo nó, có nhiệm vụ đặt phần tử mảng lên Listview Ngoài chúng em sử dụng kiến thức Android Intent, Notification, XML, … Thực ứng dụng thiết bị thực Ứng dụng test điện thoại di động Asus Zenphone 5, với hình hiển thị chính: 11 Hình 5: Màn hình hiển thị ứng dụng Menu Mode: Có chế độ tiết kiệm pin, người dùng tùy chỉnh chế độ cho phù hợp với nhu cầu sử dụng 12 Hình 6: Menu mode Menu Task: Dọn dẹp ứng dụng chạy ngầm gây tốn pin 13 Hình 7: Menu Task 14 Menu Status: Biểu đồ thể % pin tiêu hao theo 15 Hình 8: Menu Status 16 [...]... nhiệm vụ đặt các phần tử trong mảng lên trê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, … 3 Thực hiện ứng dụng trên thiết bị thực Ứng dụng được test trên điện thoại di động Asus Zenphone 5, với màn hình hiển thị chính: 11 Hình 5: Màn hình hiển thị chính của ứng dụng Menu Mode: Có các chế độ tiết kiệm pin, người dùng có thể tùy chỉnh chế độ sao... Có các chế độ tiết kiệm pin, người dùng có thể tùy chỉnh chế độ sao cho phù hợp với nhu cầu sử dụng 12 Hình 6: Menu mode Menu Task: Dọn dẹp các ứng dụng chạy ngầm gây tốn pin 13 Hình 7: Menu Task 14 Menu Status: Biểu đồ thể hiện % pin tiêu hao theo giờ 15 Hình 8: Menu Status 16 ... dụng Phát triển ứng dụng quản lý pin điện thoại Android (Battery Saver) thực chức sau: • • Hiển thị % pin lại, tính toán thời lượng sử dụng pin lại Hiển thị thông số pin (điện áp, nhiệt độ, dung... thiết bị android Chúng em chọn để tài thiết kế “Phần mềm quản lý pin điện thoại Android , phần để tìm hiểu trình thiết kế ứng dụng thiết bị android ứng dụng kiến thức học môn lập trình Android. .. Development Kit) Công cụ quản lý phần mềm phát triển bao gồm: • • • • • Tools Code samples Documentations Compliers Libraries Hình 3: SDK Manager III Phần mềm quản lý pin điện thoại Android Chức ứng