MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN DANH MỤC BẢNG DANH MỤC HÌNH ẢNH LỜI MỞ ĐẦU 1 CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI 2 1.1. Giới thiệu về đề tài 2 1.2. Phạm vi thực hiện 3 1.3. Mục tiêu và nội dung thực hiện 3 1.4. Công cụ hỗ trợ 4 1.5. Kết chương 4 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT 5 2.1. Tổng quan mối quan hệ khách hàng 5 2.1.1. Khái niệm 5 2.1.2. Tại sao phải quản lý khách hàng 6 2.2. Giới thiệu chung về hệ điều hành Android 7 2.2.1. Khái niệm 7 2.2.2. Kiến trúc hệ điều hành Android 9 2.2.3. Lịch sử hệ điều hành Android 12 2.2.4. Các phiên bản hệ điều hành Android 15 2.2.5. Ưu nhược điểm hệ điều hành Android so với hệ điều hành khác 18 2.3. Google Play services 19 2.3.1. Google Maps Android API 19 2.3.2. Locations API 19 2.3.3. GooglePlus Signin 20 2.3.4. Google Cloud MessagingAPI 20 2.3.5. Game Services 20 2.4. Phần mềm Eclipse 21 2.4.1. Eclipse là gì? 21 2.4.2. Kiến trúc Eclipse 22 2.4.3. Ưu và nhược điểm của phần mềm 22 2.5. Kết chương 23 CHƯƠNG 3. PHÂN TÍCH VÀ THIẾT KẾ PHẦN MỀM 24 QUẢN LÝ KHÁCH HÀNG. 24 3.1. Sơ đồ Use case hệ thống 24 3.2. Xây dựng scenario cho hệ thống 26 3.2.1. Scenario chức năng login 26 3.2.2. Scenario Chức năng tìm kiếm khách hàng 27 3.2.3. Scenario chức năng thay đổi thông tin khách hàng 28 3.2.4. Scenario chức năng xóa thông tin khách hàng 29 3.2.5. Scenario thêm thông tin khách hàng mới 30 3.2.6. Scenario tìm kiếm hóa đơn theo khách hàng 30 3.2.1. Scenario thay đổi thông tin hóa đơn khách hàng 31 3.2.1. Scenario đóng hóa đơn 32 3.2.2. Scenario thêm hóa đơn mới 33 3.3. Biểu đồ lớp phân tích 33 3.4. Sơ đồ giao tiếp 34 3.4.1. Sơ đồ giao tiếp chức năng login 35 3.4.2. Sơ đồ giao tiếp chức năng thêm mới khách hàng 35 3.4.3. Sơ đồ giao tiếp chức năng tìm kiếm khách hàng 36 3.4.4. Sơ đồ giao tiếp chức năng xóa khách hàng 36 3.4.5. Sơ đồ giao tiếp chứ năng cập nhật thông tin khách hàng 37 3.4.6. Sơ đồ giao tiếp chức năng tạo mới hóa đơn 37 3.4.7. Sơ đồ quan hệ chức năng tìm kiếm hóa đơn 38 3.4.8. Sơ đồ giao tiếp chức năng hủy hóa đơn 38 3.4.9. Biểu đồ giao tiếp chức năng cập nhật thông tin hóa đơn 39 3.5. Thiết kế cơ sở dữ liệu 39 3.6. Kết chương 40 CHƯƠNG 4. DEMO SẢN PHẨM 41 4.1. Giao diện đăng nhập 41 4.2. Giao diện chức năng hệ thống. 41 4.3. Giao diện chức năng khách hàng 42 4.3.1. Xem danh sách khách hàng 42 4.3.2. Xem thông tin chi tiết của một khách hàng. 43 4.3.3. Chức năng thêm và sửa thông tin khách hàng 44 4.3.4. Giao diện chức năng xóa khách hàng 45 4.4. Giao diện chức năng sản phẩm 46 4.4.1. Chức năng xem danh sách sản phẩm 46 4.4.2. Chức năng xem thông tin chi tiết sản phẩm 47 4.4.3. Giao diện chức năng thêm sửa thông tin sản phẩm. 48 4.4.4. Giao diện chức năng xóa sản phẩm 49 4.5. Giao diện chức năng hóa đơn 49 4.5.1. Xem danh sách hóa đơn trong hệ thống 49 4.5.2. Chức năng tạo mới cập nhật hóa đơn 50 4.5.3. Chức năng xóa hóa đơn 50 4.6. Giao diện chức năng thống kê 51 4.7. Chức năng quản lý tài khoản 52 4.7.1. Danh sách tài khoản 52 4.7.2. Chức năng thêm – sửa tài khoản 53 4.7.3. Chức năng xóa tài khoản 54 4.8. Kết chương 54 KẾT LUẬN VÀ KIẾN NGHỊ 55 1. Kết quả đạt được. 55 2. Những điều chưa đạt được 55 3. Hướng phát triển tương lai 55 DANH MỤC TÀI LIỆU THAM KHẢO 56
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
XÂY DỰNG PHẦN MỀM QUẢN LÝ
KHÁCH HÀNG CHO CỬA HÀNG THỜI TRANG
TRÊN NỀN ANDROID
Trang 2TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
SINH VIÊN: DƯƠNG THỊ THANH HUYỀN
Trang 4Em xin cam đoan đây là công trình nghiên cứu của riêng em và được sựhướng dẫn khoa học của ThS Phí Thị Hải Yến Các nội dung nghiên cứu, kết quảcủa đồ án do em tự học tập, tìm hiểu và xây dựng thông qua các nguồn sách báo,internet có ghi rõ trong phần tài liệu tham khảo.
Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo hay gian trá, em xinchịu hoàn toàn trách nhiệm trước quý thầy cô trong khoa và nhà trường
Hà Nội, ngày 25 tháng 8 năm 2016
NGƯỜI CAM ĐOAN Dương Thị Thanh Huyền
Trang 5Trong suốt quá trình học tập tại Trường Đại Học Tài Nguyên và Môi Trường
Hà Nội, chúng em đã được các thầy cô giảng dạy, giúp đỡ và được truyền đạt nhiềukiến thức vô cùng quý giá Ngoài ra, chúng em còn được rèn luyện bản thân trongmột môi trường học tập đầy sáng tạo và khoa học
Em xin chân thành cảm ơn Ban giám hiệu nhà trường, Ban chủ nhiệm khoa
công nghệ thông tin, cùng toàn thể các thầy cô đã tận tình giảng dạy và trang bị cho
em nhiều kiến thức bổ ích trong suốt quá trình học tập tại trường vừa qua Đây làquãng thời gian vô cùng hữu ích, đã giúp em trưởng thành lên rất nhiều khi chuẩn bị
ra trường Là những hành trang rất quan trọng không thể thiếu trong công việc saunày
Em xin gửi lời cám ơn sâu sắc tới Thạc sỹ Phí Thị Hải Yến đã luôn tận
tình quan tâm, giúp đỡ, theo sát và hướng dẫn em trong suốt quá trình làm đồ án vừaqua Qua thời gian được thầy hướng dẫn, em đã biết cách làm việc khoa học hơn,nâng cao năng lực, bổ sung nhiều kiến thức chuyên ngành phục vụ đồ án tốt
Mặc dù đã có những cố gắng, nhưng do trình độ, kiến thức và kinh nghiệmcòn hạn hẹp nên trong đồ án không tránh khỏi những thiếu sót Vì vậy em rất mongđược sự chỉ bảo, góp ý chân thành của quý thầy, cô giáo và các bạn để đồ án tốtnghiệp được hoàn chỉnh và ứng dụng tốt vào thực tiễn
Em xin chân thành cảm ơn!
Sinh viên thực hiện Dương Thị Thanh Huyền
Trang 6T
Ký hiệu
viết tắt Ý nghĩa tiếng Anh Ý nghĩa tiếng Việt
1 ADT Android Development Tools Bộ công cụ phát triển
Android
Enviroment
Môi trường phát triển tíchhợp
4 JDT Java Development Toolkit Bộ công cụ phát triển Java
Trang 7LỜI CAM ĐOAN
LỜI CẢM ƠN
DANH MỤC BẢNG
DANH MỤC HÌNH ẢNH
LỜI MỞ ĐẦU 1
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 2
1.1 Giới thiệu về đề tài 2
1.2 Phạm vi thực hiện 3
1.3 Mục tiêu và nội dung thực hiện 3
1.4 Công cụ hỗ trợ 4
1.5 Kết chương 4
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 5
2.1 Tổng quan mối quan hệ khách hàng 5
2.1.1 Khái niệm 5
2.1.2 Tại sao phải quản lý khách hàng 6
2.2 Giới thiệu chung về hệ điều hành Android 7
2.2.1 Khái niệm 7
2.2.2 Kiến trúc hệ điều hành Android 9
2.2.3 Lịch sử hệ điều hành Android 12
2.2.4 Các phiên bản hệ điều hành Android 15
2.2.5 Ưu nhược điểm hệ điều hành Android so với hệ điều hành khác 18
2.3 Google Play services 19
2.3.1 Google Maps Android API 19
2.3.2 Locations API 19
2.3.3 GooglePlus Sign-in 20
2.3.4 Google Cloud MessagingAPI 20
2.3.5 Game Services 20
2.4 Phần mềm Eclipse 21
Trang 82.4.2 Kiến trúc Eclipse 22
2.4.3 Ưu và nhược điểm của phần mềm 22
2.5 Kết chương 23
CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ PHẦN MỀM 24
QUẢN LÝ KHÁCH HÀNG 24
3.1 Sơ đồ Use case hệ thống 24
3.2 Xây dựng scenario cho hệ thống 26
3.2.1 Scenario chức năng login 26
3.2.2 Scenario Chức năng tìm kiếm khách hàng 27
3.2.3 Scenario chức năng thay đổi thông tin khách hàng 28
3.2.4 Scenario chức năng xóa thông tin khách hàng 29
3.2.5 Scenario thêm thông tin khách hàng mới 30
3.2.6 Scenario tìm kiếm hóa đơn theo khách hàng 30
3.2.1 Scenario thay đổi thông tin hóa đơn khách hàng 31
3.2.1 Scenario đóng hóa đơn 32
3.2.2 Scenario thêm hóa đơn mới 33
3.3 Biểu đồ lớp phân tích 33
3.4 Sơ đồ giao tiếp 34
3.4.1 Sơ đồ giao tiếp chức năng login 35
3.4.2 Sơ đồ giao tiếp chức năng thêm mới khách hàng 35
3.4.3 Sơ đồ giao tiếp chức năng tìm kiếm khách hàng 36
3.4.4 Sơ đồ giao tiếp chức năng xóa khách hàng 36
3.4.5 Sơ đồ giao tiếp chứ năng cập nhật thông tin khách hàng 37
3.4.6 Sơ đồ giao tiếp chức năng tạo mới hóa đơn 37
3.4.7 Sơ đồ quan hệ chức năng tìm kiếm hóa đơn 38
3.4.8 Sơ đồ giao tiếp chức năng hủy hóa đơn 38
3.4.9 Biểu đồ giao tiếp chức năng cập nhật thông tin hóa đơn 39
3.5 Thiết kế cơ sở dữ liệu 39
Trang 9CHƯƠNG 4 DEMO SẢN PHẨM 41
4.1 Giao diện đăng nhập 41
4.2 Giao diện chức năng hệ thống 41
4.3 Giao diện chức năng khách hàng 42
4.3.1 Xem danh sách khách hàng 42
4.3.2 Xem thông tin chi tiết của một khách hàng 43
4.3.3 Chức năng thêm và sửa thông tin khách hàng 44
4.3.4 Giao diện chức năng xóa khách hàng 45
4.4 Giao diện chức năng sản phẩm 46
4.4.1 Chức năng xem danh sách sản phẩm 46
4.4.2 Chức năng xem thông tin chi tiết sản phẩm 47
4.4.3 Giao diện chức năng thêm - sửa thông tin sản phẩm 48
4.4.4 Giao diện chức năng xóa sản phẩm 49
4.5 Giao diện chức năng hóa đơn 49
4.5.1 Xem danh sách hóa đơn trong hệ thống 49
4.5.2 Chức năng tạo mới - cập nhật hóa đơn 50
4.5.3 Chức năng xóa hóa đơn 50
4.6 Giao diện chức năng thống kê 51
4.7 Chức năng quản lý tài khoản 52
4.7.1 Danh sách tài khoản 52
4.7.2 Chức năng thêm – sửa tài khoản 53
4.7.3 Chức năng xóa tài khoản 54
4.8 Kết chương 54
KẾT LUẬN VÀ KIẾN NGHỊ 55
1 Kết quả đạt được 55
2 Những điều chưa đạt được 55
3 Hướng phát triển tương lai 55
DANH MỤC TÀI LIỆU THAM KHẢO 56
Trang 10Bảng 2 1 Các phiên bản hệ điều hành Android 15
Bảng 2 2 So sánh hệ điều hành Android với hệ điều hành khác 18
Bảng 3 1 Danh sách các Use Case 25
Bảng 3 2 Scenario chức năng login 26
Bảng 3 3 Scenario chức năng tìm kiếm khách hàng 27
Bảng 3 4 Scenario chức năng thay đổi thông tin khách hàng 28
Bảng 3 5 Scenario chức năng xóa thông tin khách hàng 29
Bảng 3 6 Scenario thêm thông tin khách hàng mới 30
Bảng 3 7 Scenario tìm kiếm hóa đơn theo khách hàng 30
Bảng 3 8 Scenario thay đổi thông tin hóa đơn khách hàng 31
Bảng 3 9 Scenario đóng hóa đơn 32
Bảng 3 10 Scenario thêm hóa đơn mới 33
Trang 11Hinh 2 1 Logo hệ điều hành Android 8
Hinh 2 2 Kiến trúc hệ điều hành Android 9
Hinh 2 3 Số lượng Smartphone Android ngày càng nhiều 14
Hinh 2 4 Sơ đồ lịch sử phát triển hệ điều hành android 15
Hinh 2 5 Kiến trúc Eclipse 22
Hình 3 1 Sơ đồ use case hệ thống 24
Hình 3 2 Sơ đồ lớp phân tích 34
Hình 3 3 Sơ đồ giao tiếp chức năng đăng nhập 35
Hình 3 4 Sơ đồ giao tiếp chức năng thêm khách hàng 35
Hình 3 5 Sơ đồ giao tiếp chức năng tìm kiếm khách hàng 36
Hình 3 6 Sơ đồ giao tiếp chức năng xóa khách hàng 36
Hình 3 7 Sơ đồ giao tiếp chức năng cập nhật thông tin khách hàng 37
Hình 3 8 Sơ đồ giao tiếp chức năng tạo mới hóa đơn 37
Hình 3 9 Sơ đồ quan hệ chức năng tìm kiếm hóa đơn 38
Hình 3 10 Sơ đồ giao tiếp chức năng hủy hóa đơn 38
Hình 3 11 Sơ đồ giao tiếp chức năng cập nhật hóa đơn 39
Hình 3 12 Sơ đồ cơ sở dữ liệu hệ thống quản lý khách hàng 39
Hình 4 1 Giao diện chức năng đăng nhập 41
Hình 4 2 Giao diện các chức năng của chương trình 42
Hình 4 3 Giao diện chức năng danh sách khách hàng 43
Hình 4 4 Giao diện xem hông tin chi tiết khách hàng 44
Hình 4 5 Giao diện chức năng xem - sửa thông tin khách hàng 45
Hình 4 6 Giao diện chức năng xóa khách hàng 46
Hình 4 7 Giao diện chức năng xem danh sách sản phẩm 47
Hình 4 8 Giao diện chức năng thông tin sản phẩm 47
Hình 4 9 Giao diện chức năng thêm - sửa thông tin sản phẩm 48
Hình 4 10 Giao diện chức năng xóa sản phẩm 49
Trang 12Hình 4 12 Giao diện chức năng thêm - sửa hóa đơn 50
Hình 4 13 Giao diện chức năng xóa hóa đơn 51
Hình 4 14 Giao diện chức năng thống kê 51
Hình 4 15 Giao diện danh sách tài khoản truy cập hệ thống 52
Hình 4 16 Giao diện chức năng thêm - sửa tài khoản 53
Hình 4 17 Giao diện chức năng xóa tài khoản 54
Trang 13Do nhu cầu trao đổi thông tin ngày càng tăng và nhu cầu sử dụng sản phẩmcông nghệ cao nhiều tính năng, cấu hình cao, chất lượng tốt, kiểu dáng mẫu mà đẹp,phong phú nên nhà cung cấp phải luôn luôn cải thiện, nâng cao những sản phẩm củamình Do đó việc xây dựng các ứng dụng cho điện thoại di động đang là một ngànhcông nghiệp mới đầy tiềm năng và hứa hẹn nhiều sự phát triển vượt bậc của ngànhkhoa học kĩ thuật Cùng với sự phát triển của thị trường điện thoại di động là sựphát triển mạnh mẽ của xu hướng lập trình phần mềm ứng dụng cho các thiết bị diđộng Phần mềm, ứng dụng cho điện thoại di động hiện nay rất đa dạng và phongphú trên các hệ điều hành di động cũng phát triển mạnh mẽ và đang thay đổi từngày Các hệ điều hành J2ME, Windown Phone, Android, IOS, Hybrid, Web basedMobile Application đã có rất phát triển trên thị trường truyền thông di động.
Trước đây, việc quản lý khách hàng mọi lúc, mọi nơi khá là khó khăn nhưnghiện nay với sự phát triển của công nghệ thông tin trên các thiết bị di động giúp chocông việc này được dễ dàng hơn Việc sử dụng thiết bị di động trong việc quản lýkhách hàng là một trong những nhu cầu cần thiết hiện nay, vì vậy em đã lựa chọnxây dựng đồ án tốt nghiệp của mình là “Xây dựng phần mềm quản lý khách hàngtrên hệ điều hành Android”
Trang 14CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI
Nội dung chương 1 giới thiệu chi tiết về đề tài, phạm vi thực hiện cùng mục tiêu và nội dung thực hiện Các công cụ hỗ trợ để thực hiện đề tài cũng sẽ được trình bày.
1.1 Giới thiệu về đề tài
Với cuộc sống ngày càng bận rộn và phát triển ngày nay, để có thể theo kịpđược guồng quay của nhịp sống, con người cần biết được thông tin một cách nhanhchóng, kịp thời, chính xác và chi tiết, đặc biệt là những thông tin liên quan mật thiếtvới đời sống và công việc Đối với nhà kinh doanh, quản lý, việc cập nhật thông tin
về khách hàng, xu hướng hiện tại trở lên vô cùng quan trọng Việc cập nhật quản lýthông tin khách hàng không chỉ ảnh hưởng đến khả năng kinh doanh của công ty,cửa hàng, mà còn ảnh hưởng rất nhiều đến các kế hoạch, dự định đầu tư trong tươnglai, thậm chí quyết định thành công của người quản lý trong lĩnh vực kinh doanh
Ngày xưa, việc quản lý khách hàng thường nhờ vào quản lý sổ sách hoặc trênmáy tính… Mọi công tác tính toán, xem xét, theo dõi hầu như được thực hiện thủcông, dẫn đến có thể xảy ra sai sót không nhỏ gây nên những khó khăn không nhỏđối với công việc kinh doanh của công ty hay cửa hàng
Ngày nay, với sự phát triển của khoa học kỹ thuật, đã có những phương pháp
và công cụ tiên tiến để quản lý khách hàng với độ chính xác cao hơn cũng như sựsai lệch về thời gian xảy ra ít hơn Tuy nhiên, thông thường chúng ta phải có mộtchiếc máy tính cá nhân để quản lý khách hàng Với cuộc sống ngày càng bận rộnnhư ngày nay thì không phải lúc nào chúng ta cũng có thể quản lý, theo dõi cửahàng thông qua máy tính, vì vậy nhu cầu thiết yếu hiện nay là cần có một cách nào
đó để biết được thông tin khách hàng một cách chi tiết, chính xác, kịp thời
Với sự phát triển bùng nổ của công nghệ thông tin trong thời đại ngày nay,mạng internet và các thiết bị di động đã có mặt rộng rãi, phủ sóng rộng khắp trongcuộc sống hàng ngày của chúng ta Chúng trở thành một phần không thể thiếu, giúp
Trang 15ích rất nhiều trong công việc, học tập cũng như các lĩnh vực đời sống khác Chỉ cầnvới một chiếc điện thoại di động được kết nối mạng internet, chúng ta có thể truycập thông tin một cách nhanh chóng và hiệu quả.
Tuy nhiên, việc tận dụng được những khả năng của smartphone và mạnginternet để lấy được thông tin cần thiết, cũng như truy xuất được các tri thức hữuích từ các định dạng dữ liệu mà các API cung cấp thì phải thông qua các phần mềm,ứng dụng mà các lập trình viên cung cấp Bởi lẽ người dùng thông thường không
am hiểu nhiều về công nghệ sẽ gặp khó khăn trong việc tìm kiếm cũng như hiểu rõcác dữ liệu trong kết quả trả về, do đó các phần mềm, ứng dụng với giao diện thânthiện và dễ sử dụng với người dùng sẽ là sự lựa chọn tốt nhất và tiện lợi nhất
Nhận thấy những điều trên, em có ý tưởng kết hợp các công nghệ này lại vớinhau để tạo ra một ứng dụng phù hợp với nhu cầu quản lý thông tin khách hàng mộtcách chi tiết, nhanh chóng và tiện lợi, đó là phần mềm được phát triển trên hệ điềuhành Android với tên gọi là “Quản lý khách hang cho cửa hàng thời trang trên nềnAndroid”
1.2 Phạm vi thực hiện
Đề tài nghiên cứu, tìm hiểu về mối quan hệ khách hàng, qua đó phân tíchthiết kế xây dựng phần mềm trên hệ điều hành Android giúp người dùng xem đượcchi tiết thông tin, quản lý được khách hàng của cửa hàng…, đồng thời ta còn có thểbiết được thông tin mua sắm của khách hàng cũng như sản phẩm, xu hướng hiệnnay của xã hội qua đó điều chỉnh kế hoạch kinh doanh
1.3 Mục tiêu và nội dung thực hiện
Mục tiêu: Nghiên cứu, phân tích thiết kế xây dựng phần mềm quản lý kháchhàng trên thiết bị di động android
Nội dung:
Tìm hiểu mối quan hệ khách hàng
Tìm hiểu phần mềm Eclipse, về hệ điều hành Android và lập trình trênAndroid
Trang 16 Tìm hiểu, phân tích thiết kết phần mềm quản lý khách bao gồm các chứcnăng:
- Chỉ cho phép người dùng có tài khoản và mật khẩu mới có khả năng truycập vào được chương trình
- Cho phép người quản trị có thể thêm, sửa, xóa, xem thông tin của kháchhàng
- Cho phép người quản trị xem đơn hàng, lịch sử mua bán, thay đổi cập nhậtđơn hàng hoặc hủy đơn hàng
- Cho phép người quản trị tạo thống kê, tạo báo cáo về những sản phẩm bánchạy, xu hướng mua sắm của khách hàng
1.4 Công cụ hỗ trợ
JDK 1.7
Eclipse ADT v22.6.2 + Android SDK v22.6.2
Công cụ vẽ biểu đồ UML: Visual Paradigm
Thiết bị chạy
1.5 Kết chương
Chương 1 đã trình bày một cách chi tiết về đề tài, qua đó đã đem đến cái nhìn
rõ ràng về lí do chọn đề tài, phạm vi thực hiện, mục tiêu cần đạt và nội dung thựchiện Chương tiếp theo sẽ mô tả rõ ràng hơn về các công nghệ được sử dụng trongquá trình thực hiện đồ án và cách thức hoạt động của các công nghệ đó
Trang 17CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
Chương 2 tập trung vào trình bày chi tiết về hệ điều hành Android, Google Play services, phần mềm Eclipse cũng như tìm hiểu về quản lý mối quan hệ khách hàng Thành phần, kiến trúc cũng như những chức năng các thành phần của mỗi công nghệ sẽ được giới thiệu một cách rõ ràng, đồng thời cũng có sự so sánh, chỉ
rõ ưu nhược điểm của các công nghệ này so với các công nghệ khác.
2.1 Tổng quan mối quan hệ khách hàng
2.1.1 Khái niệm
Quản lý quan hệ khách hàng hay CRM (tiếng Anh: Customer relationshipmanagement) là một phương pháp giúp các doanh nghiệp tiếp cận và giao tiếp vớikhách hàng một cách có hệ thống và hiệu quả, quản lý các thông tin của khách hàngnhư thông tin về tài khoản, nhu cầu, liên lạc và các vấn đề khác nhằm phục vụkhách hàng tốt hơn Các mục tiêu tổng thể là tìm kiếm, thu hút, giành niềm tinkhách hàng mới, duy trì những đối tác đã có, lôi kéo khách hàng cũ trở lại, giảm chiphí tiếp thị và mở rộng dịch vụ khách hàng Việc đo lường và đánh giá mối quan hệvới khách hàng là rất quan trọng trong mục tiêu thực hiện chiến lược
Thông qua hệ thống quan hệ khách hàng, các thông tin của khách hàng sẽđược cập nhật và được lưu trữ trong hệ thống quản lý cơ sở dữ liệu Nhờ một công
cụ dò tìm dữ liệu đặc biệt, doanh nghiệp có thể phân tích, hình thành danh sáchkhách hàng tiềm năng và lâu năm để đề ra những chiến lược chăm sóc khách hànghợp lý Ngoài ra, doanh nghiệp còn có thể xử lý các vấn đề vướng mắc của kháchhàng một cách nhanh chóng và hiệu quả
Quản lý quan hệ khách hàng cung cấp một hệ thống đáng tin cậy, giúp quản
lý khách hàng và nhân viên, cải thiện mối quan hệ giữa nhân viên với khách hàng.Một chính sách quan hệ khách hàng hợp lý còn bao gồm chiến lược đào tạo nhânviên, điều chỉnh phương pháp kinh doanh và áp dụng một hệ thống công nghệ thôngtin phù hợp Quan hệ khách hàng không đơn thuần là một phần mềm hay một công
Trang 18nghệ mà còn là một chiến lược kinh doanh bao gồm cả chiến lược tiếp thị, đào tạo
và các dịch vụ mà doanh nghiệp cung ứng tới khách hàng Doanh nghiệp có thể lựachọn một giải pháp quan hệ khách hàng hợp lý dựa trên tiêu chí đặt khách hàng ở vịtrí trung tâm, quan tâm tới nhu cầu của khách hàng nhằm đạt được mục đích là duytrì mối quan hệ tốt với khách hàng và đạt được lợi nhuận tối đa trong kinh doanh
Tóm lại, CRM là tập hợp các công tác quản lý, chăm sóc và xây dựng mốiquan hệ giữa các khách hàng và doanh nghiệp Một ứng dụng quản lý khách hàngphải nắm được kiến thức về quản lý khách hàng
2.1.2 Tại sao phải quản lý khách hàng
Quản lý quan hệ đối tác là một lĩnh vực quản lý liên quan đến việc hiểu rõvai trò, quan điểm, mức độ ảnh hưởng và nhu cầu của các đối tác để có phươngpháp quản lý mối quan hệ và phương pháp giao tiếp cho phù hợp Tùy theo từng đốitác mà các lợi ích, quan tâm của họ đối với một doanh nghiệp có khác nhau
Theo quan điểm truyền thống, các đối tác quan trọng đối với doanh nghiệpdường như chỉ tập trung vào khách hàng (người mang tiền đến), nhà cung cấp(nguồn cung cấpcho doanh nghiệp), nhân viên (cung cấp sức lao động) Việc quản
lý các đối tác nàybám sát quy trình hoạt động của doanh nghiệp, chẳng hạn từ khâumua hàng đến sản xuất rồi bán hàng
Trong khi đó quan điểm hiện đại lại cho rằng đối tác là người hoặc nhữngnhóm người có ảnh hưởng đáng kể đến sự sống còn và phát triển của doanhnghiệp.Với sự ra đời của công nghệ mới, trải nghiệm mua sắm của người tiêu dùng
đã được cải thiện rõ rệt với việc xóa bỏ sự chênh lệch thông tin về sản phẩm vànhãn hàng Khách hàng ngày nay ít trung thành đối với một nhãn hiệu Họ chuyển
từ nhãn hiệu này sang nhãn hiệu khác để có giá, sản phẩm và dịch vụ tốt nhất Tuynhiên, các chương trình quản lý khách hàng đã cho thấy đến 75% trên tổng doanh
số bán hàng là từ 30% khách hàng thân thiết nhất (Imlay, 2006) Do đó, chươngtrình quản lý khách hàng hiệu quả sẽ giúp các nhà bán lẻ có ưu thế trong thị trườngđầy tính cạnh tranh với những lợi ích như sau:
Trang 19 Nhận diện những khách hàng tốt nhất:Với dữ liệu được truy xuất từ chươngtrình quản lý khách hàng, các nhà bán lẻ có thể xác định được những khách hàng cónhiều tiềm năng hơn - có thái độ lẫn hành vi tiêu dùng trung thành, và ưu đãi cho họcác lợi ích tài chính cũng như phi tài chính.
Tăng cường việc giữ khách hàng và tìm kiếm khách hàng mới thông quatiếp thị truyền miệng Quản lý khách hàng mang lại cho các nhà bán lẻ khả năngtiếp cận khách hàng và giới thiệu những ưu đãi hoặc sản phẩm thích hợp với nhucầu của người tiêu dùng ngay khi họ đặt chân vào cửa hàng bằng cách truy cập dữliệu của khách hàng như kích thước, màu yêu thích, và các nhãn hàng ưu chuộng
Tăng cường bán chéo sản phẩm và tăng doanh số Chương trình quản lýkhách hàng cho phép các nhà bán lẻ lấy được nhiều thông tin về khách hàng từ đó
họ có thể gợi ý các sản phẩm liên quan trong một giao dịch trọn gói và bán đượcnhiều sản phẩm hơn
Nắm bắt xu hướng thị trường Với dữ liệu từ chương trình, các nhà bán lẻ
có thể đánh giá xu hướng và đưa ra những quyết định tốt hơn
2.2 Giới thiệu chung về hệ điều hành Android
2.2.1 Khái niệm
Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành chocác thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tínhbảng Ban đầu, Android được phát triển bở``i Tổng công ty Android, với sự hỗ trợtài chính từ Google và sau này được chính Google mua lại vào năm 2005 Android
ra mắt vào năm 2007 cùng với tuyên bố thành lập Liên minh thiết bị cầm tay mở:một hiệp hội gồm các công ty phần cứng, phần mềm và viễn thông với mục tiêu đẩymạnh các tiêu chuẩn mở cho các thiết bị di động Chiếc điện thoại đầu tiên chạyAndroid được bán vào tháng 10 năm 2008
Android có mã nguồn mở và Google phát hành mã nguồn theo Giấy phépApache Chính mã nguồn mở cùng với một giấy phép không có nhiều ràng buộc đãcho phép các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyếtđược điều chỉnh và phân phối Android một cách tự do Ngoài ra, Android còn có
Trang 20một cộng đồng lập trình viên đông đảo chuyên viết các ứng dụng để mở rộng chứcnăng của thiết bị, bằng một loại ngôn ngữ lập trình Java có sửa đổi Vào tháng 10năm 2012, có khoảng 700.000 ứng dụng trên Android và số lượt tải ứng dụng từGoogle Play, cửa hàng ứng dụng chính của Android, ước tính khoảng 25 tỷ lượt.
Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thông minhphổ biến nhất thế giới, vượt qua Symbian vào quý 4 năm 2010 và được các công tycông nghệ lựa chọn khi họ cần một hệ điều hành không nặng nề, có khả năng tinhchỉnh và giá rẻ chạy trên các thiết bị công nghệ cao thay vì tạo dựng từ đầu Kết quả
là mặc dù được thiết kế để chạy trên điện thoại và máy tính bảng, Android đã xuấthiện trên TV, máy chơi game và các thiết bị điện tử khác Bản chất mở của Androidcũng khích lệ một đội ngũ đông đảo lập trình viên và những người đam mê sử dụng
mã nguồn mở để tạo ra những dự án do cộng đồng quản lý Những dự án này bổsung các tính năng cao cấp cho những người dùng thích tìm tòi hoặc đưa Androidvào các thiết bị ban đầu chạy hệ điều hành khác
Android chiếm 75% thị phần điện thoại thông minh trên toàn thế giới vàothời điểm quý 3 năm 2012, với tổng cộng 500 triệu thiết bị đã được kích hoạt và 1,3triệu lượt kích hoạt mỗi ngày [1]
Hinh 2 1 Logo hệ điều hành Android
Hệ điều hành Android là một hệ điều hành rất mạnh, có bảo mật cao, hỗ trợđược nhiều công nghệ tiên tiến như 3G, GPS, EDGE, Wifi… tương thích với nhiềuphần cứng, hỗ trợ nhiều loại bộ nhập dữ liệu như keyboard, touch và trackball.Android là hệ điều hành di động nên có khả năng kết nối cao với các mạng không
Trang 21dây, hỗ trợ công nghệ OpenGL nên có khả năng chơi các phương tiện media, hoạthình cũng như trình diễn các khả năng đồ họa khác cực tốt, là tiền đề để phát triểncác ứng dụng có giao diện phức tạp chẳng hạn như là các trò chơi
Android liên tục được phát triển, mỗi bản cập nhật từ Google là mỗi lầnAndroid được tối ưu hóa để hoạt động tốt, nhanh, ổn định hơn, hỗ trợ thêm côngnghệ mới [2]
2.2.2 Kiến trúc hệ điều hành Android
Hệ điều hành Android có 4 tầng từ dưới lên trên là tầng hạt nhân Linux(Phiên bản 2.6), tầng Libraries & Android Runtime, tầng Application Framework vàtrên cùng là tầng Applications
Hinh 2 2 Kiến trúc hệ điều hành Android
Tầng hạt nhân Linux (Linux Kernel layer): Hệ điều hành Android được
phát triển dựa trên hạt nhân Linux, cụ thể là hạt nhân Linux phiên bản 2.6, điều đóđược thể hiện ở lớp dưới cùng này Tất cả mọi hoạt động của điện thoại muốn thihành được thì đều được thực hiện ở mức cấp thấp ở lớp này bao gồm quản lý bộnhớ (memory management), giao tiếp với phần cứng (driver model), thực hiện bảomật (security), quản lý tiến trình (process) Tuy được phát triển dựa vào nhân Linuxnhưng thực ra nhân Linux đã được nâng cấp và sửa đổi rất nhiều để phù hợp vớitính chất của những thiết bị cầm tay như hạn chế về bộ vi xử lý, dung lượng bộ nhớ,
Trang 22kích thước màn hình, nhu cần kết nối mạng không dây Tầng này có các thànhphần chủ yếu:
Display Driver: Điều khiển việc hiển thị lên màn hình cũng như thu nhận
tín hiệu của người dùng trên màn hình (di chuyển, cảm ứng )
Camera Driver: Điều kiển hoạt động của camera.
Bluetooth Driver: Điều khiển thiết bị phát và thu sóng Bluetooth.
USB Driver: Quản lý hoạt động của các cổng giao tiếp USB.
Keypad Driver: Điều khiển bàn phím.
Wifi Driver: Chịu trách nhiệm về việc thu phát sóng wifi.
Audio Drivers: Điều khiển các bộ thu phát âm thanh, giải mã các tính hiệu
dạng audio thành tín hiệu số và ngược lại
Binder (IPC) Driver: Chịu trách nhiệm về việc kết nối và liên lạc với
mạng vô tuyến như CDMA, GSM, 3G, 4G
Power Management: Giám sát việc tiêu thụ điện năng.
Tầng Libraries và Android Runtime
Phần Libraries: chứa thư viện được viết bằng C/C++ để các phần mềm có
thể sử dụng, các thư viện đó được chia thành một số nhóm như:
Thư viện hệ thống (System C library): Thư viện dựa trên chuẩn C, được
sử dụng chỉ bởi hệ điều hành
Thư viện Media (Media Libraries): Có nhiều codec để hỗ trợ việc phát
và ghi các loại định dạng âm thanh, hình ảnh, video thông dụng
Thư viện web (LibWebCore): Đây là thành phần để xem nội dung trên
web, được sử dụng để xây dựng phần mềm duyệt web (Android Browser) cũng như
để các ứng dụng khác có thể nhúng vào Nó cực kỳ mạnh, hỗ trợ được nhiều côngnghệ mạnh mẽ như HTML5, JavaScript, CSS, DOM, AJAX…
Thư viện SQLite: Hệ cơ sở dữ liệu để các ứng dụng sử dụng.
Phần Android Runtime: Phần này chứa các thư viện mà một chương trình
viết bằng ngôn ngữ Java có thể hoạt động Phần này có 2 bộ phận tương tự như môhình chạy Java trên máy tính thường Thứ nhất là các thư viện lõi (Core Libraries),
Trang 23chứa các lớp như JAVA IO, Collections, File Access Thứ hai là một máy ảo java(Dalvik Virtual Machine) Mặc dù cũng được viết từ ngôn ngữ Java nhưng một ứngdụng Java của hệ điều hành Android không được chạy bằng JRE của Sun (nay làOracle) (JVM) mà là chạy bằng máy ảo Dalvik do Google phát triển.
Tầng Application Framework: Tầng này xây dựng bộ công cụ - các phần
tử ở mức cao để các lập trình viên có thể nhanh chóng xây dựng ứng dụng Nó đượcviết bằng Java, có khả năng sử dụng chung để tiết kiệm tài nguyên Giới thiệu một
số thành phần của tầng này:
Activity Manager: Quản lý các chu kỳ sống của một ứng dụng cũng như
cung cấp công cụ điều khiển các Activity
Telephony Manager: Cung cấp công cụ để thực hiện việc liên lạc như gọi
điện thoại
Location Manager: Cho phép xác định vị trí của điện thoại thoại dựa vào
hệ thống định vị toàn cầu GPS và Google Maps
Window Manager: Quản lý việc xây dựng và hiển thị các giao diện người
dùng cũng như tổ chức quản lý các giao diện giữa các ứng dụng
Notification Manager: Quản lý việc hiển thị các thông báo (như báo có tin
nhắn, có e-mail mới…)
Resource Manager: Quản lý tài nguyên tĩnh của các ứng dụng bao gồm
các file hình ảnh, âm thanh, layout, string…(những thành phần không được viết bởingôn ngữ lập trình)
Package Manager: Cài đặt hoặc xóa các ứng dụng.
Content Provider: Cho phép ứng dụng phát hành và chia sẻ dữ liệu với
ứng dụng khác
View System: Một tập hợp mở rộng giúp tạo giao diện người dùng.
Tầng Applications: Đây là lớp ứng dụng giao tiếp với người dùng, bao gồm
các ứng dụng như:
Các ứng dụng cơ bản, được cài đặt đi liền với hệ điều hành là gọi điện(Phone), quản lý danh bạ (Contacts), duyệt web (Browser), nhắn tin (SMS), lịch làm
Trang 24việc (Calendar), đọc e-mail (Email-Client), bản đồ (Map), quay phim chụp ảnh(Camera)
Các ứng dụng được cài thêm như các phần mềm chứng khoán (Stock), cáctrò chơi (Game), từ điển
Các chương trình có các đặc điểm là:
Viết bằng Java, phần mở rộng là apk
Khi mỗi ứng dụng được chạy, nó có một phiên bản Virtual Machine đượcdựng lên để phục vụ cho nó Nó có thể là một Active Program: Chương trình cógiao diện với người sử dụng hoặc là một background: Chương trình chạy nền hay làdịch vụ
Android là hệ điều hành đa nhiệm, điều đó có nghĩa là trong cùng một thờiđiểm, có thể có nhiều chương trình cùng chạy một lúc, tuy nhiên, với mỗi ứng dụngthì có duy nhất một thực thể được phép chạy mà thôi Điều đó có tác dụng hạn chế
sự lạm dụng tài nguyên, giúp hệ thống hoạt động tốt hơn
Các ứng dụng được gán số ID của người sử dụng nhằm phân định quyềnhạn khi sử dụng tài nguyên, cấu hình phần cứng và hệ thống
Android là một hệ điều hành có tính mở, khác với nhiều hệ điều hành diđộng khác, Android cho phép một ứng dụng của bên thứ ba được phép chạy nền.Các ứng dụng đó chỉ có một hạn chế nhỏ đó là nó không được phép sử dụng quá5~10% công suất CPU, điều đó nhằm để tránh độc quyền trong việc sử dụng CPU
Ứng dụng không có điểm vào cố định, không có phương thức main để bắt đầu[3]
2.2.3 Lịch sử hệ điều hành Android
Tổng công ty Android (Android, Inc.) được thành lập tại Palo Alto,California vào tháng 10 năm 2003 bởi Andy Rubin (đồng sáng lập công ty Danger),Rich Miner (đồng sáng lập Tổng công ty Viễn thông Wildfire), Nick Sears (từng làPhó giám đốc T-Mobile) và Chris White (trưởng thiết kế và giao diện tại WebTV)
để phát triển, theo lời của Rubin, "các thiết bị di động thông minh hơn có thể biết
Trang 25được vị trí và sở thích của người dùng" Dù những người thành lập và nhân viên đều
là những người có tiếng tăm, Tổng công ty Android hoạt động một cách âm thầm,chỉ tiết lộ rằng họ đang làm phần mềm dành cho điện thoại di động Trong năm đó,Rubin hết kinh phí Steve Perlman, một người bạn thân của Rubin, mang cho ông10.000 USD tiền mặt nhưng từ chối tham gia vào công ty
Google mua lại Tổng công ty Android vào ngày 17 tháng 8 năm 2005, biến
nó thành một bộ phận trực thuộc Google Những nhân viên của chủ chốt của Tổngcông ty Android, gồm Rubin, Miner và White, vẫn tiếp tục ở lại công ty làm việcsau thương vụ này Vào thời điểm đó không có nhiều thông tin về Tổng công ty,nhưng nhiều người đồn đoán rằng Google dự tính tham gia thị trường điện thoại diđộng sau bước đi này Tại Google, nhóm do Rubin đứng đầu đã phát triển một nềntảng thiết bị di động phát triển trên nền nhân Linux Google quảng bá nền tảng nàycho các nhà sản xuất điện thoại và các nhà mạng với lời hứa sẽ cung cấp một hệthống uyển chuyển và có khả năng nâng cấp Google đã liên hệ với hàng loạt hãngphần cứng cũng như đối tác phần mềm, bắn tin cho các nhà mạng rằng họ sẵn sànghợp tác với các cấp độ khác nhau
Ngày càng nhiều suy đoán rằng Google sẽ tham gia thị trường điện thoại diđộng xuất hiện trong tháng 12 năm 2006 Tin tức của BBC và Nhật báo phố Wallchú thích rằng Google muốn đưa công nghệ tìm kiếm và các ứng dụng của họ vàođiện thoại di động và họ đang nỗ lực làm việc để thực hiện điều này Các phươngtiện truyền thông truyền thống lẫn online cũng viết về tin đồn rằng Google đangphát triển một thiết bị cầm tay mang thương hiệu Google Một vài tờ báo còn nóirằng trong khi Google vẫn đang thực hiện những bản mô tả kỹ thuật chi tiết, họ đãtrình diễn sản phẩm mẫu cho các nhà sản xuất điện thoại di động và nhà mạng.Tháng 9 năm 2007, Information Week đăng tải một nghiên cứu của Evalueservecho biết Google đã nộp một số đơn xin cấp bằng sáng chế trong lĩnh vực điện thoại
di động
Ngày 5 tháng 11 năm 2007, Liên minh thiết bị cầm tay mở (Open HandsetAlliance), một hiệp hội bao gồm nhiều công ty trong đó có Texas Instruments, Tập
Trang 26đoàn Broadcom, Google, HTC, Intel, LG, Tập đoàn Marvell Technology, Motorola,Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel và T-Mobile được thànhlập với mục đích phát triển các tiêu chuẩn mở cho thiết bị di động Cùng ngày,Android cũng được ra mắt với vai trò là sản phẩm đầu tiên của Liên minh, một nềntảng thiết bị di động được xây dựng trên nhân Linux phiên bản 2.6 Chiếc điện thoạichạy Android đầu tiên được bán ra là HTC Dream, phát hành ngày 22 tháng 10 năm
2008 Biểu trưng của hệ điều hành Android mới là một con rô bốt màu xanh lá cây
do hãng thiết kế Irina Blok tại California vẽ
Từ năm 2008, Android đã trải qua nhiều lần cập nhật để dần dần cải tiến hệđiều hành, bổ sung các tính năng mới và sửa các lỗi trong những lần phát hànhtrước Mỗi bản nâng cấp được đặt tên lần lượt theo thứ tự bảng chữ cái, theo tên củamột món ăn tráng miệng, ví dụ như phiên bản 1.5 Cupcake tiếp nối bằng phiên bản1.6 Donut [4]
Hinh 2 3 Số lượng Smartphone Android ngày càng nhiều
Đến năm 2010, số lượng smartphone nền tảng Android tăng trưởng mạnh
mẽ Hàng loạt nhà sản xuất hàng đầu đã bắt tay sản xuất smartphone như Samsung,HTC, Motorola Thậm chí, Android còn được coi là “cứu cánh” cho nhiều đại giacông nghệ bước sang một trang mới trong việc cải thiện doanh số, bán hàng có lãisau một thời gian dài trì trệ, tiêu biểu là Motorola
Trang 27Hinh 2 4 Sơ đồ lịch sử phát triển hệ điều hành android
2.2.4 Các phiên bản hệ điều hành Android
Từ lúc ra mắt phiên bản đầu tiên cho tới nay, Android đã có rất nhiều bảnnâng cấp Đa số đều tập trung vào việc vá lỗi và thêm những tính năng mới
Android những thế hệ đầu tiên 1.0 (9/2008) và 1.1 (2/2009) chưa có tên gọichính thức Từ thế hệ tiếp theo, mỗi bản nâng cấp đều được đặt với những mã tênriêng dựa theo các món ăn hấp dẫn theo thứ tự bảng chữ cái từ “C-D-E-F-G-H-I”[5] Hiện tại các phiên bản chính của Android bao gồm:
Bảng 2 1 Các phiên bản hệ điều hành Android
1.5
Cupcake
-Bàn phím ảo-Mở rộng khả năng cho widget-Cải tiến clipboard
-Quay phim
1.6
Donut
-Hỗ trợ cho mạng CDMA-Tính năng Quick Search Box-Android Market
-Hỗ trợ các thành phần đồ họa-độc lập với độ phân giải
Trang 28Gingerbread
-Thanh chặn khi chọn văn bản-Bàn phím được cải tiến-Công cụ quản lý pin, ứng dụng-Hỗ trợ máy ảnh trước
-Thanh Action Bar4.0.x
IceCream
Sandwich
-Sử dụng bộ font Roboto-Hệ thống thông báo tiện dụng-Bàn phím tự động sửa lỗi cao hơn
Trang 29-Mở khóa màn hình bằng khuôn mặt-Android Beam
-Hợp nhất hệ điều hành dành cho smartphone vàcho máy tính bảng
-Google Now4.4
KitKat
-Chế độ toàn màn hình-Hiệu ứng chuyển cảnh màn hình-Giao diện mới
-Yêu cầu cấu hình thấp hơn-Thời lượng pin tăng
-Bảo mật tốt hơn5.0
Lollipop
-Android trên mọi màn hình-Thiết kế báo nhắc hoàn toàn mới-Cải thiện thời lượng pin
-Mở khóa dựa trên bối cảnh-Tìm kiếm bối cảnh cải tiến
Trang 302.2.5 Ưu nhược điểm hệ điều hành Android so với hệ điều hành khác
Bảng 2 2 So sánh hệ điều hành Android với hệ điều hành khác
Android Google Android là nền tảng mở, cho phép người
dùng có thể truy biến nền tảng này theo ý thích,
hơn nữa lại có một liên minh thiết bị cầm tay mở
hậu thuẫn, Google Android đang là một đối thủ
với Iphone của hãng Apple Google đang tích cực
mở rộng cộng đồng phát triển các ứng dụng cho
android Bộ phát triển công cụ phần mềm SDK
đầy đủ, hỗ trợ đa nền tảng(Linux,Window hay
Mac OS) do chạy trên máy ảo Java Thư viện
ngày càng hoàn thiện, dễ dàng cho người sử dụng
Có hỗ trợ cảm ứng
đa điểm nhưng chứcnăng này bị tắt vì viphạm bản quyền vớiiOS, giao diệnkhông bắt mắt,khảnăng hỗ trợ bộ nhớkém hơn iOS,khôngđồng bộ được vớimáy tính
Windo
w
Mobile
Có thư viện API khá giống thư viện API trên
Win32, các công cụ hỗ trợ lập trình đầy đủ với
Visual Studio, điều này làm cho những người phát
triển trên Win32 không mất công tìm hiểu lại các
API và các công cụ lập trình
Gặp trở ngại vớiAndroid và iOS dohai hệ điều hành nàycàng hoàn thiện vàđược người sử dụng
ưa chuộngiOS - Màn cảm ứng đa điểm: iOS sử dụng hoàn toàn
bằng cảm ứng và không sử dụng các nút Với iOS
ta có thể điều khiển màn hình kể cả việc trượt của
các ngón tay Ta có thể phóng to hình bằng việc
trượt hai ngón ta ra xa và thu nhỏ hình ảnh bằng
cách ngược lại
- Bộ cảm biến gia tốc: những phản ứng nhanh
chóng của bộ cảm biến gia tốc thay đổi độ phân
giải màn hình từ dọc sang ngang khi ta thay đổi
đặt ngang điện thoại.Điều này làm sinh động thêm
cho các trò chơi Âm thanh, hình ảnh tốt
Không gửi được tinnhắn đa phươngtiện(MMS) và IM(Instant Messaging),thiếu bộ nhớ mởrộng.Việc lập trìnhiOS phải thực hiệntrên hệ điều hànhMac
2.3 Google Play services
Trang 31Google Play Services là một bộ giao diện lập trình ứng dụng (API) mà cáclập trình viên sử dụng để phát triển những phần mềm hay nhất cho Android Bạn cóthể nghĩ rằng những hàm lập trình API không giúp gì nhiều cho người dùng bìnhthường nhưng với lập trình viên, chúng mang lại một nền móng mà dựa trên đó họ
có thể viết những ứng dụng mới và bổ sung những tính năng mới cho các ứng dụnghiện có Những tính năng này có thể khiến ứng dụng làm được nhiều thứ hơn, chophép lập trình viên đưa ứng dụng lên Google Play nhanh hơn,người dùng cũng cóđược trải nghiệm tốt hơn [6]
2.3.1 Google Maps Android API
Đối với người dùng, Google Maps không còn quá mới mẻ Những thứ màchúng ta ao ước từ 10 năm trước như thông tin giao thông thời gian thực, dẫnđường, định hướng, lên lịch trình, xem bản đồ dưới dạng 3D, địa hình, vệ tinh v.v…đều đã trở thành hiện thực với Google Maps ngay trên chiếc điện thoại nhỏ gọn.Nhưng với API mới, lập trình viên sẽ có thể tích hợp tính năng bản đồ trực tiếp vàoứng dụng của họ, tăng tính tiện dụng và sáng tạo của ứng dụng lên một cấp độ mới[7]
Geofencing là một ý tưởng thiết lập các "hàng rào" (fence) xung quanh mộtkhu vực nhất định và cho phép lập trình viên xác định chu vi xung quanh khu vực
đã rào lại Từ đây, họ có thể bổ sung thêm nhiều tính năng vào ứng dụng, chẳng hạnnhư khi bạn bước ra ngoài "hàng rào" thì ứng dụng sẽ cảnh báo hoặc kích hoạt mộthành động nào đó nhắc bạn biết phải làm gì tiếp theo
Trang 32Activity Recognition cho phép thiết bị xác định cách mà bạn đang di chuyển(đi bộ, lái xe hay đạp xe) dựa trên các cảm biến tích hợp và thuật toán logic Qua
đó, ứng dụng có thể đưa ra thông tin phù hợp với loại hình di chuyển và đặc biệtkhông cần dùng đến GPS [8]
2.3.4 Google Cloud MessagingAPI
Google Cloud Messaging đã được giới thiệu năm ngoái và nó được sử dụngcho hoạt động giao tiếp giữa các ứng dụng và máy chủ hỗ trợ đầu cuối CloudMessaging hiện đang được tích hợp vào Google Play Services và nhờ những cải tiếnmạnh mẽ, Cloud Messaging giờ đây hỗ trợ kết nối liên tục và truyền tải thông điệpngược dòng (upstream) Do đó, thiết bị có thể gởi phản hồi trở lại máy chủ màkhông còn chỉ một chiều từ máy chủ đến thiết bị như trước đây
Nhờ tính năng truyền tải ngược, các thông báo (Notification) mà bạn nhậnđược và bỏ lỡ trên thiết bị này có thể được đồng bộ với thiết bị khác Bạn sẽ khôngphải kiểm tra lại hàng loạt các thông báo tương tự trên điện thoại khi chuyển sang
sử dụng chiếc máy tính bảng của mình Cuối cùng thì điện thoại và máy tính bảngAndroid đã hoạt động tương phối với nhau tốt hơn [9]
2.3.5 Game Services
Một trong những công bố được nhiều lập trình viên quan tâm tại Google I/Olần này là các Gaming API mới Bộ API mới đã mang lại nhiều tính năng quantrọng để đưa trải nghiệm chơi game trên nền tảng Android lên một bậc
Trang 33Đầu tiên là Cloud Save Như tên gọi của nó, người dùng có thể lưu lại tiếntrình chơi game trên đám mây Những trò chơi nào khai thác API này sẽ ghi nhớđoạn game mà bạn đang chơi dở khi chuyển qua lại giữa các thiết bị hay thậm chí làkhi bạn mua một chiếc điện thoại mới.
Tiếp theo là hệ thống Achievements và Leaderboard Đây là một hệ thốngbảng xếp hạng thành tích chơi game tương tự dịch vụ Xbox Live của Microsoft.Leaderboard không chỉ hiển thị điểm số của người chơi trên toàn thế giới mà nó còngiúp bạn so kè thành tích với những người khác từ danh sách bạn bè trên GooglePlus
Cuối cùng là Mutilplayer API bổ sung tính năng chơi mạng cho các gametrên Android Lập trình viên giờ đây cũng không phải đầu tư quá nhiều để thiết lập
hệ thống chơi mạng trong game với API mới Không chỉ Android với Android,Multiplayer API hỗ trợ đa nền tảng nên bạn có thể chơi mạng với cả thiết bị iOS
2.4 Phần mềm Eclipse
2.4.1 Eclipse là gì?
Eclipse là phần mềm miễn phí, được các nhà phát triển sử dụng để xây dựngnhững ứng dụng J2EE, sử dụng Eclipse nhà phát triển có thể tích hợp với nhiềucông cụ hỗ trợ khác để có được một bộ công cụ hoàn chỉnh mà không cần dùng đếnphần mềm riêng nào khác Eclipse SDK bao gồm 3 phần chính: Platform, JavaDevelopment Toolkit (JDT), Plug-in Development Environment (PDE)
Với JDT, Eclipse được xem như là một môi trường hỗ trợ phát triển Javamạnh mẽ
PDE hỗ trợ việc mở rộng Eclipse, tích hợp các Plug-in vào Eclipse PlatformEclipse Platform là nền tảng của toàn bộ phần mềm Eclipse, mục đích của nó làcung cấp những dịch vụ cần thiết cho việc tích hợp những bộ công cụ phát triểnphần mềm khác dưới dạng Plug-in, bản thân JDT cũng có thể được coi như là mộtPlug-in làm cho Eclipse như là một Java IDE (Integrated Development Enviroment)[10]
Trang 342.4.2 Kiến trúc Eclipse
Hinh 2 5 Kiến trúc Eclipse
Platform Runtime: Công việc chính của Platform Runtime là xem plug-in
nào đang có trong thư mục plug-in của Eclipse Mỗi plug-in đều có 1 tệp tinManifest liệt kê những kết nối mà plug-in cần Plug-in chỉ được tải vào Eclipse mỗikhi thực sự cần thiết để giảm lượng tài nguyên và thời gian khởi tạo
Workspace:Workspace chịu trách nhiệm quản lý tài nguyên người dùng
được tổ chức dưới dạng Project Mỗi Project là thư mục con trong thư mụcWorkspace Workspace bảo quản cấp thấp lịch sử những sự thay đổi tài nguyên,tránh thất thoát tài nguyên người dùng Workspace đồng thời chịu trách nhiệmthông báo những công cụ cần thiết cho việc thay đổi tài nguyên
Workbench: Workbench là giao diện đồ họa người dùng của Eclipse gồm
có Standard Widget Toolkit (SWT) và JFace Eclipse không bắt buộc phải sử dụngSWT hay JFace để lập trình giao diện, vẫn có thể dùng AWT hay SWING của Javathông qua việc cài đặt các plug-in
Team support: Trang bị hệ thống quản trị để quản lý dự án của người dùng Help: Cung cấp hệ thống tài liệu mở rộng, có định dạng HTML hay XML 2.4.3 Ưu và nhược điểm của phần mềm
Ưu điểm:
Chạy được trên các hệ điều hành khác nhau, miễn phí Hỗ trợ các ngôn ngữkhác ngoài Java