Đồ Án ứng dụng Lịch Việt trên hệ điều hành Android và nghiên cứu kỹ thuật lập trình trên Android (có chương trình) MỤC LỤC 1 DANH MỤC HÌNH ẢNH 5 LỜI NÓI ĐẦU 6 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 8 1.1 Sơ lược về các hệ điều hành 8 1.1.2 Các thành phần của hệ điều hành 8 1.1.3 Phân loại hệ điều hành 9 1.2 Tổng quan về các hệ điều hành dành cho thiết bị di động 10 1.2.1 Tổng quan chung về các hệ điều hành trên thiết bị di động 10 1.2.2 So sánh hệ điều hành android với các hệ điều hành di động khác. 10 1.3 Giới thiệu chung về hiệu hành android 20 1.4 Nền tảng của hệ điều hành Android 22 1.5 Tổng quan về nguyên lý hệ điều hành Android 25 1.6 Kiến trúc hệ điều hành Android 27 1.6.1 Tầng hạt nhân Linux (Linux Kernel layer) 28 1.6.2 Tầng Library và android runtime 29 1.6.3 Tầng Application Framework. 29 1.6.4 Tầng Application 30 1.7 Hệ thống tập tin trên hệ điều hành android 31 1.7.1 sơ lược về hệ thống file trên Android 31 1.7.2 Các dạng file trên hệ điều hành Androi 32 1.7.3 Quyền sở hữu và quyền hạn trên file 33 1.7.4 Cây thư mục trong hệ điều hành Android 34 CHƯƠNG 2: PHƯƠNG PHÁP LẬP TRÌNH TRÊN ANDROID 35 2.1 Yêu cầu kiến thức cho lập trình android 35 2.2. Application Components( thành phần ứng dụng ) 35 2.3 Vòng đời Android 36 2.4 Các thành phần cơ bản trong Android 40 2.4.1 XML unit 40 2.4.2 Các lay out 45 2.4.3 Android Manifest 46 2.4.4 File R.java 47 2.4.5. Button và ToggleButton 48 2.4.6 TextView và EditText 49 2.4.7 CheckBox và RadioButton 51 2.5 SQLite 52 2.6 Các công cụ cần thiết để lập trình Android 55 CHƯƠNG 3: ỨNG DỤNG LỊCH VIỆT TRÊN HỆ ĐIỀU HÀNH ANDROID 58 3.1. Giới thiệu về Lịch Âm 58 3.2. Phương pháp chuyển đổi lịch âm sang lịch dương 59 3.3 Ứng dụng Lịch Việt trên Android 70 3.3.1 Biểu đồ UML của ứng dụng 72 3.3.2. Xây dựng ứng dụng 84 3.3.3. Giao diện ứng dụng: 84 KẾT LUẬN 89 TÀI LIỆU THAM KHẢO 90
LỜI CẢM ƠN Trong suốt thời gian thực hiện đồ án, mặc dù rất bận rộn trong công việc nhưng thầy vẫn giành rất nhiều thời gian và tâm huyết trong việc hướng dẫn em. Luôn định hướng, góp ý và sửa chữa những chỗ sai, thiếu sót, giúp em hoàn thành tốt đồ án đồ án tốt nghiệp lần này. Em cũng xin chân thành cảm ơn các thầy cô trong bộ môn Mạng máy tính và Truyền thông, cũng như các thầy cô trong trường đã giảng dạy, giúp đỡ chúng em trong 5 năm học qua. Các thầy cô đã xây dựng cho chúng em những kiến thức nền tảng và những kiến thức chuyên môn để em có thể hoàn thành đồ án này cũng như những công việc của mình sau này. Sinh viên thực hiện Vũ Thanh Loan 1 LỜI CAM ĐOAN Em xin cam đoan: Những nội dung trong đồ án này là do em thực hiện dưới sự hướng dẫn trực tiếp của thầy giáo hướng dẫn Nguyễn Đức Bình và anh Lê Hữu Nhân. Toàn bộ nội dung đồ án này là do em tự tìm về ứng dụng Lịch Việt trên hệ điều hành Android và nghiên cứu kỹ thuật lập trình trên Android. Từ đó em thực hiện đồ án tốt nghiệp với đề tài: “Xây dựng ứng dụng Lịch Việt cho các thiết bị di động sử dụng hệ điều hành Android" dưới sự hướng dẫn của thầy Nguyễn Đức Bình và anh Lê Hữu Nhân. Mọi tham khảo dùng trong đồ án đều được trích dẫn rõ ràng tác giả, tên công trình, thời gian, địa điểm công bố. Em xin chịu trách nhiệm với lời cam đoan của mình. 2 MỤC LỤC MỤC LỤC 3 DANH MỤC HÌNH ẢNH 5 LỜI NÓI ĐẦU 7 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 9 1.1 Sơ lược về các hệ điều hành 9 1.1.2 Các thành phần của hệ điều hành 9 1.1.3 Phân loại hệ điều hành 10 1.2 Tổng quan về các hệ điều hành dành cho thiết bị di động 11 1.2.1 Tổng quan chung về các hệ điều hành trên thiết bị di động 11 1.2.2 So sánh hệ điều hành android với các hệ điều hành di động khác 11 1.3 Giới thiệu chung về hiệu hành android 21 1.4 Nền tảng của hệ điều hành Android 22 1.5 Tổng quan về nguyên lý hệ điều hành Android 26 1.6 Kiến trúc hệ điều hành Android 28 1.6.1 Tầng hạt nhân Linux (Linux Kernel layer) 28 1.6.2 Tầng Library và android runtime 30 1.6.3 Tầng Application Framework 30 1.6.4 Tầng Application 31 1.7 Hệ thống tập tin trên hệ điều hành android 32 1.7.1 sơ lược về hệ thống file trên Android 32 1.7.2 Các dạng file trên hệ điều hành Androi 33 1.7.3 Quyền sở hữu và quyền hạn trên file 33 1.7.4 Cây thư mục trong hệ điều hành Android 34 CHƯƠNG 2: PHƯƠNG PHÁP LẬP TRÌNH TRÊN ANDROID 36 2.1 Yêu cầu kiến thức cho lập trình android 36 2.2. Application Components( thành phần ứng dụng ) 36 2.3 Vòng đời Android 37 2.4 Các thành phần cơ bản trong Android 41 2.4.1 XML unit 41 2.4.2 Các lay out 46 3 2.4.3 Android Manifest 47 2.4.4 File R.java 48 2.4.5. Button và ToggleButton 49 2.4.6 TextView và EditText 50 2.4.7 CheckBox và RadioButton 52 2.5 SQLite 53 2.6 Các công cụ cần thiết để lập trình Android 56 CHƯƠNG 3: ỨNG DỤNG LỊCH VIỆT TRÊN HỆ ĐIỀU HÀNH ANDROID. .59 3.1. Giới thiệu về Lịch Âm 59 3.2. Phương pháp chuyển đổi lịch âm sang lịch dương 60 3.3 Ứng dụng Lịch Việt trên Android 71 3.3.1 Danh sách các tác nhân 72 3.3.2 Danh sách các Usecase 72 3.3.3 Biểu đồ UML của ứng dụng 73 3.3.3. Giao diện ứng dụng: 87 4 DANH MỤC HÌNH ẢNH hình 1.1 Ưu nhược điểm của 3 hệ điều hành 19 Hình 1.2 Thị phần nền tảng di động tại thị trường Mỹ 20 Hình 1.3: Sự phát triển của thiết bị cầm tay 24 Hình 1.4: Mô hình kiến trúc nền tảng android 28 Hình 1.5: Thư mục trong android 35 Hình 2.1 Biểu đồ Activity state 39 Hình 2.2: Project Explorer 42 Hình 2.3: Minh hoạ cho Button, EditText, CheckBox 53 Hình 2.4: Chương trình SQLite Database Browser 54 Hình 2.5: Hình ảnh máy ảo Android sau khi khởi động 58 Hình 3.1 Biểu đồ usecase 73 Hình 3.2 Biểu đồ tuần tự xem ngày cụ thể 75 Hình 3.3 Biểu đồ tuần tự xem theo tháng 76 Hình 3.4 Biểu đồ tuần tự xem ngày hôm trước 77 Hình 3.5 Biểu đồ tuần tự xem ngày hôm sau 78 Hình 3.6 Biểu đồ tuần tự đặt lịch 79 Hình 3.7 Biểu đồ tuần tự hướng dẫn 80 Hình 3.8 Biểu đồ hoạt động xem ngày 80 Hình 3.9 Biểu đồ hoạt động xem theo tháng 81 Hình 3.10 Biểu đồ hoạt động đặt lịch 81 Hình 3.11 Biểu đồ hoạt động xem hướng dẫn 82 Hình 3.12 Biểu đồ hoạt động xem ngày hôm trước 82 Hình 3.13 Biểu đồ hoạt động xem ngày hôm sau 83 Hình 3.14 Biểu đồ lớp tính toán 85 Biểu đồ lớp thành phần: 86 Hình 3.15 Biểu đồ lớp thành phần 86 Hình 3.16 Giao diện ngày 87 Hình 3.17 Giao diện xem theo tháng 88 Xem ngày cụ thể: 89 Hình 3.18 Giao diện xem ngày cụ thể 89 5 Hình 3.19 Giao diện đặt lịch 90 Hình 3.20 Giao diện tùy chọn nâng cao 91 6 LỜI NÓI ĐẦU Tin học là một ngành khoa học mũi nhọn phát triển hết sức nhanh chóng trong vài chục năm lại đây và ngày càng mở rộng lĩnh vực nghiên cứu, ứng dụng trong mọi mặt của đời sống xã hội. Công nghệ phát triển, con người ngày càng phát minh ra những thiết bị công nghệ số thông minh giúp đỡ con người về rất nhiều mặt trong cuộc sống. Và một trong số đó là các thiết bị di động cầm tay như một thế giới thu nhỏ trong lòng bàn tay, các thiết bị này có thể chạy các hệ điều hành đơn giản như Symbian, Windowphone, iOS, Android, Ngày nay hệ điều hành Android đang khẳng định vị thế của mình là một trong những hệ điều hành đi động phát triển nhanh nhất và có nhiều ứng dụng nhất. Cùng với sự phát triển vượt bật của phần cứng, smartphone liên tục được ra đời và cải tiến xu hướng dùng điện thoại đi động là một nhu cầu không thể thiếu trong cuộc sống. Android dần trở nên phổ biến và tương lai sẽ có nhiều thành công hơn nữa. Tuy nhiên trên các dòng sản phẩm cao cấp này lại không có lịch âm, do đó em đã chọn đề tài “ xây dựng ứng dụng Lịch Việt trên các thiết bị di động sử dụng hệ điều hành Android ” nhằm giúp cho người Việt có thể xem lịch âm một cách tiện lợi và dễ dàng hơn. Em xin chân thành cảm ơn TS.Nguyễn Đức Bình là giảng viên và cán bộ hướng dẫn tại cơ quan thực tập là anh Lê Hữu Nhân đã trực tiếp hướng dẫn em làm đồ án tốt nghiệp này và tạo mọi điều kiện giúp đỡ em hoàn thành tốt đồ án của mình. Em xin chân thành cảm ơn! 7 Mục tiêu của đồ án Thông qua đồ án “ xây dựng ứng dụng Lịch Việt trên các thiết bị di động sử dụng hệ điều hành Android ” thì em thu được những kiến thức sau: - Tìm hiều về kiến trúc hệ điều hành Android - So sánh hệ điều hành Android với các hệ điều hành khác trên máy tính và các thiết bị di động. - Tìm hiểu về bài toán lập lịch trên Android - Xây dựng ứng dụng Lịch Việt trên Android Ý nghĩa thực tiễn - Sản phẩm này giúp cho người Việt xem được lịch âm trên các thiết bị sử dụng hệ điều hành Android. - Dễ dàng cài đặt và sử dụng, tiết kiệm thời gian. 8 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Sơ lược về các hệ điều hành Hệ điều hành là chương trình chạy trên hệ thống máy tính, quản lý các tài nguyên trên máy tính và là môi trường cho các chương trình ứng dụng chạy trên nó. Ngày nay, khái niệm hệ điều hành không chỉ là trên máy vi tính mà còn được mở rộng cho nhiều thiết bị điện tử khác chẳng hạn như điện thoại thông minh (smart phone), các thiết bị cầm tay PDA v.v Như vậy hệ điều hành di động là hệ điều hành chạy trên hệ thống máy có tính di động cao. Với đặc thù đó, hệ điều hành di động phải có những khả năng đặc biệt mà những hệ điều hành thông thường không có được. Chẳn hạn như nó phải chạy trên hệ thống máy có cấu hình máy hạn chế về tốc độ bộ vi xử lý, bộ nhớ sử dụng, phải chạy được ổn định liên tục trong một thời gian dài mà chỉ sử dụng một lượng điện năng nhỏ, trong suốt thời gian chạy đó có thể duy trì các kết nối mạng không dây để đảm bảo việc liên lạc. Một số hệ điều hành tiêu biểu : Trên máy tính cá nhân : MS DOS, MS WINDOW, MACOS, LINUX, UNIX, Trên điện thoại thông minh : Android, Sybian, Window Mobile, iPhone OS, BlackBerry, S60, Bada OS, Palm OS. Ngoài ra còn có các hệ điều hành chạy trên mainframe, server, thẻ chíp, 1.1.1 Các chức năng chính của hệ điều hành Quản lý chia sẻ tài nguyên.Tài nguyên ở đây là bao gồm: - Tài nguyên phần cứng (CPU, Bộ nhớ, các thiết bị IO) - Tài nguyên phần mềm (Các file, chương trình dùng chung) Tạo lập môi trường ảo ít phụ thuộc vào phần cứng để các phần mềm ứng dụng hoạt động, phục vụ người dùng. 1.1.2 Các thành phần của hệ điều hành - Thành phần quản lý tiến trình - Thành phần quản lý bộ nhớ - Thành phần quản lý nhập xuất - Thành phần quản lý tập tin - Thành phần bảo vệ hệ thống - Thành phần dịch lệnh - Thành phần quản lý mạng 9 1.1.3 Phân loại hệ điều hành Theo loại thiết bị mà hệ điều hành hoạt động - Hệ điều hành dành cho máy MainFrame - Hệ điều hành dành cho máy Server - Hệ điều hành dành cho máy nhiều CPU - Hệ điều hành dành cho máy tính cá nhân (PC) - Hệ điều hành dành cho máy PDA - Hệ điều hành dành cho máy chuyên biệt - Hệ điều hành dành cho thẻ chíp (SmartCard) Theo số user và số chương trình cùng hoạt động - Hệ điều hành đơn nhiệm một người dùng - Hệ điều hành đa nhiệm một người dùng - Hệ điều hành đa nhiệm nhiều người dùng Theo góc độ người dùng - Một người dùng - Nhiều người dùng(Mạng ngang hàng, mạng có máy chủ) Theo hình thức xử lý - Hệ thống xử lý theo lô - Hệ thống xử lý theo lô đa chương - Hệ thống chia sẻ thời gian - Hệ thống song song - Hệ thống phân tán - Hệ thống xử lý thời gian thực 10 [...]... 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ằn phân định quyền hạ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... Trong khi các thành phần của hệ điều hành cơ bản được viết bằng C hoặc C + +, ứng dụng người dùng phát triển trên Android thì sử dụng ngôn ng lập trình Java hoặc Android SDK Đặc điểm mạnh mẽ mà nền tảng Android cung cấp là không tồn tại sự khác biệt giữa việc xây dựng ứng dụng trên thiết bị thật và các ứng dụng được phát triển bởi SDK Điều này có nghĩa là các ứng dụng có thể được phát triển và đưa thẳng... (Các file cài đặt ứng dụng, kiểu như MSI trong window hay dev trong Linux) o /system/bin : Chứa các chương trình nội trú của hệ thống 35 CHƯƠNG 2: PHƯƠNG PHÁP LẬP TRÌNH TRÊN ANDROID 2.1 Yêu cầu kiến thức cho lập trình android Có rất nhiều phương pháp để lậo trình trên hệ điều hành android, tuy nhiên ở trong bài này em xin trình bày phương pháp lập trình bằng ngôn ngữ java Để lập trình Android, chỉ cần... hãng điện thoại vừa và nhỏ khác nữa cũng sử dụng hệ điều hành android trong sản phẩm của mình 1.4 Nền tảng của hệ điều hành Android Android là một môi trường giúp phát triển phần mềm cho các thiết bị di động Nó không phải là nền tảng cho phần cứng Android bao gồm một nhân hệ 22 điều hành dựa trên nhân của hệ điều hành mã nguồn mở Linux, một giao diện người dùng phong phú, các ứng dụng cho người dùng... hợp với PC Xbox Bảng 1.1 So sánh các tính năng của các hệ điều hành 17 Các ưu nhược điểm của 3 hệ điều hành 18 hình 1.1 Ưu nhược điểm của 3 hệ điều hành Năm 2013, Nielsen đã tiến hành một khảo sát về mức độ sử dụng các nền tảng di động ở thị trường Mỹ từ tháng 8 cho tới tháng 10 năm 2013 Theo đó, trong giai đoạn này, 52% smartphone đang được sử dụng chạy hệ điều hành Android trong khi đó số lượng... suất CPU, điều đó nhằn để 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 1.7 Hệ thống tập tin trên hệ điều hành android Phần này có điểm thuận lợi để tìm hiểu đó là vì được phát triển từ nhân linux nên hệ thống tập tin trên android cực kỳ giống hệ thống tập tin trên linux như là về cách tổ chức, những quyền hạn của người sử dụng lên... truyền thống Dưới đây là bảng so sánh tính năng IOS6 với Android 4.2 Jell bean và Windows phone 8 Mặc dù hệ điều hành Windows 8 và Android 4.2 mới được giới thiệu không lâu nhưng qua những đánh giá và trải nghiệm của các trang công nghệ lớn chúng ta đã có cái nhìn cơ bản về các hệ điều hành này 3 hệ điều hành mới xuất hiện trong thời gian ngắn hứa hẹn một cuộc chiến khốc liệt trên thị trường smartphone Hôm... nhiều ứng dụng cùng hiển thị một lúc mà chỉ là một giao diện mà trên đó mỗi thời điểm chỉ hiển thị một giao diện của một ứng dụng mà thôi Hệ điều hành di động phải có khả năng hoạt động liên tục không ngừng nghỉ để đảm bảo liên lạc, đảm bảo kết nối của thiết bị tới mạng không dây cần kết nối trong khi vẫn di chuyển 1.2.2 So sánh hệ điều hành android với các hệ điều hành di động khác Ưu điểm của Android, ... HĐH trên và tiềm năng phát triển dành cho Windows phone 8 là rất lớn 1.3 Giới thiệu chung về hiệu hành android Android là một hệ điều hành di động dựa trên nền tảng linux phiên bản 2.6 dành cho các dòng điện thoại SmartPhone Đầu tiên được ra đời bởi công ty liên hợp Android, sau đó được Google mua lại và phát triển từ năm 2005 và trở thành một hệ điều hành di động mã nguồn mở, miễn phí, mạnh mẽ và được... quảng cáo trên các dịch vụ đó Với các nhà phát triển ứng dụng (developers), việc hệ điều hành android được sử dụng phổ biến đồng nghĩa với việc họ có thể thoải mái phát triển ứng dụng trên nền android với sự tin tưởng là ứng dụng đó sẻ có thể chạy được ngay trên nhiều dòng điện thoại của các hãng khác nhau Họ ít phải quan tâm là đang phát triển cho điện thoại nào, phiên bản bao nhiêu vì nền tảng android