Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
921,23 KB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ THU HIỀN NGHIÊN CỨU PHÁT TRIỂN PHẦM MỀM NHÚNG CHO CÁC THIẾT BỊ CẦM TAY TRÊN NỀN TẢNG ANDROID LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN HÀ NỘI, 2013 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ THU HIỀN NGHIÊN CỨU PHÁT TRIỂN PHẦM MỀM NHÚNG CHO CÁC THIẾT BỊ CẦM TAY TRÊN NỀN TẢNG ANDROID Ngành: Chuyên ngành: Mã số: Công nghệ thông tin Công nghệ phần mềm 60.48.10 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS LÊ QUANG MINH HÀ NỘI, 2013 MỤC LỤC LỜI CAM ĐOAN Error! Bookmark not defined MỤC LỤC DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT DANH MỤC HÌNH VẼ, ĐỒ THỊ DANH MỤC BẢNG MỞ ĐẦU 1.1.Nghiên cứu khảo sát toán 10 1.2 Phân tích tốn 11 1.3 Hệ điều hành di động 11 1.3.1 Đặc điểm hệ điều hành di động 11 1.3.2 So sánh hệ điều hành Android với hệ điều hành iOS 12 1.3.3 Mã nguồn mở 13 2.1.Tổng quan Android 14 2.1.1 Android gì? 14 2.1.2 Lịch sử phát triển Android 14 2.1.3 Các phiên Android 15 2.2 Kiến trúc hệ điều hành Android 20 2.2.1 Tầng Linux Kernel 21 2.2.2 Tầng Libraries + Android Runtime 21 2.2.3 Tầng Application Framework 23 2.2.4 Tầng Application 24 2.3 Hệ thống tập tin Android 25 2.4 Quá trình khởi tạo Android 26 2.5 Khả hỗ trợ phát triển ứng dụng 28 2.5.1 Yêu cầu phần cứng 28 2.5.2 Android SDK 28 2.5.3 Java Development Kit (JDK) 30 2.5.4 Eclipse IDE 30 2.5.5 Android Emulator 30 CHƯƠNG 3: TÍCH HỢP ANDROID VỚI THIẾT BỊ PHẦN CỨNG 32 3.1 Lựa chọn phần cứng 32 3.1.1 Chuẩn bị lựa chọn phần cứng 32 3.1.2 Lựa chọn thiết bị 36 3.2 Thiết lập môi trường phát triển 39 3.3 Q trình tích hợp Android 40 CHƯƠNG 4: PHÁT TRIỂN PHẦN MỀM TRÊN ANDROID 47 4.1 Cấu trúc ứng dụng 47 4.1.1 Activity 47 4.1.2 Service 49 4.1.3 Content Provider 50 4.1.4 Intent 51 4.1.5 Broadcast Receiver 51 4.1.6 Notification 51 4.2 Xây dựng ứng dụng 51 4.2.1 Mục tiêu ứng dụng 51 4.2.2 Yêu cầu chức 52 4.2.3 Mơ hình Usecase 52 4.2.4 Biểu đồ hệ thống 53 4.2.5 Thiết kế thành phần 54 4.2.4 Tính hỗ trợ tương tác 55 4.3 Kết phát triển thử nghiệm 57 KẾT LUẬN 59 TÀI LIỆU THAM KHẢO 61 MỞ ĐẦU Trong năm gần đây, với phát triển kinh tế tri thức, kèm theo phát triển công nghệ đặc biệt công nghệ số Cùng với đời hệ điều hành mã nguồn mở, công nghệ, chuẩn kết nối, cho phép nhà khoa học tùy ý lựa chọn xây dựng thiết bị cầm tay theo chức khác Trong hệ nhúng hệ điều hành hay sử dụng Embeded Linux, Win CE, DOS, Lynyos, Và đây, hệ thống nhúng phần mềm nhúng kêu gọi phát triển hệ điều hành Android Đứng góc độ nghiên cứu phát triển phần mềm nhúng cho thiết bị cầm tay Android lựa chọn tính tương thích cao, hệ điều hành mở, miễn phí có khả cạnh tranh tốt với hệ điều hành khác không phụ thuộc vào nhà sản xuất phần cứng Với tiềm thị trường tablet với hỗ trợ hệ điều hành Android tạo hội lớn cho nhà sản xuất công nghệ Và với lợi ích xu hướng công nghệ mới, thông qua đề tài “ Nghiên cứu phát triển phần mềm nhúng cho thiết bị cầm tay tảng Android”, hướng tới việc đưa cách tích hợp hệ điều hành Android cho phần cứng nhiều nhà cung cấp thiết bị, việc phát triển ứng dụng hệ điều hành Dựa quy trình phát triển phần mềm nhúng, phạm vi đề tài xin trình bày nội dung sau: - Chương 1: Tổng quan đề tài - Chương 2: Tìm hiểu hệ điều hành Android - Chương 3: Tích hợp Android với thiết bị phần cứng - Chương 4: Phát triển phần mềm Android Sau nội dung trình bày chi tiết Luận văn CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1.1.Nghiên cứu khảo sát tốn Máy tính bảng với ưu điểm tính di động, có kết nối đa dạng, hình cảm ứng, giải trí tiện lợi, phong phú ứng dụng Đặc biệt nhà sản xuất đưa lựa chọn mà coi chiếm ưu cho thị trường sử dụng hệ điều hành Android cho Tuy nhiên máy tính bảng có nhược điểm đa dụng chưa hướng tới đối tượng chuyên gia, học sinh, không phù hợp với đại đa số người học Việt Nam giá thành chúng tương đối cao (khoảng 500USD), việc thiết kế, chọn lựa chức cần thiết cấu hình phù hợp, giá thành thấp để phục vụ cho đối tượng người học đề tài cấp thiết có ý nghĩa khoa học, thực tiễn Dựa vào lợi hệ điều hành Android, mà thông qua đề tài “ Nghiên cứu phát triển phần mềm nhúng cho thiết bị cầm tay tảng Android” Tôi hướng tới việc người dùng cuối làm chủ cơng nghệ tích hợp hệ điều hành Android cho phần cứng nhiều nhà cung cấp thiết bị, việc phát triển phần mềm ứng dụng đáp ứng nhu cầu người sử dụng Sở dĩ, phần mềm nhúng phần mềm nhà sản xuất thiết bị cài sẵn vào sản phẩm chúng sử dụng với đồ điện tử mà khơng cần có cài đặt người thứ ba [19] 1.2 Phân tích tốn Phần mềm ứng dụng nhúng chủ yếu thực dòng điện thoại thơng minh, máy tính bảng, khơng hệ thống điều khiển thay máy tính, mà ứng dụng mang tính chất hỗ trợ giải trí cho người sử dụng Với tính bật cộng với phiên mới, từ phiên 3.0 trở phát triển cho thiết bị cầm tay máy tính bảng phù hợp với xu hướng phát triển phầm mềm qua Internet dịch vụ cung cấp liệu Hiện sản phẩm nhúng đa dạng nhiều công ty tham gia sản xuất chế tạo, chip cung cấp phần lớn dựa vi xử lý ARM Đối với ARM, có đặc điểm tiết kiệm lượng, tiêu tán cơng suất thấp nên coi sản phẩm chiếm ưu sản phẩm điện thoại di động Vì vậy, tồn luận văn này, tơi trình bày nội dung nghiên cứu dựa vi xử lý ARM Do phần mềm nhúng chạy tảng Android, chạy phần cứng thông qua hệ điều hành Do đề tài chủ yếu tập trung vào chế tích hợp hệ điều hành Android với phần cứng đề xuất cách phát triển phần mềm nhúng hệ điều hành Android 1.3 Hệ điều hành di động 1.3.1 Đặc điểm hệ điều hành di động Hệ điều hành “một chương trình chạy máy tính, điều phối hoạt động phần cứng phần mềm máy tính”.Với số đặc điểm đặc thù mà hệ điều hành chạy máy tính thường khơng có như: - Tối ưu nhớ - Tối ưu điện - Tính tương thích cao 1.3.2 So sánh hệ điều hành Android với hệ điều hành iOS Bảng 1.1 So sánh Android với iOS Tính Nhân HĐH Kiến trúc phân tầng Máy ảo Đa nhiệm Android iOS Linux 2.6 iOS Bao gồm tầng Bao gồm tầng - Linux kernel - Core Services - Android Runtime and - Graphics & Media Libraries - Application Framework - Application Framework - User Experience - Applications Có Khơng Có khả chạy đa nhiệm nhiều ứng dụng thời điểm không phân biệt loại ứng dụng Phiên hỗ trợ chạy đa nhiệm hạn chế Chỉ cho phép chạy số loại ứng dụng Xử lý đồ họa âm Sử dụng Media Framework Sử dụng tầng Graphics & Media OpenGL/ES nằm để tập trung tác vụ xử lý tầng Libraries để xử lý 1.3.3 Mã nguồn mở Mã nguồn mở biết tới tên FOSS (Free and Open Source Software) “những phần mềm mà người dùng sửa đổi, cải tiến, phát triển nâng cấp theo số nguyên tắc chung quy định từ trước” Ngoài ưu điểm giá thành sản phẩm mã nguồn mở có nhiều điểm hấp dẫn khác như: -Chất lượng - Bảo mật - Tính tùy biến - Chi phí Trên số điểm hấp dẫn mã nguồn mở đem tới khiến người sử dụng nhà sản xuất khó từ chối sản phẩm mã nguồn mở Và chương luận văn phần trình bày tổng quan hệ điều hành sử dụng mã nguồn mở Android CHƯƠNG 2: TÌM HIỀU HỆ ĐIỀU HÀNH ANDROID Trước tìm hiểu nội dung luận văn cách tích hợp hệ điều hành Android triển khai sản phẩm nhúng nào, chương đưa số mô tả tổng quan hệ điều hành Android, lịch sử phát triển, phiên bản, kiến trúc hệ thống file Android 2.1.Tổng quan Android 2.1.1 Android gì? Android hệ điều hành mã nguồn mở di động kết hợp xây dựng dựa phần nhiều dự án mã nguồn mở khác phát triển Google Open Hadset Alliance [10] Nền tảng Android Java, sử dụng thư viện Java ứng dụng viết mã theo ngôn ngữ lập trình C, C++, Java … 2.1.2 Lịch sử phát triển Android Ban đầu, Android phát triển công ty liên hợp Android sau Google mua lại vào tháng năm 2005 Những thành viên Android chuyển sang làm việc Google gồm có Andy Rubin, Rich Miner, Nick Sears Chris White Tại Google họ bắt đầu phát triển tảng thiết bị di động dựa hạt nhân Linux với hệ thống mềm dẻo, linh động có khả nâng cấp mở rộng cao Các nhà phát triển viết ứng dụng Android dựa ngôn ngữ Java Vào ngày tháng 11 năm 2007 mắt Android gắn với thành lập Open Hadset Alliance bao gồm 78 công ty phần cứng, phần mềm viễn thơng với mục đích phát triển tiêu chuẩn mở cho thiết bị di động [10, 27] Ngày tháng 12 năm 2008, thêm 14 thành viên tham gia vào dự án Android công bố Đến tháng 10 năm 2008, Android bắt đầu lưu hành mã nguồn mở Điểm đặc biệt ứng dụng Android phiên nó, phiên tạo theo thứ tự chữ đặt theo tráng miệng Mỗi phiên có phiên phụ phát hành định kỳ, phiên phụ phát hành theo tháng khác năm Phiên phát hành vào tháng 11 năm 2007 sau có nhiều cập nhật thực từ hệ điều hành gốc nó, lỗi sửa cập nhật bổ sung tính tới phiên trước Và thống kê Google số người sử dụng Android tháng 4/2013 vừa thiết bị chạy Android Jelly Bean chiếm tới 26.1%, thiết bị chạy Android 4.0 Ice Cream Sandwich chiếm 27.5% Android 2.3 Gingerbread 38.4% 2.2 Kiến trúc hệ điều hành Android Hình 2.1 Kiến trúc hệ điều hành Android 2.2.1 Tầng Linux Kernel Android sử dụng nhân Linux 2.6 sửa đổi để xử lý tất chức tảng kết nối mạng, quản lý nhớ tiến trình, bảo mật,… thiết bị phần cứng [3] Tầng Linux Kernel nhân hệ điều hành Android, xử lý hệ thống phải thơng qua Tầng cung cấp thiết bị phần cứng như: Display, Bluetooth, Cemera, USB, WiFi, Power Management, Audio, Keypad, … 2.2.2 Tầng Libraries + Android Runtime 2.2.2.1 Libraries Hệ điều hành Android bao gồm tập thư viện C/C++ sử dụng nhiều thành phần khác hệ thống Android, tính cung cấp cho nhà lập trình thơng qua framework Android Sau số thư viện cốt lõi Android [3] + LibC: thể xây dựng từ BSD (Berkeley Software Distribution) hệ thống thư viện C chuẩn, điều chỉnh để tối ưu hóa cho thiết bị chạy Linux b Core Libraries Các thư viện Java cốt lõi cung cấp cấu trúc liệu phổ biến thuật tốn tìm thấy tiện ích thư viện Chúng bao gồm chức I/O, tiện ích, container, … 2.2.3 Tầng Application Framework Tầng Application Framework cung cấp loạt dịch vụ như: a Activity Manager: Quản lý vòng đời ứng dụng cung cấp công cụ điều khiển Activity Bên hệ thống Activity quản lý Activity stack Khi Activity bắt đầu, đặt đỉnh stack trở thành Activity chạy, Activity trước bên activity không thấy suốt trình activity tồn b Package Manager: dùng để nạp file ứng dụng đuôi apk c Window Manager: quản lý việc xây dựng hiển thị giao diện người dùng, tổ chức quản lý giao diện ứng dụng d Content Manager: Cho phép ứng dụng truy cập liệu từ ứng dụng khác để chia sẻ liệu riêng ứng dụng e Resource: dùng để xử lý tài nguyên media asset, graphic, image, music, video… f View System: Cung cấp đối tượng layout, view, widget cho ứng dụng g Telephony Manager: Cung cấp công cụ để thực liên lạc gọi điện thoại h Location Manager: Cho phép xác định vị trí dựa vào hệ thống định vị toàn cầu GPS Google Maps i Sensor Manager: Quản lý đến cảm biến thiết bị j Notification Manager: Quản lý hiển thị thông báo tin nhắn, có email mới, … 2.2.4 Tầng Application Tầng Appplication môi trường tương tác người dùng thiết bị Android tích hợp sẵn số ứng dụng cần thiết bản, tất ứng dụng chạy hệ điều hành Android viết Java sau biên dịch chuyển thành dex Các ứng dụng mặc định thường gồm: - Home: hình Contacts: ứng dụng danh bạ điện thoại Browser: trình duyệt web Camera: ứng dụng chụp ảnh - Alarm: ứng dụng báo thức Email: ứng dụng thư điện tử Album photo: Ứng dụng sưu tập hình ảnh Ứng dụng SMS/MMS Map: ứng dụng đồ 2.3 Hệ thống tập tin Android Hệ điều hành Android phát triển từ nhân Linux nên hệ thống file Android giống hệ thống file Linux cách tổ chức quyền hạn người sử dụng lên file… Trong hệ điều hành Android, file tổ chức theo mơ hình phân cấp thành thư mục Câu lệnh thao tác file cho phép dịch chuyển chép toàn thư mục với thư mục chứa Nên file thường viết tên đường dẫn chứa [10] Một file có quyền hạn tương ứng với ký tự theo bảng 2.3 sau: Bảng 2.3: Quyền hạn file Quyền chủ sở hữu file (Owner) r/- w/- x/- Quyền nhóm tài khoản sở hữu file (Owner group) r/- w/- x/- Quyền người khơng thuộc nhóm sở hữu file (Other) r/w/x/- 2.4 Quá trình khởi tạo Android Quá trình khởi tạo hệ điều hành Android gồm thành bước khác nhau, việc tối ưu hóa trình khởi tạo hệ thống nhúng Thiết bị Android thực theo bước hình 2.6 sau nhấn khởi động [8] Bước 1: Boot Rom Khi bắt đầu bấm vào nút khởi động thực thi thiết bị Android thực đoạn mã chương trình chứa Rom Chương trình có nhiệm vụ tìm phân vùng Boot Loader tải vào Ram thực mã lệnh Bước 2: Boot Loader BootLoader chương trình nhỏ chạy trước chạy chương trình Android BootLoader chương trình chạy bo mạch vi xử lý Nhà sản xuất thiết bị sử dụng nạp khởi động phổ biến nạp khởi động redboot, uboot, qi họ phát triển nạp khởi động riêng Bước 3: Kernel Tương tự máy tính để bàn sau kernel tải lên RAM, điều khiển kernel thực thi để khởi tạo điều khiển ngắt, điều khiển khởi 10 tạo nhớ, khởi tạo nhớ đệm scheduling (lập kế hoạch) Sau trình điều khiển kernel tìm tiến trình init file hệ thống thực thi Bước 4: Init process Tiến trình Init tiến trình thực thi, nói tiến trình gốc tất tiến trình Tiến trình Init có hai trách nhiệm, gắn kết thư mục /sys, /dev, / proc hai chạy kịch init.rc thực chất đoạn script mô tả dịch vụ hệ thống, file hệ thống … viết theo ngôn ngữ riêng Bước 5: Zygote and Dalvik Trong Java, biết trường hợp máy ảo riêng sử dụng nhớ cho ứng dụng riêng biệt Còn ứng dụng Android ứng dụng cần khởi động nhanh tốt, HĐH Android khởi động theo trường hợp khác máy ảo Dalvik cho ứng dụng Java tiêu thụ nhiều nhớ thời gian Vì thế, để khắc phục vấn đề hệ điều hành Android đưa hệ thống có tên Zygote (hợp tử) Zygote chia sẻ mã máy ảo Dalvik, nhớ thấp thời gian khởi động tối thiểu Zygote tiến trình máy ảo bắt đầu lúc khởi động hệ thống bước 5, sau tải trước khởi tạo lớp thư viện lõi Thông thường lớp thư viện lõi read-only phần tảng cốt lõi Android SDK Bước 6: System Server and Services Sau hoàn thành bước trên, thời gian chạy yêu cầu Zyote khởi động hệ thống máy chủ Các System Server xem tiến trình Hệ thống máy chủ giống có sẵn coi System Service Android SDK Hệ thống máy chủ chứa tất dịch vụ hệ thống 2.5 Khả hỗ trợ phát triển ứng dụng 2.5.1 Yêu cầu phần cứng Với hệ điều hành chạy máy tính, điện thoại thiết bị cầm tay khác cần phải có yêu cầu phần cứng, nhằm thúc đẩy sản phẩm chạy cách có hiệu [28][26] Để tương thích với cấu hình phần cứng laptop máy tính để bàn hay thiết bị cầm tay, Android cần có hệ điều hành hỗ trợ: - Windows XP (32-bit), Vista(32 64 bit), Windows 7( 32 64 bit) - Mac OS X 10.5.8 phiên (chỉ x86) 11 - Linux (đã kiểm tra Ubuntu Linux, Lucid Lynx) 2.5.2 Android SDK Android SDK cung cấp thư viện API công cụ phát triển cần thiết để xây dựng, kiểm tra gỡ lỗi ứng dụng cho Android [26] Có thể chọn tải file nén hợp với hệ điều hành địa http://developer.android.com/sdk/index.html 2.5.3 Java Development Kit (JDK) Android SDK cung cấp công cụ API cần thiết để bắt đầu phát triển ứng dụng Android Platform dùng ngơn ngữ lập trình Java Ta cần chuẩn bị thiết lập môi trường cho Java cách tải gói tin địa http://www.orcale.com/technetwork/java/javase/downloads/ để cài đặt Sau tạo biến mơi trường 2.5.4 Eclipse IDE Sau cài đặt xong Java Development Kit, môi trường để hỗ trợ phát triển Java Tiếp theo ta cài đặt Eclipse IDE cho nhà phát triển Java Để cài đặt cập nhật Eclipse , tải gói thích hợp từ trang web http://www.eclipse.org/downloads/ Một số loại gói Eclipse có sẵn cho lền tảng Hiện với phiên Android Eclipse 3.6.2 phiên mới hỗ trợ 2.5.5 Android Emulator Android Emulator thiết bị giả lập điện thoại di động – thiết bị di động ảo chạy máy tính Giả lập cho phép nhà phát triển thử nghiệm phát triển ứng dụng Android mà không cần sử dụng thiết bị vật lý Để sử dụng Android Emulator trước tiên hệ thống yêu cầu cài đặt môi trường hỗ trợ Java, cài đặt Android SDK, thiết lập môi trường giả lập để kiểm tra ổ đĩa Android máy 12 CHƯƠNG 3: TÍCH HỢP ANDROID VỚI THIẾT BỊ PHẦN CỨNG Khi phát triển sản phẩm nhúng hệ điều hành Android, trước tiên ta phải tích hợp Android với thiết bị phần cứng cụ thể Để tích hợp Android với thiết bị phần cứng đó, cơng việc tích hợp hệ điều hành Android trở lên dễ dàng tiến hành theo bước chuẩn bị phần cứng môi trường làm viêc, thiếp lập cấu hình phần cứng, biên dịch thử nghiệm phần cứng ta thực theo phần cụ thể sau [31]: - Yêu cầu phần cứng - Thiết lập mơi trường phát triển - Bắt đầu thực tích hợp 3.1 Lựa chọn phần cứng 3.1.1 Chuẩn bị lựa chọn phần cứng Trong khuân khổ luận văn lấy trường hợp cụ thể cho việc lựa chọn phần cứng cho thiết bị cầm tay để tích hợp hệ điều hành Android Cụ thể lựa chọn phần cứng cho thiết bị cầm tay VNUpad định hướng phát triển thiết bị Viện Công nghệ thông tin- trường Đại học Quốc Gia Hà Nội Nhờ vào thuận lợi hệ điều hành Android, với nhu cầu sử dụng sở hữu thiết bị cầm tay với chức truy cập kho tri thức nội dung số, hỗ trợ người học ĐHQGHN thuận lợi Mục đích Thiết bị cầm tay truy cập nội dung số VNUpad đưa sử dụng internet nơi người sử dụng dùng với mục đích chung mục đích cá nhân nghe nhạc, xem vi deo, đọc sách, ghi chép, trình chiếu, Dựa tiêu trí đó, người phát triển phải có lựa chọn thiết bị cho phù hợp với chức Với đối tượng người sử dụng giáo viên sinh viên có vài mục tiêu sử dụng bảng 3.1 sau: 13 Bảng 3.1 Mục tiêu sử dụng đối tượng Đối tượng Mục tiêu sử dụng Sinh viên Nghe nhạc Giáo viên Xem video Ghi chép Trình duyệt Đọc sách … Thuyết trình Cơng nghệ Đi nhạc Mp3, Wma, aac, Đuôi avi, mp4, flv, Đuôi apk Đuôi apk Đuôi apk Đuôi apk Phần cứng hỗ trợ RAM, memory, CPU, card Sound, cổng USB, thẻ nhớ, cổng HDMI, Wifi, BlueTooth, Pin 3.1.2 Lựa chọn thiết bị Bản thân đặc điểm Android thiết kế để hỗ trợ loạt tảng cấu hình phần cứng cho thiết bị cầm tay Vậy phần xin đề xuất yêu cầu thiết bị tối thiểu sau [31] 3.1.2.1 Bộ vi xử lý Bộ vi xử lý thiết bị di động cầm tay đóng vai trò não, đảm nhiệm cơng việc xử lý tác vụ thiết bị Trên thị trường có số loại vi xử lý thông dụng Tablet ARM, Intel PDA, VIA, NVIDIA, … Vi xử lý ARM (Acorn RISC Machine) loại cấu trúc vi xử lý 32 bit kiểu RISC (Reduced Instruction Set Computer – máy tính với tập lệnh đơn giản hóa) sử dụng rộng rãi hệ thống nhúng Với ưu điểm tiết kiệm lượng, vi xử lý ARM tìm thấy sản phẩm thiết bị di động cầm tay thiết bị ngoại vi, sản phẩm cần phải tiêu tốn điện thấp Nên với thiết bị VNUpad đưa đề xuất sử dụng vi xử lý ARM 3.1.2.2 Bộ nhớ Trong thiết bị cầm tay hệ điều hành cài đặt ảnh hưởng nhiều đến dung lượng nhớ Tuy nhiên thiết bị cầm tay sử dụng hệ điều hành Android cần sử dụng nhớ thấp hệ điều hành khác Đây tiêu chí quan trọng để lựa chọn dung lượng nhớ cho VNUpad, chọn nhớ khoảng 521MB Song song với nhớ RAM, thiết bị cầm tay thường sử dụng bô nhớ SSD (Solid-state drive) để lưu trữ liệu, chúng có ưu điểm nhỏ gọn truy cập tốc độ nhanh, khả lưu trữ đủ dùng cho ứng dụng Ta chọn lựa từ 16GB, 32GB 64GB 14 3.1.2.3 Màn hình Đa số thiết bị cầm tay trang bị hình LCD cảm ứng với cơng nghệ đa điểm giúp người sử dụng thuận tiện điều khiển, đặc biệt cảm ứng điện dung, có độ nhạy cao, nhiên có nhược điểm chi phí cao Để có chế độ hiển thị tốt độ phân giải hình thơng thường 1024x768, đặc biệt thiết bị VNUpad hay sử dụng trang web cần trang bị Giúp thiết bị hiển thị rõ, độ nhạy cao, thao tác dễ dàng 3.1.2.4 Kết nối mạng Kết nối mạng điều thiếu với thiết bị cầm tay, nên hầu hết chúng hỗ trợ kết nối mạng không dây WiFi Trên thị trường số thiết bị cầm tay đời tốc độ đạt tới 300Mbit/s theo chuẩn 802.11n, ngồi hỗ trợ kết nối 2G 3G mạng di động Với thị trường thế, VUNpad kết nối mạng khơng dây WiFi 802.11 a/b/g với tốc độ 54Mbit/s Hoặc kết nối 2G 900/1800 MHz 3G 2100MHz 3.1.2.5 Kết nối mạng thông dụng chức khác Ngoài yêu cầu xử lý, nhớ, hình VNUpad cần có số kết nối thông dụng chức hỗ trợ sinh viên, giáo viên chép, nghe, xem video, … trình chiếu - USB: cổng kết nối chuẩn USB - HDMI: cổng kết nối chuẩn HDMI cho hình ảnh âm chất lượng cao - Memory card: Khe cắm hỗ trợ thẻ nhớ - SIM card: khe cắm Sim để hỗ trợ mạng 2G, 3G - Headphone: Cổng kết nối tai nghe - Microphone: Cổng kết nối Micro Một số chức - Camera: hỗ trợ quay phim, chụp ảnh - Audio/Video: hỗ trợ tập tin Audio mp3, acc, wav, tập tin video avi, mp4, wmv, flv, … - Speaker: Loa phát âm - GPS: hỗ trợ định vị toàn cầu Các tiện ích: số ứng dụng hỗ trợ - Trình duyệt web, gửi Email, chat - Xử lý tập tin văn Word, Excel, Powerpoint, PDF - Xem video, nghe nhạc, trò chơi, 15 3.1.2.6 Phụ kiện kèm theo Phụ kiện kèm theo với thiết bị cầm tay thường có sạc, tai nghe, dây kết nối USB 3.2 Thiết lập môi trường phát triển Ở phần cung cấp cách cấu hình hệ thống máy chủ để xây dựng Android cho thiết bị di động cầm tay thử nghiệm hệ điều hành Linux, Ubuntu Sau tiến hành cài đặt mà Android yêu cầu: Cài đặt gói hệ thống: - flex: Bộ phân tích từ vựng sử dụng để đọc tập tin đầu vào cho mô tả - bison: Bộ phân tích cú pháp chung - gperf: Đây chương trình hàm băm - libesd0-dev: Chứa tập tin dev sử dụng để pha trộn âm số hóa để phát lại thiết bị - libwxgtk2.6-dev: Đây gói cung cấp thành phần giao diện sở khác nhiều tảng khác - build-essential: Gói chứa danh sách gói xem tảng để xây dựng gói Debian Cài đặt Java: Để phát triển mã nguồn Android với phần cứng Java Developer Kit, ta tải gói jdk giành cho linux-i586 http://java.sun.com/products/archive/ 3.3 Q trình tích hợp Android Cơng việc để Android chạy bo mạch tiến hành theo phần [26] : Kernel: - Hạt nhân Linux làm việc bo mạch - Kiểm tra phiên hạt nhân Android phù hợp với Android muốn sử dụng - Trích xuất vá lỗi cho nhân Android hợp vá lỗi Android với nhân Linux tham chiếu cho bo mạch - Cấu hình hạt nhân hợp để sử dụng Android - Xây dựng hạt nhân sát nhập Không gian người sử dụng – Hệ thống tập tin Android 16 - Thêm mục tiêu xây dựng Android SoC thư mục thiết bị nguồn Android - Xây dựng Android cho SoC - Cấu hình init.rc để phù hợp với khởi động truyền thơng đa phương tiện - Khởi động 17 CHƯƠNG 4: PHÁT TRIỂN PHẦN MỀM TRÊN ANDROID Qua nghiên cứu khả hỗ trợ phát triển phần mềm ứng dụng hệ điều hành Android chương khả tùy chỉnh, tích hợp Android chương Ở chương luận văn tiến hành phát triển phần mềm ứng dụng hỗ trợ người sử dụng tạo Ghi chú, nhằm đánh giá số tính hệ điều hành Android hỗ trợ giao diện tương tác với người dùng, hỗ trợ tương tác trao đổi thành phần 4.1 Cấu trúc ứng dụng Các thành phần ứng dụng khối xây dựng ứng dụng Android Mỗi thành phần điểm khác mà thông qua hệ thống nhập vào ứng dụng bạn Cấu trúc ứng dụng Androi chia thành thành phần bắt buộc phải khai báo AndroidManifest.xml, loại phục vụ mục đích riêng có vòng đời khác định nghĩa thành phần tạo bị phá hủy nào[26] Bao gồm Activity, Service, Content Provider, Broadcast Receiver Và chia thành loại: Activity, Service, Content Provider, Intent, Broadcast Provider, Notification 4.2 Xây dựng ứng dụng 4.2.1 Mục tiêu ứng dụng Theo thống kê chức phần mềm ứng dụng hỗ trợ có sẵn thiết bị cầm tay gồm có: - Chức cài đặt hiển thị hình, âm thanh, ngày giờ, ngôn ngữ Chức nhắn tin, đàm thoại Ứng nghe nhạc Ứng dụng đồ Chức quản lý hình ảnh, camera hỗ trợ Ngồi ra, tính tiện lợi thiết bị sử dụng mang theo lúc nơi, nên sử dụng thay số vật dụng hỗ trợ người sử dụng công việc sách, viết, bút viết,… Cũng như, nhằm hỗ trợ người sử dụng hiểu khả hỗ trợ tương tác thành phần Android, giúp họ phát triển phần mềm ứng dụng chạy tảng Android Chính đưa ý tưởng xây dựng phần mềm ứng dụng tạo Ghi nhanh cho thiết bị cầm tay có sử dụng hệ điều hành Android 18 4.2.2 Yêu cầu chức Trong phạm vi đề tài, phần mềm ứng dụng tạo Ghi có số chức sau: - Màn hình hiển thị Chức tạo ghi Chức xem ghi Chức xóa ghi Chức sửa ghi Chức hủy 4.2.3 Mơ hình Usecase Hình 4.3: Mơ hình usecase 4.2.4 Biểu đồ hệ thống Hình 4.4: Biểu đồ hệ thống 19 4.2.5 Thiết kế thành phần Trên sở mơ tả mơ hình usecase, với chức liệt kê, phần mềm ứng dụng thiết kế có thành phần sau: Thành phần Activity Chức Tên Main MainActivity mainlist mainview Cung cấp giao diện chính ứng dụng Hiển thị chức tạo ghi Hiển thị chức xem, xóa danh sách ghi Hiển thị chức xem chi tiết ghi 4.2.4 Tính hỗ trợ tương tác 4.2.4.1 Tính hỗ trợ tương tác phần mềm NotesEX với thành phần Android - Từ thành phần layout cài đặt, thực gọi vào Activity, cho phép hiển thị xử lý giao diện - Đoạn code mô tả: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final TextView t_title = (TextView) 4.2.4.2 Tính hỗ trợ tương tác phần mềm NotesEX với sở liệu - Khi cài đặt giao diện, thiết lập khởi tạo sở liệu qua SQLlite để tạo mới, thêm, sửa, xóa liệu - Đoạn code mô tả package sql; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; public class CSDL extends SQLiteOpenHelper{ static String tablename="ghichu"; static int version=11; static String createquery="CREATE TABLE `ghichu` ("+"`id` int NULL," + "`tieude` text NULL ," + "`noidung` text NULL ," 20 + "PRIMARY KEY (`id`)" + ")"; static String deletequery = "DROP TABLE IF EXISTS ghichu"; public CSDL(Context context, String name, CursorFactory factory,int version) { super(context, name, factory, version); } public CSDL(Context context) { 4.3 Kết phát triển thử nghiệm Sau thời gian phát triển thử nghiệm ứng dụng tạo ghi thiết bị cầm tay, với khuôn khổ luận văn làm phần mềm NoteEX công đoạn chạy thử phần mềm phát triển, mà chưa làm với thiết bị Bảng 4.1: Kịch kiểm tra chức Kiểm tra kết Chức Tình Yêu cầu kết Xem ghi Truy cập vào ứng dụng Hiển thị danh sách ghi chú, thêm Đúng với yêu chức tạo xóa ghi cầu Khơng có ghi Truy cập vào ứng dụng Khơng có ghi cần xóa Truy cập vào ứng dụng Đúng với yêu cầu Đúng với yêu cầu Đúng với yêu cầu Đúng với yêu cầu Đúng với yêu cầu Đúng với yêu cầu Chưa với yêu cầu Xóa ghi Tạo Cập nhật ghi Hiện thị danh sách trống thêm chức tạo ghi Hiển thị danh sách ghi chú, chọn ghi cần xóa Chọn chức xóa, hiển thị thơng báo danh sách trống Hiển thị danh sách, hiển thị nút tạo Lưu vào sở liệu, Tạo ghi hiển thị thông báo Truy cập vào Hiển thị danh sách ghi chú, chọn ghi ghi cần sửa Cập nhật ghi Sửa lại ghi có sẵn cập nhật vào sở liệu 21 KẾT LUẬN Trong đề tài “Nghiên cứu phát triển phần mềm nhúng cho thiết bị cầm tay tảng Android”, với phạm vi nghiên cứu làm chủ mặt cơng nghệ tích hợp, tùy chỉnh hệ điều hành Android phát triển phần mềm môi trường tích hợp Chính vậy, nội dung đề tài trình bày chương với nội dung chương 1: Tổng quan đề tài, chương 2: Tìm hiểu hệ điều hành Android, chương 3: Tích hợp hệ điều hành Android với thiết bị phần cứng, chương 4: Phát triển phần mềm Android Một số kết luận đề tài: - Với đặc điểm hỗ trợ HĐH Android người sử dụng phát triển đa dạng phần mềm với ngơn ngữ Java - Có thể tùy chỉnh lại hệ điều hành để tích hợp với nhiều loại phần cứng khác thích ứng với ứng dụng - Có thể phát triển ứng dụng chạy hệ điều hành Android đáp ứng với nhu cầu người sử dụng cuối Trên sở kết đạt đề tài, đưa lựa chọn phần cứng cho thiết bị với bước tích hợp hệ điều hành Android Thơng qua bước phát triển phần mềm hệ điều hành Android, xây dựng phần mềm demo Tạo ghi NotesEX với chức thêm, xóa, sửa xem ghi Tuy nhiên có mặt hạn chế chưa khảo sát tích hợp hệ điều hành Android thiết bị phần cứng thực Hướng phát triển đề tài: - Khảo sát tích hợp hệ điều hành Android thiết bị phần cứng thực - Xây dựng phần mềm ứng dụng chạy thiết bị thật, phần mềm mang tính học vụ Trên tồn trình bày luận văn Thạc sĩ chuyên ngành Công nghệ phần mềm tơi, có phần khơng tránh khỏi thiếu xót Tơi mong nhận đóng góp nhiệt tình thầy giáo bạn để luận văn hồn thiện Lời cuối xin chân thành cảm ơn quý thầy cô giảng dạy suốt năm học vừa qua, thầy cô giáo trường Đại học Quốc Gia, Đại học Công nghệ Hà Nội, người mà coi trọng, giúp đỡ nhiệt tình q trình học tập để tơi có thành công ngày hôm Và đặc 22 biệt xin chân thành cảm ơn thầy giáo hướng dẫn TS Lê Quang Minh, Viện Công nghệ thông tin, Đại học Quốc Gia Hà Nội Thầy giảng dạy hướng dẫn tơi nhiệt tình suốt trình làm đồ án, trình học tập làm việc Tôi xin chân thành cảm ơn HỌC VIÊN Nguyễn Thị Thu Hiền 23 ... NGUYỄN THỊ THU HIỀN NGHIÊN CỨU PHÁT TRIỂN PHẦM MỀM NHÚNG CHO CÁC THIẾT BỊ CẦM TAY TRÊN NỀN TẢNG ANDROID Ngành: Chuyên ngành: Mã số: Công nghệ thông tin Công nghệ phần mềm 60.48.10 LUẬN VĂN THẠC SĨ... KẾT LUẬN Trong đề tài Nghiên cứu phát triển phần mềm nhúng cho thiết bị cầm tay tảng Android , với phạm vi nghiên cứu làm chủ mặt công nghệ tích hợp, tùy chỉnh hệ điều hành Android phát triển. .. “ Nghiên cứu phát triển phần mềm nhúng cho thiết bị cầm tay tảng Android Tôi hướng tới việc người dùng cuối làm chủ cơng nghệ tích hợp hệ điều hành Android cho phần cứng nhiều nhà cung cấp thiết