Đang tải... (xem toàn văn)
Tài liệu tham khảo công nghệ thông tin ứng dụng lưu trữ thông tin bằng chuỗi mã vạch
ĐẠI HỌC QUỐC GIA HÀ NỘITRƯỜNG ĐẠI HỌC CÔNG NGHỆLại Quang TùngỨNG DỤNG LƯU TRỮ THÔNG TIN BẰNG CHUỖI MÃ VẠCHKHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUYNgành: Công nghệ thông tinHÀ NỘI - 2009 ĐẠI HỌC QUỐC GIA HÀ NỘITRƯỜNG ĐẠI HỌC CÔNG NGHỆLại Quang TùngỨNG DỤNG LƯU TRỮ THÔNG TINBẰNG CHUỖI MÃ VẠCHKHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUYNgành: Công nghệ thông tinCán bộ hướng dẫn: TS. Trương Anh HoàngHÀ NỘI - 2009 Lời cảm ơnTrước tiên, em xin gửi lời cảm ơn sâu sắc tới thầy Trương Anh Hoàng (bộ môn Công Nghệ Phần Mềm, trường Đại học Công Nghệ, Đại học Quốc Gia Hà Nội). Thầy đã tận tình chỉ dẫn cho em từ những bước đi đầu tiên đến khi hoàn thành đề tài khóa luận này. Thầy luôn giúp em giải quyết vấn đề trong những lúc khó khăn. Ở thầy em học được không chỉ là sự hiểu biết mà còn là cách làm việc và lẽ sống.Em xin gửi lời cảm ơn tới tất cả các thầy, cô giáo trong khoa Công nghệ thông tin – trường Đại học Công Nghệ – Đại học Quốc Gia Hà Nội đã nhiệt tình giảng dạy cho chúng em những tri thức của kỷ nguyên mới – kỷ nguyên công nghệ và truyền thông. Cảm ơn những người bạn của tôi, những người đã giúp đỡ tôi rất nhiều trong học tập, trong cuộc sống và hoàn thành khóa luận này. Cuối cùng, con xin gửi lời cảm ơn đến bố, mẹ và gia đình. Bố mẹ luôn là chỗ dựa tinh thần vững chắc cho con.Hà Nội, ngày 22 tháng 5 năm 2009Lại Quang Tùng Tóm tắtMã vạch ngày nay đã trở nên phổ biến với mỗi người trong chúng ta, không chỉ đem lại sự thuận tiện cho người sử dụng, nó còn mang lại một phong cách mới trong mua sắm và tra thông tin về sách sản phẩm. Không dừng lại ở đó, tiềm năng của mã vạch còn rất lớn khi xuất hiện các loại mã vạch hai chiều, ghi được nhiều thông tin hơn các mã vạch một chiều trước kia.Khóa luận sẽ trình bày về mã vạch nói chung và mã vạch QR nói riêng, giới thiệu về thư viện mã nguồn mở Zxing để đọc mã vạch, cách sử dụng thư viện này để phát triển phần mềm. Khóa luận cũng đi nghiên cứu về các nền tảng di động và đặc biệt là nền tảng Android. Ở phần cuối, khóa luận sẽ trình bày ứng dụng thư viện Zxing vào việc xây dựng “Ứng dụng lưu trữ thông tin bằng chuỗi mã vạch” trên nền tảng Android. Ứng dụng này xuất phát cho phép mã hóa các tệp nhỏ bất kỳ thành một chuỗi các mã vạch, và giải mã chúng để trở lại thành tệp ban đầu. Cơ sở này cho phép ta truyền số liệu giữa hai thiết bị thông qua màn hình (hoặc các thiết bị hiển thị được hình ảnh như giấy) và camera. Phần phụ lục cung cấp một số thuật ngữ thường dùng của Android. Mục lục Mở đầu . 1 Chương 1: Các nền tảng di động 3 Brew 5 1.1.1 Giới thiệu . 5 1.1.2 Ưu nhược điểm 5 1.2 Java ME . 6 1.2.1 Giới thiệu . 6 1.2.2 Ưu nhược điểm 6 1.3 Symbian . 7 1.3.1 Giới thiệu . 7 1.3.2 Ưu nhược điểm 7 1.4 BlackBerry 7 1.4.1 Giới thiệu . 7 1.4.2 Ưu nhược điểm 8 1.5 Windows Mobile . 8 1.5.1 Giới thiệu . 8 1.5.2 Ưu nhược điểm 8 1.6 iPhone . 9 1.6.1 Giới thiệu . 9 1.6.2 Ưu nhược điểm 9 1.7 Android 10 1.7.1 Giới thiệu . 10 1.7.2 Ưu nhược điểm 10 Chương 2: Nền tảng Android 11 2.1 Khái niệm 11 2.2 Đặc điểm 12 2.2.1 Tính mở . 12 2.2.2 Tính ngang bằng của các ứng dụng 12 2.2.3 Phá vỡ rào cản phát triển ứng dụng 12 2.2.4 Dễ dàng và nhanh chóng xây dựng ứng dụng 12 2.3 Kiến trúc của nền tảng Android . 13 2.3.1 Kiến trúc tổng quát 13 2.3.2 Hệ điều hành 13 2.3.3 Thư viện và các giao diện lập trình ứng dụng 13 2.4 Các thành phần của ứng dụng 15 2.4.1 Hoạt động (Activity) . 16 2.4.2 Dịch vụ 19 2.4.3 Bộ nhận quảng bá (Broadcast receivers) . 20 2.4.4 Content provider 20 2.4.5 Các thành phần kích hoạt (các Intent) 21 2.4.6 Ngắt một thành phần 22 2.4.7 Tập tin khai báo (manifest) . 22 2.4.8 Bộ lọc Intent 23 2.5 Công cụ hỗ trợ lập trình Android 24 Chương 3: Mã vạch, mã QR và thư viện Zxing . 26 3.1 Mã vạch 26 3.1.1 Khái niệm 26 3.1.2 Ứng dụng . 26 3.2 Mã QR 27 3.2.1 Khái niệm 27 3.2.2 Khả năng lưu trữ 28 3.3 Thư viện Zxing 28 3.3.1 Khái niệm 28 3.3.2 Cách sử dụng . 29 Chương 4: Xây dựng ứng dụng lưu trữ thông tin bằng chuỗi mã vạch 33 4.1 Đặt vấn đề 33 4.2 Giải pháp . 33 4.3 Phân tích 33 4.3.1 Các chức năng của hệ thống . 33 4.3.2 Xác định tác nhân và ca sử dụng 34 4.3.3 Mối quan hệ giữa tác nhân và các ca sử dụng 34 4.3.4 Biểu đồ tuần tự 36 4.4 Thiết kế 42 4.4.1 Thiết kế lớp 42 4.5 Thiết kế giao diện . 45 4.6 Kiểm thử chương trình 45 4.6.1 Kiểm thử ca sử dụng . 45 4.6.2 Kết quả thực nghiệm . 48 Kết luận . 53 Danh mục ký hiệu viết tắtKý hiệuGiải thíchTiếng Anh Tiếng ViệtAPI Application Programming Interface Giao diện lập trình ứng dụngCDMA Code Division Multiple AccessMột công nghệ trong hệ thống thông tin di độngGPRS General Packet Radio Service Gói dịch vụ vô tuyến tổng hợpGSMGlobal System for Mobile CommunicationsHệ thống thông tin di động toàn cầuJ2SE Java 2 Standard EditionLà đặc tả và cũng là nền tảng thực thi cho các ứng dụng JavaMIDP Mobile Information Device ProfileThuộc tính thông tin thiết bị di độngOS Operating System Hệ điều hànhPC Personal Computer Máy tính cá nhânSDK Software Development Kit Bộ công cụ phát triển phần mềmUSB Universal Serial BusMột chuẩn kết nối tuần tự trong máy tínhWi-Fi Wireless Fidelity Hệ thống mạng không dây Danh mục bảng biểuBảng 1:Thị trường di động năm 2008 [1] 3Bảng 2:Mối quan hệ giữa tác nhân và các ca sử dụng .34Bảng 3:Bảng hành động của tác nhân và phản ứng của hệ thống với ca sử dụng Encode .35Bảng 4:Bảng hành động của tác nhân và phản ứng của hệ thống với ca sử dụng Decode .35Bảng 5:Bảng hành động của tác nhân và phản ứng của hệ thống với ca sử dụng Help .36Bảng 6:Biểu đồ tuần tự ca sử dụng Decode files 39Bảng 7:Bảng ca kiểm thử mã hóa tập tin 46Bảng 8:Bảng ca kiểm thử giải mã tập tin 47Bảng 9:Bảng ca kiểm thử giải mã ảnh .48 Danh mục hình vẽHình 1:Bản đồ phát triển điện thoại di động [2] 4Hình 2:Điện thoại Android, HTC Dream (trái) và HTC Magic (phải) 11Hình 3:Nhân Linux trên Android 13Hình 4:Thư viện lâp trình ứng dụng trên Android 13Hình 5:Khung ứng dụng .14Hình 6:Các ứng dụng trên Android 15Hình 7:Vòng đời của một hoạt động 18Hình 8:Một ảnh mã QR 27Hình 9:Biểu đồ ca sử dụng hệ thống 34Hình 10:Biểu đồ tuần tự của hệ thống .37Hình 11:Biểu đồ tuần tự ca sử dụng Encode 38Hình 12:Biểu đồ tuần tự ca sử dụng Decode Images .40Hình 13:Biểu đồ hoạt động của hệ thống 41Hình 14:Biểu đồ lớp của hệ thống 44Hình 15:Thiết kế giao diện chương trình 45Hình 16:Mã hóa tập tin ringtone.mid 48Hình 17:Các ảnh mã QR được chương trình tạo ra từ tập tin MID ringtone.mid .51Hình 18:Một số hình ảnh về giải mã các tập tin ảnh 52Hình 19:Màn hình danh sách các ứng dụng .54Hình 20:Màn hình chính của chương trình 54Hình 21:Cửa sổ chức năng mã hóa 55Hình 22:Cửa sổ giải mã .55Hình 23:Nhập đường dẫn tập tin ảnh đầu tiên được mã hóa .55 [...]... và mã QR, các ứng dụng của chúng trong đời sống hàng ngày Chương này cũng trình bày về thư viện mã nguồn mở Zxing, ứng dụng và cách sử dụng của thư viện mở này 1 Chương 4: Ứng dụng vào giải quyết bài toán Ứng dụng lưu trữ thông tin bằng chuỗi và mã vạch trên Android Ứng dụng giúp lưu trữ và chia sẽ thông tin giữa các điện thoại Android với nhau Kết luận: Tổng kết lại toàn khóa luận, những gì đã làm... dữ liệu lưu trữ của nó, thẻ nhớ SD, v.v… 25 Chương 3: Mã vạch, mã QR và thư viện Zxing Trong nội dụng của chương này, khóa luận sẽ đi trình bày khái niệm về mã vạch, các ứng dụng của mã vạch ngày nay, tiếp đến là giới thiệu một mã vạch hai chiều rất mạnh, đấy chính là mã vạch QR, gọi tắt là mã QR Chương này cũng giới thiệu về thư viện mã nguồn mở Zxing có thể đọc nhiều định dạng mã vạch 3.1 Mã vạch 3.1.1... giản là lưu mã của sản phẩm mà còn có khả năng lưu được nhiều thông tin của sản phẩm hơn với việc sử dụng mã vạch 2 chiều Một lợi thế của ứng dụng mã vạch là khả năng tiện dụng, chúng ta có thể sử dụng tại bất kỳ đâu, bất kỳ khi nào bằng việc sử dụng một thiết bị thông minh có hỗ trợ máy ảnh (ví dụ: điện thoại di động) có khả năng đọc mã vạch và giải mã mã vạch đó Đặt trong hoàn cảnh giữa hai thiết bị... việc lưu trữ, chia sẻ thông tin này dựa trên mã vạch 2 chiều QR kết hợp với nền tảng Google Android − một nền tảng di động mới đầy hứa hẹn và là đối thủ xứng tầm của iPhone Khóa luận sẽ tập trung nghiên cứu về các nền tảng di động, các đặc điểm của chúng, đi sâu nghiên cứu nền tảng Google Android và công nghệ mã vạch hiện nay, cuối cùng là ứng dụng vào giải quyết bài toán ứng dụng lưu trữ thông tin bằng. .. cơ sở dữ liệu nhỏ, mạnh, có sẵn trong mọi ứng dụng Android 2.3.3.3 Khung ứng dụng Hình 5:Khung ứng dụng 14 Android cho phép người phát triển có toàn quyền truy xuất vào các API khung được sử dụng bởi các ứng dụng nòng cốt Kiến trúc ứng dụng được thiết kế để đơn giản hóa việc sử dụng lại các thành phần, mỗi ứng dụng có thể cho phép các ứng dụng khác khả năng sử dụng các thành phần này Điều này giống với... gọi là máy đọc mã vạch hay được quét từ hình ảnh bằng các phần mềm chuyên biệt Nội dung của mã vạch là thông tin về sản phẩm như: Nước sản xuất, tên doanh nghiệp, lô, tiêu chuẩn chất lượng đăng ký, thông tin về kích thước sản phẩm, nơi kiểm tra 3.1.2 Ứng dụng Mã vạch (và các thẻ khác mà máy có thể đọc được như RFID) được sử dụng ở những nơi mà các đồ vật cần phải đánh số với các thông tin liên quan... việc ứng dụng mã vạch đã trở nên phổ biến đối với mọi người kể cả trên thế giới và Việt Nam Mỗi khi đi siêu thị chúng ta vẫn thấy người thu ngân dùng một thiết bị quét mã vạch in trên sản phẩm giúp cho việc thanh toán dễ dàng hơn Đấy mới chỉ là một ứng dụng nhỏ của việc sử dụng mã vạch vào đời sống thường ngày Cùng với sự phát triển của công nghệ, mã vạch đã cải tiến không chỉ còn đơn giản là lưu mã. .. kiến trúc nền tảng Android Android sẽ hoạt động với một bộ các ứng dụng bao gồm ứng dụng thư điện tử, gửi tin nhắn, lịch, bản đồ, trình duyệt web, danh bạ v.v… Tất cả các ứng dụng được viết bằng ngôn ngữ Java Các ứng dụng này có thể được cung cấp sẵn hoặc được phát triển bởi những lập trình viên 2.4 Các thành phần của ứng dụng Một ứng dụng trên Android được cấu thành từ bốn thành phần cơ bản sau: ... không phải mã nguồn như là các tập tin lưu các xâu, tập tin đồ họa, hay tập tin bố cục giao diện • Notification Manager cho phép các ứng dụng hiển thị các thông báo trên thanh trạng thái • Activity Manager quản lý vòng đời của các ứng dụng (từ khi chúng sinh ra, được thực thi, chuyển sang trạng thái chờ, gọi thực thi lại và kết thúc) 2.3.3.4 Ứng dụng Hình 6:Các ứng dụng trên Android Đây là lớp trên... lại một thông điệp quảng bá Chúng ta không cần thiết phải tắt các thành phần này 2.4.7 Tập tin khai báo (manifest) Trước khi có thể khởi chạy một ứng dụng thành phần, nó phải xem ứng dụng bao gồm những thành phần nào Thêm nữa, các ứng dụng khai báo các thành phần của nó trong một tập tin khai báo để đóng gói lại vào trong gói Android (tập tin apk chứa các mã nguồn, tập tin và tài nguyên) Tập tin này . này.1 Chương 4: Ứng dụng vào giải quyết bài toán Ứng dụng lưu trữ thông tin bằng chuỗi và mã vạch trên Android. Ứng dụng giúp lưu trữ và chia sẽ thông tin giữa. bày ứng dụng thư viện Zxing vào việc xây dựng Ứng dụng lưu trữ thông tin bằng chuỗi mã vạch trên nền tảng Android. Ứng dụng này xuất phát cho phép mã