Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 46 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
46
Dung lượng
1,04 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Lê Xuân Chính NGHIÊN CỨULẬPTRÌNHCHOCÁC THIẾT BỊDIĐỘNG ÁP DỤNGCHOBÀITOÁNHƯỚNGDẪNDULỊCH KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Mạng và truyền thông máy tính HÀ NỘI - 2010 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Lê Xuân Chính NGHIÊN CỨULẬPTRÌNHCHOCÁC THIẾT BỊDIĐỘNG ÁP DỤNGCHOBÀITOÁNHƯỚNGDẪNDULỊCH KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Mạng và truyền thông máy tính Cán bộ hướng dẫn: ThS Nguyễn Việt Anh HÀ NỘI - 2010 Tóm Tắt Việc hướngdẫndulịch ngày nay hết sức đa dạng, chúng ta có thể được hướngdẫn thông qua internet, hướngdẫn viên, sách báo…Nhưng tất cả các cách trên đều có một hạn chế đó là tính độc lập, như internet thì chúng ta luôn phải cần một chiếc máy tính kết nối mạng, còn hướngdẫn viên thì ta luôn phải đi theo sát họ…Vì vậy việc hướngdẫndulịch qua mobile là một giải pháp tốt. Ứng dụng “Hướng dẫndulịch qua mobile theo ngữ cảnh” được viết lên nhằm mục đích hướngdẫn khách tham quan thu được thông tin một cách chính xác nhất về địa điểm mà họ quan tâm. Ứng dụng tổ chức dữ liệu dưới dạng cây, tùy vào ngữ cảnh mà người dùng đưa vào sẽ quyết định độ chi tiết của thông tin trả về. Sau hơn 5 tháng nghiên cứu dưới sự hướngdẫn của thầy ThS Nguyễn Việt Anh và sự giúp đỡ của các bạn trong nhóm khóa luận. Bước đầu khóa luận đã thu được những kết quả nhất định. - Ápdụng xử lý dữ liệu theo ngữ cảnh vào bàitoándu lịch. - Tìm hiểu về J2ME, Webservice. - Xây dựng thành công chương trình “Hướng dẫndulịch qua mobile theo ngữ cảnh”. Ứng dụng đã đáp ứng được những chức năng cần thiết nhất trong việc hướngdẫndulịch qua mobile theo ngữ cảnh. MỤC LỤC Lời nói đầu 1 Mục tiêu của đề tài 3 Chương 1. Xử lý dữ liệu theo ngữ cảnh trên mobile 3 1.1. Giới thiệu 3 1.2. Hạn chế của hướngdẫndulịch thông thường 3 1.3. Hướngdẫndulịch theo ngữ cảnh 4 1.4. Các chương trình liên quan 4 1.5. Cấu trúc DTG 6 1.6. Xác định ngữ cảnh 7 1.7. Kết luận 8 Chương 2. Ứng dụng “hướng dẫndulịch qua mobile theo ngữ cảnh” 9 2.1. Ngữ cảnh của chương trình 9 2.2. Mô hình kết nối 10 2.3. Thiết kế cơ sở dữ liệu 11 2.3.1. Các bảng dữ liệu của chương trình 11 2.3.2. Chi tiết các bảng 11 2.4. Mô hình dữ liệu 13 2.5. Cài đặt thuật toán 14 2.5.1. Các khái niệm cơ bản về cây 14 2.5.2. Cài đặt cây 16 2.6. Luồng xử lý dữ liệu của chương trình 20 2.6.1. LoginScreen 20 2.6.2. Welcome 21 2.6.3. List 22 2.6.4. Form 24 2.7. Cài đặt thử nghiệm 25 Chương 3. J2ME 26 3.1. Giới Thiệu 26 3.2. Những phiên bản Java 26 3.3. Tại sao dùng J2ME? 27 3.3.1. Configurations (Cấu hình) 27 3.3.2. Profile 28 3.4. Cấu hình CONFIGURATION và PROFILE được phát triển như thế nào? 29 3.4.1. Máy ảo Java (JVM – Java Virtual Machines) 29 3.4.2. KVM và CLDC liên quan như thế nào? 29 3.5. Tính tương thích giữa những phiên bản Java 30 3.5.1. Ứng dụng J2SE sẽ tiếp tục chạy trên môi trường J2ME? 31 3.5.2. Những ứng dụng J2ME vẫn chạy trên J2SE? 31 3.6. Kết chương 31 Chương 4. Web service 32 4.1. Định nghĩa 32 4.2. Thành phần cơ bản của Web service 32 4.3. Hoạt động của Web service 32 4.3.1. SOAP 33 4.3.2. WSDL (Web Service Definition Language) 33 4.3.3. UDDI(Universal Description, Discovery, and Integration) 33 4.5. Các thành phần chính của Web Service 35 4.5.1. SOAP (Simple Object Access Protocol) 35 4.6. WSDL (Web Service Definition Language) 35 4.6.1. Cấu trúc file WSDL 37 Chương 5. Kết luận 38 5.1. Kết luận 38 5.1.1. Các kết quả đạt được 38 5.1.2. Các vấn đề chưa giải quyết được 38 5.2. Hướng phát triển tương lai 38 Lời cảm ơn! Sau hơn năm tháng tìm hiểu và thực hiện, luận văn “Nghiên cứulậptrìnhchocácthiếtbịdiđộngápdụngchobàitoánhướngdẫndu lịch” đã cơ bản hoàn thành. Để đạt được kết quả này, em đã nỗ lực hết sức và đồng thời cũng nhận được rất nhiều sự quan tâm, giúp đỡ, ủng hộ của thầy cô, bạn bè và gia đình. Điều đầu tiên, em xin gửi lời cảm ơn chân thành đến bộ môn Mạng và Truyền thông máy tính, Khoa Công nghệ thông tin, Trường Đại học Công Nghệ, Đại học Quốc Gia Hà Nội và các thầy cô đặc biệt là ThS Nguyễn Việt Anh đã tận tình giúp đỡ, hướngdẫn em hoàn thành luận văn. Mình rất cảm ơn các bạn bè trong khoa, đặc biệt là nhóm làm cùng khóa luận và cộng đồng Java Việt Nam đã luôn bên cạnh, giúp đỡ và đóng góp ý kiến trong suốt quá trình làm luận văn. Và con xin chân thành cảm ơn đến gia đình đã luôn động viên và tạo điều kiện thuận lợi nhất để con học tập và hoàn thành luận văn. Luận văn đã hoàn thành và có được kết quả nhất định, tuy nhiện vẫn không thể tránh khỏi những sai sót. Rất mong sự cảm thông và đóng góp ý kiến nhiệt tình từ thầy cô và các bạn. Hà Nội, tháng 5 năm 2010 Lê Xuân Chính 1 Lời nói đầu Mạng điện thoại diđộng xuất hiện tại Việt Nam từ đầu những năm 1990, và theo thời gian số lượng nhà cung cấp dịch vụ và số lượng thuê bao tăng lên hàng ngày. Giờ đây chiếc điện thoại diđộng không chỉ đơn thuần là gọi, nhắn tin và nghe mà nó còn là một thiếtbị giải trí đa phương tiện, tra cứu thông tin rất tiện lợi Việc xây dựngcác ứng dụng trên điện thoại điđộng là một lĩnh vực mới, hứa hẹn nhiều thú vị và là một xu thế tất yếu hiện nay. Các dịch vụ giá trị gia tăng trên điện thoại diđộng có thể nói là một mảnh đất màu mỡ chocác doanh nghiệp cung cấp dịch vụ di động. Ngày nay có hai hướng phát triển ứng dụng trên thiếtbịdiđộng chính là sử dụng ngôn ngữ C++ trên nền hệ điều hành Symbian và J2ME. Các ứng dụng viết trên nền Symbian có ưu thế truy cập trực tiếp các tài nguyên của điện thoại diđộng cũng như hỗ trợ hệ thống tập tin, thư mục…Nhưng việc phát triển trên nền Symbian tương đối phức tạp và dung lượng ứng dụng khá lớn. Có thể nói J2ME là một đối thủ của Symbian API, J2ME có ưu điểm là nhỏ gọn, tiện dụng, hỗ trợ hầu hết cácdòng điện thoại hiện nay, kể cả điện thoại sử dụng hệ điều hành Symbian. J2ME không chỉ là ngôn ngữ dùng để viết chocác ứng dụngdi động, mà nó còn có thể lậptrìnhchocácthiếtbị gia dụng, thẻ tín dụng điện tử, và các ứng dụng thông minh khác. Rất khó để so sánh cácdòng ngôn ngữ lập trình. Vì mỗi ngôn ngữ đều có thế mạnh riêng của nó. Dựa trên tiêu trí tính phổ biến và thích hợp với điều kiện hiện thời, tôi đã chọn J2ME là ngôn ngữ để xây dựng ứng dụng. Với sự phát triển mạnh của mạng diđộng và ngày nay vấn đề về phần cứng đã được cải thiện một cách đáng kể về tốc độ xử lý và dung lượng bộ nhớ. Sự kiện đáng chú ý gần đây Việt Nam đã có một số đơn vị cung cấp dịch vụ 3G. 3G, hay 3-G, (viết tắt của third-generation technology) là công nghệ truyền thông thế hệ thứ ba, cho phép truyền cả dữ liệu thoại và dữ liệu ngoài thoại (tải dữ liệu, gửi email, tin nhắn nhanh, hình ảnh ). Với những thế mạnh vượt trội đó, 3G sẽ hứa hẹn là một mảnh đất chocáclậptrình viên thỏa mãn đam mê lậptrình trên cácthiếtbịdi động. Và tiến tới hầu như tất cả các ứng dụng trên desktop sẽ có mặt trên mobile. Dựa trên nền tảng ngôn ngữ J2ME, tôi đã xây dựng ứng dụng “hướng dẫndulịch qua mobile theo ngữ cảnh”. Với một chiếc máy tính việc tra cứu thông tin dulịch là việc cực kì đơn giản, chỉ bằng một cú click để truy cập http://google.com sau vài giây thì bạn sẽ nhận được hàng triệu kết quả để tham khảo. Ngày nay chiếc điện thoại diđộng với những tính năng mạnh mẽ đi cùng, các chức năng dần tiến tới như desktop 2 chỉ là vấn đề thời gian, ứng dụng “hướng dẫndulịch qua mobile theo ngữ cảnh” được viết nên nhằm trợ giúp các khách dulịch trong việc tìm kiếm và tra cứu thông tin địa lý, điểm đặc biệt ở chương trình là tính mềm dẻo về dữ liệu trả về, không có gì buồn chán hơn khi ta đọc đi đọc lại một lượng thông tin cố định, mà không có sự thay đổi theo thời gian. Ứng dụng của tôi đã giải quyết được vấn đề này, tùy vào thông tin truy vấn của người dùng mà dữ liệu trả về sẽ khác nhau, có thể nói đây là sự thông minh của chương trình. Với sự phát triển về tốc độ của mạng di động, dung lượng của dữ liệu không còn là vấn đề quan trọng nữa, vì vậy nội dung của ứng dụng sẽ thêm phong phú và đa dạng. Chương trình bước đầu đã hoàn thành, dữ liệu lúc này đơn giản chỉ là chữ và hình ảnh, nhưng cũng đủ để truyền tải hết thông tin tới người dùng. Nhận thấy 3G đã có mặt tại Việt Nam, vì vậy hướng phát triển tương lai của chương trình là tích hợp thêm video, cụ thể ở đây là ứng dụng sử dụng công nghệ Video Streaming, hiện còn rất mới, đây là hướngđi hứa hẹn nhiều thành công. Tuy đã đầu tư khá nhiều thời gian và công sức vào luận văn, nhưng không thể tránh khỏi những sai sót, tôi rất mong nhận được những đóng góp và phản hồi từ thầy cô và các bạn! Xin chân thành cảm ơn! Lê Xuân Chính 3 Mục tiêu của đề tài - Tìm hiểu ngôn ngữ lậptrình J2ME. - Tìm hiểu Web service. - Tìm hiểu vể “xử lý dữ liệu theo ngữ cảnh”. - Xây dựng ứng dụng demo “Hướng dẫndulịch qua mobile theo ngữ cảnh”. Chương 1. Xử lý dữ liệu theo ngữ cảnh trên mobile 1.1. Giới thiệu Những khách dulịch bụi thường phải dựa vào bản đồ hoặc dựa vào những biển hiệu trên đường đi để tự khám phá một thành phố lạ lẫm. Họ cần có một người hướngdẫn viên giúp họ tới những nơi mà họ muốn, cho họ thông tin về bất cứ những gì mà họ tìm thấy thậm chí là đảm bảo đưa họ trở về đúng giờ. Đây là mục tiêu chính của Dynamic Tour Guide - Hướngdẫn viên dulịchdi động(DTG). DTG là một thiếtbịdiđộngcho phép cá nhân hóa những thông tin về tour du lịch. Nó chọn những địa điểm thu hút khách du lịch, lên lịchcho một tour thăm quan cá nhân, cung cấp những thông tin về đường đi trong suốt quá trìnhdulịch và những thông tin về môi trường. Những thông tin phản hồi thông minh này dựa trên tất cả những phân tích về bối cảnh hiện tại để hỗ trợ cho khách dulịch bất cứ lúc nào. 1.2. Hạn chế của hướngdẫndulịch thông thường Khách dulịch luôn cần có những thông tin chi tiết về địa điểm mình tham quan ví dụ như: bảo tàng có những giờ mở cửa khác nhau hoặc có thể có những giờ mở cửa thêm. Ví dụ vào những dịp cuối tuần, mùa hè thì những cửa hàng luôn kín chỗ, còn vào khoảng tháng 11 thì luôn đóng cửa. Nếu không nắm bắt được những thông tin này, khách dulịch sẽ không có được những chuẩn bị cần thiết, vì vậy chỉ còn cách đi theo những biển hiệu, chỉ dẫn trên bản đồ hay đường đi. Những hướngdẫn viên dulịch thường chỉ hướngdẫncho cả đoàn khách, họ đi theo những tour đã định sẵn và chỉ tham quan những điểm chính, trong khi có những địa điểm thú vị lại không được tham quan, mặc dù chỉ cách những điểm chính rất gần. Lý tưởng nhất là có một thiếtbị giống như hướngdẫn viên du lịch, luôn thường trực, am hiểu những địa danh và hiểu được sở thích cá nhân của khách du lịch, quản lý được về thời gian, biết được tình hình hiện tại, đưa ra một tour dulịch cá nhân, và có thể cất gọn trong túi áo. Đây là mục tiêu của DTG. Mục đích ở đây là lập ra một tour 4 du lịch, giống như một chuyên viên hướngdẫn viên dulịch sẽ làm khi sau khi biết được những thông tin về khách du lịch. Điều này hoàn toàn có thể thực hiện được bằng việc ápdụng công nghệ mới là kết hợp sự nhận thức về ngữ nghĩa và ngữ cảnh của máy tính. 1.3. Hướngdẫndulịch theo ngữ cảnh Một khách dulịch luôn muốn khám phá ngay địa điểm họ sắp tới. Họ có một hồ sơ về sở thích, điểm xuất phát và kết thúc và một khoảng thời gian cho tour du lịch. Những thông tin này cần được nạp vào hệ thống. Ngữ cảnh ở đây là tất cả những thông tin hiện thời về một địa điểm nhất định, một khoảng thời gian nhất định. Thách thức đặt ra là phải đưa ra một tour tối ưu dựa trên những thông tin cá nhân và ngữ cảnh. Trong suốt quá trình tham quan, khách dulịch có thể được hướngdẫn để đi tới tổ hợp các tòa nhà, địa điểm cần đến(Tour Building Block – TBB). Khi khách dulịch bắt đầu chuyến du lịch, DTG có thể đo được tốc độ di chuyển và cập nhật những thông tin này để có thể tính toán, sắp xếp lại tour du lịch. Ngay khi khách dulịch tới một TBB, DTG có thể đưa ra thông tin giới thiệu phù hợp với hoàn cảnh hiện tại. Một số khách dulịch có thể quyết định khám phá TBB bằng cách nhiều cách, ví dụ như đi bộ, hoặc xem lướt qua… Trong trường hợp này, những thông tin thêm phù hợp cũng sẽ được cung cấp. Ngay khi khách dulịch rời khỏi TBB, DTG sẽ ngừng cung cấp thông tin về TBB này và nạp lại quá trình điều hướng, có thể sang TBB tiếp theo. Trong trường hợp du khách dừng chân lại lâu hơn dự kiến ban đầu thì thời gian còn lại phải được tính toán lại. Trên đường tới TBB tiếp theo, du khách có thể sẽ bị phân tán bởi một điểm tham quan khác hoặc đơn giản là 1 cửa hàng. Lúc này DTG sẽ tạm dừng những gợi ý điều hướng và cung cấp những thông tin về bối cảnh hiện tại nếu có thể. Trong trường hợp này, DTG sẽ phải chờcho tới khi du khách rời khỏi điểm hiện tại và tính toán lại thời gian. 1.4. Các chương trình liên quan Tour Guides từ lâu đã trở thành 1 chủ đề rất quan trọng trong hoạt động nghiên cứu. Cũng có nhiều chương trình được viết lên nhằm mục đích hướngdẫn theo ngữ cảnh, các chương trình đều có đặc điểm riêng của nó nhưng đều có những hạn chế nhất định, chỉ phục vụ cho những yêu cầu đặc biệt. Những dự án quan trọng sau đây cũng xử lý những vấn đề tương tự DTG. [...]... nhau Một ứng dụng điện thoại thông minh, đặc biệt là ứng dụnghướngdẫndulịch trên điện thoại thì có thể coi như là một người bạn đồng hành và hướngdẫn viên dulịch nhiệt tình, cần là có Xuất phát từ ý tưởng đó, ứng dụnghướngdẫndulịch qua mobile theo ngữ cảnh” đã ra đời, với mục đích tra cứu thông tin dulịch mọi chỗ mọi lúc 2.1 Ngữ cảnh của chương trình Đây là ứng dụnghướngdẫndulịch qua mobile... vấn đến các web service có sẵn Nó hỗ trợ khách dulịch bằng cách đưa ra các dướng dẫn chuyển hướng và cung cấp thông tin đúng lúc, đúngchỗ Bất kỳ ảnh hưởng nào, hay quyết định tự phát của khách dulịch sẽ được phản hồi về server 8 Chương 2 Ứng dụnghướngdẫndulịch qua mobile theo ngữ cảnh” Mấy năm gần đây việc phát triển các ứng dụng trên điện thoại diđộng đã trở lên phổ biến Sự gia tăng về dung... Sự gia tăng về dung lượng bộ nhớ và tốc độ xử lý trên điện thoại điđộngcho phép ta phát triển các ứng dụng mà trước kia tưởng chừng như chỉ có thể phát triển trên desktop Và sự ra đời của các ngôn ngữ lậptrìnhcho điện thoại càng làm việc phát triển ứng dụng trên diđộng thêm dễ dàng và thú vị Hướngdẫndulịch qua sách báo, hướngdẫn viên, hay internet đã quá quen thuộc với mọi người Mỗi phương thức... thiếu tính độc lập cao, ví dụ muốn tìm hiểu dulịch qua internet thì ta phải cần một chiếc máy tính để bàn khá là cồng kềnh, hướngdẫn viên thì ta phải luôn đi theo họ Vì vậy phát triển ứng dụnghướngdẫndulịch trên mobile là hết sức hợp lý và thích hợp trong thời điểm này, ứng dụng có thể khai thác triệt để các tính năng của điện thoại diđộng như là tính độc lập, tức là người sử dụng luôn có thể... dành cho cấu hình đặc biệt đó Những đặc tính dành cho một cấu hình ápdụng chủ yếu cho bộ nhớ, độ phân giải màn hình, giao thức kết nối mạng,và sức mạnh xử lý sẵn có trên thiết bịCác trả lời của Sun về J2ME (FAQ) như sau: “Công nghệ J2ME thiết kế dựa trên hai tâm điểm chính – dựa trên thiếtbị mà bạn đang giữ trong tay và thiếtbị mà bạn có thể cắm nó vào sử dụng chung với nguồn điện hay thiếtbị khác”... giờ Tốc dộ di chuyển và thời gian cho một tour sẽ đưa ra các chú ý về vấn đề thời gian Hướngđi của du khách tại vị trí hiện tại có thể được thể hiện bằng các hình ảnh trực quan trên màn hình điện thoại, và các thông tin phù hợp về vị trí đó 1.7 Kết luận DTG sử dụng công nghệ tiên tiến để tạo ra các tour dulịch theo ngữ cảnh Độc lập với vị trí và thời gian, xác định thông tin cần thiết bằng cách xác... một hướngdẫn viên dulịchdiđộng - sử dụng hệ thống định vị theo từng ô thay vì GPS Khách dulịch có thể chọn địa điểm tham quan theo phân loại trong chuyến dulịch Đường đi đã được tính trước Thứ tự tham quan có thể được thay đổi phụ thuộc vào thời gian Sở thích cá nhân hay thông tin về ngữ cảnh được cung cấp sẵn DTG sẽ lên lịch một tour dựa theo hồ sơ cá nhân của khách dulịch Khái niệm về hướng. .. thống cáccác địa điểm nhà hàng và được quản lý bởi một WS WS sẽ cung cấp các mô hình ngữ nghĩa, các thông tin hiện thời như là giờ mở cửa, đóng cửa, hình thức giao dịch của cửa hàng… Các WS c ủa các TBB sẽ được đăng ký tại UDDI(Universal Description, Discovery, and Integration) Máy chủ DTG sẽ thực hiện thuật toán phù hợp theo ngữ nghĩa để xếp hạng các điểm tham quan cho một khách dulịch cụ thể Các thiết. .. kilobytes (tối thiểu) dành cho phân bổ bộ nhớ thực thi chương trình Hạn chế về giao di n người dùng Nguồn năng lượng thấp, chẳng hạn như là nguồn pin Kết nối mạng thường là không dây (wireless) với băng thông và khả năng truy cập internet thấp 3.3.2 Profile Định nghĩa về Configuration cho các thiếtbị như trên là tương đối phù hợp cho hầu hết mọi thiếtbị Ví dụ các thiếtbịdi động, PDA đều có thể xếp... cung cấp những thư viện cho phép người phát triển dùng để viết những ứng dụng chạy trên một kiểu thiếtbị đặc biệt 28 Ví dụ, Profile dành chothiếtbị thông tin diđộng MIDP (Mobile Information Device Profile) định nghĩa tập những hàm API cho phép xử lý những thành phần giao di n người dùng nhập liệu trên thiếtbị điện thoại di động, cách xử lý sự kiện, nơi chứa dữ liệu, giao thức kết nối mạng, đối tượng . NGHIÊN CỨU LẬP TRÌNH CHO CÁC THIẾT BỊ DI ĐỘNG ÁP DỤNG CHO BÀI TOÁN HƯỚNG DẪN DU LỊCH KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Mạng và truyền thông máy tính Cán bộ hướng. HỌC CÔNG NGHỆ Lê Xuân Chính NGHIÊN CỨU LẬP TRÌNH CHO CÁC THIẾT BỊ DI ĐỘNG ÁP DỤNG CHO BÀI TOÁN HƯỚNG DẪN DU LỊCH KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành:. cảm ơn! Sau hơn năm tháng tìm hiểu và thực hiện, luận văn “Nghiên cứu lập trình cho các thiết bị di động áp dụng cho bài toán hướng dẫn du lịch đã cơ bản hoàn thành. Để đạt được kết quả này,