Công nghệ phát triển ứng dụng bản ñồ số trên PDA

Một phần của tài liệu Nghiên cứu phát triển ứng dụng bản đồ số trên các thiết bị trợ giúp cá nhân (Trang 25)

o GPS

o GPRS

o Web Services

o Mobile GIS

o Các giải pháp phát triển ứng dụng bản ựồ số trên PDA 4. Một số kỹ thuật nâng cao tốc ựộ

Trang 26

Nghiên cứu phát triểnứng dng bn ựồ s trên các thiết b tr giúp cá nhân

1. ng dng bn s trên PDA

Là một thiết bị cá nhân có tắnh di ựộng cao, PDA ựược người sử dụng mang ựi bên mình mọi lúc mọi nơi. Rất nhiều ứng dụng ựược viết cho PDA ựể thay thế phần lớn những gì con người thường mang theo như sổ ghi chép, sổ ựiện thoại, lịch làm việc. Và khi phần cứng ựủ ựáp ứng, người ta nghĩ ựến việc xây dựng một bản ựồ số. Với các hệ thống máy tắnh ựể bàn thì bài toán bản ựồ ựã ựược ựặt ra và giải quyết từ rất lâu nhưng với PDA thì mãi ựến khi có sự ra ựời của WinCE và những phiên bản gần nhất của PalmOS mới thực sự gây ựược ấn tượng. Một số phần mềm bản ựồ cho PDA trên thế giới và ở Việt Nam ựã ựược phát triển.

1.1. Trên thế giới

HandMap (http://www.handmap.net)

HandMap là ứng dụng bản ựồ trên PDA phổ dụng với hầu hết các nước trên thế giới, hiện tại ựã lên tới Version 5.1.4, có hỗ trợ GPS.

Hình 2.1. Giao diện chương trình HandMap

Chương trình HandMap trên PDA yêu cầu khoảng 500Kb bộ nhớ cho ứng dụng và với mỗi một thành phố, ta cần thêm vài trăm Kb nữa cho việc tải dữ liệu bản ựồ. Hệ thống HandMap gồm 2 phần là xây dựng cơ sở dữ liệu và hiển thị, người dùng chủ yếu tiếp cận phần hiển thị và mua dữ liệu bản ựồ mà công ty xây dựng.

HandMap thực sự là một công cụ rất mạnh, giao diện và các tắnh năng tốt lên rất nhiều qua mỗi phiên bản. Nó cung cấp nhiều tắnh năng cho người sử dụng như tìm ựường theo tên, lọc lớp hiển thị, tương tác ựối tượng trên bản ựồ, tắnh khoảng cách... Hơn nữa, do có một quá trình phát triển và một ựội ngũ xây dựng mạnh, HandMap ựang sở hữu một khối lượng lớn cơ sở dữ liệu chuẩn. Tuy nhiên ựây không phải là một phần mềm miễn phắ và người sử dụng phụ thuộc khá nhiều vào bản ựồ mà chắnh hãng ựã dựng nên. Cũng có thể mua công cụ xây dựng bản ựồ nhưng khách hàng muốn sử dụng bản ựồ mình tạo ra vẫn phải trả tiền mua bản quyền chương trình HandMap. Việc thêm những loại ựối tượng riêng biệt gần như là không thể, cấu trúc dữ liệu hoàn toàn bị che kắn, không có khả năng khai thác dữ liệu ựã có vào những ứng dụng khác ta tự xây dựng. đây là một ựiều rất bất lợi khi phát triển với qui mô lớn các loại bản ựồ khác nhau ở Việt Nam. Với HandMap ựã có dữ liệu bản ựồ cho một số thành phố lớn ở Việt Nam như Hà Nội, TP Hồ Chắ Minh, Huế, đà

NẵngẦ tuy nhiên dữ HandMap cũng không h

MapKing (http://www.mapking.com

Tương tự HandMap, MapKing c trên PDA. So với HandMap, MapKing h dẫn ựường. Tuy nhiên, t

bản ựồ cho một số th

thường xuyên và cũng không h

1.2. Ở Việt Nam

Hiện có một số nhóm cho PDA và cho dùng th ứng dụng này còn nhi có tốc ựộ hiển thị chậm, d

dịch chuyển

Trang 27

ng dng bn ựồ s trên các thiết b trợ ữ liệu này không ựược cập nhật thường xuy ng không hỗ trợ tiếng Việt có dấu. http://www.mapking.com) HandMap, MapKing cũng là một ứng dụng bản ựồ i HandMap, MapKing hỗ trợ tốt hơn tắnh năng xác ên, tốc ựộ hiển thị chậm hơn. Với MapKing c ố thành phố lớn ở Việt Nam nhưng cũng không ũng không hỗ trợ tiếng Việt có dấu. 2.2. t Nam

ố nhóm ở Việt Nam ựã phát triển và xây dựng ứ cho PDA và cho dùng thử miễn phắ. Tuy nhiên theo ựánh giá ch

ày còn nhiều hạn chế. Chẳng hạn, một số chương tr chậm, dữ liệu chưa ựầy ựủ. Một số 300Mhz. tr giúp cá nhân ờng xuyên. Hơn nữa ản ựồ rất ựược ưa chuộng ăng xác ựịnh lộ trình và i MapKing cũng ựã có dữ liệu ng không ựược cập nhật ựng ứng dụng bản ựồ số ánh giá chủ quan của tôi, các

ương trình ựược xây dựng

- 300Mhz.

Trang 28

Nghiên cứu phát triểnứng dng bn ựồ s trên các thiết b tr giúp cá nhân (adsbygoogle = window.adsbygoogle || []).push({});

Hình 2.3. Giao diện một chương trình bản ựồ tại Việt Nam

Công ty Dolsoft - một công ty lớn về bản ựồ số tại Việt Nam cũng ựang trong quá trình xây dựng bản ựồ số trên PDA. Hiện tại ựã có một vài phiên bản ựầu tiên ựược tung ra thị trường, nhưng giá thành còn cao, tắnh ổn ựịnh, chắnh xác chưa tốt và chưa ựến tay người sử dụng ựược.

2. Công ngh phát trin ng dng cho các thit b PDA

2.1. Trên Palm OS

Palm OS Software Development Kit (SDK) cung cấp giao diện lập trình ứng dụng (APIs) cho việc phát triển các ứng dụng trên Palm OS. Có các chức năng cho giao diện người dùng, quản trị hệ thống và truyền thông.

Conduit Development Kit (CDK) hỗ trợ việc vận hành cáp ựiện ựể cho phép trao ựổi và ựồng bộ hoá dữ liệu giữa một ứng dụng máy ựể bàn và một ứng dụng ựang chạy trên một thiết bị. CDK sẵn dùng cho Windows, Mac và Solaris.

Mỗi một ứng dụng Palm phải ựược gán cho một ựịnh danh duy nhất, gọi là CreatorID.

Ngoài những bộ công cụ phát triển này, việc lập trình còn ựược hỗ trợ bởi một số công cụ và môi trường phát triển.

2.2. Trên Symbian OS

Symbian cung cấp các bộ công cụ phát triển cho C++, OPL, Java. Các lập trình viên viết các chương trình tại máy PC và sử dụng một bộ giả lập (emulator) ựể kiểm thử chúng. Ở mức ựộ cơ bản, hệựiều hành không nên có quá ắt tài nguyên Ờ nó cần ựược hỗ trợ bởi các bộ xử lý tốn ắt năng lượng với một lượng bộ nhớ giới hạn.

Trang 29

Nghiên cứu phát triểnứng dng bn ựồ s trên các thiết b tr giúp cá nhân

Không giống như các hệ ựiều hành khác, các tác vụ của Symbian OS hầu hết là thi hành ở dạng ựa tác vụ thông qua cơ chế truyền thông ựiệp hướng sự kiện.

Symbian OS là nhân chung của các giao diện lập trình ứng dụng (APIs) và công nghệựược chia sẻ bởi mọi máy ựiện thoại dùng Symbian OS. Symbian OS bao gồm một nhân ựa tác vụ, lớp trung gian cho việc truyền thông, ựồ hoạ và quản trị dữ liệu, các mức GUI framework thấp hơn và các mô tơứng dụng.

Tương tự như Palm OS, các ứng dụng Symbiam OS phải có một UID duy nhất cho việc ựịnh danh tệp và liên kết, UID phải ựược yêu cầu từ Symbian (theo Hansmann, U., Pervasive Computing Handbook [7])

2.3. Trên Windows CE (Windows Mobile)

Windows CE cung cấp cho nhà phát triển ứng dụng một môi trường làm việc thân thiện quen thuộc của giao diện lập trình ứng dụng Microsoft Win32 (API), các ựiều khiển ActiveX, các giao diện MSMQ và COM, ATL, MFC. ActiveSync hỗ trợ khả năng kết nối dễ dàng giữa máy ựể bàn và thiết bị nhúng bằng các phương pháp kết nối tuần tự, cổng hồng ngoại và cáp mạng. Windows CE có các hỗ trợ xây dựng sẵn cho khả năng ựa phương tiện (bao gồm DirectX), truyền thông (TCP/IP, SNMP, TAPI,Ầ) và bảo mật. Một lượng phong phú các trình ứng dụng ựược tắch hợp vào bao gồm Pocket Internet Explorer, Pocket Outlook, và Pocket Word. (theo www.microsoft.com/windows/embedded [8]). WinCE là hệ ựiều hành nhỏ gọn nhưng ựược thiết kế, sử dụng những công nghệ mới nhất và tương thắch với nhiều dòng vi xử lý, từ các bộ vi xử lý phổ biến trước ựây (Motorola, Phillips) tới cả những bộ xử lý mới mạnh mẽ như MIPs, PowerPC, SH-3, SH-4, Arm, Strong Arm và chuẩn Pentium. WinCE hỗ trợ một số lượng lớn bộ vi xử lý 32-bit. Dưới ựây là các CPU ựược hỗ trợ trực tiếp bởi Windows CE Platform:

CPU Vendor Supported families

AMD 46DX5, K6, SC400 (x86 core)

ARM ARM 720T

Strong Arm SA-1100

Hitachi SH3 (SH core), SH4

Intel 486, Pentium and Pentium II families Motorola MPC821 (PowerPC core)

NEC Vr4100, Vr4101, Vr4102, Vr4200, Vr4300 (MIPS core) Phillips Poseidon (MIPS core)

Toshiba TX3912 (MIPS core)

Bảng 1. Các CPU ựược hỗ trợ trực tiếp bởi Windows CE Platform

Một trong những lý do chắnh ựể chọn Windows CE cho các ứng dụng nhúng là do việc sử dụng Microsoft Win32 Ờ chuẩn ứng dụng 32 bit khá phổ biến trong thế giới PC truyền thống Ờ ựể lập trình giao diện (API). WinCE ựược thiết kế có hỗ trợ các chuẩn giao thức kết nối bao gồm:

Trang 30

Nghiên cứu phát triểnứng dng bn ựồ s trên các thiết b tr giúp cá nhân

Chun giao thc kết ni trong WinCE (adsbygoogle = window.adsbygoogle || []).push({});

Windows Sockets WinInet

Secure Sockets Layer

TCP/IP, PPP, SLIP, CSLIP and IrDA TAPI and Serial communication

Direct connection, and device-to-device connectivity LAN connectivity using NDIS and SMB

Remote access services (RAS)

Built-in support for communications hardware NTLM based authentication USB Technologies Fast IRDA Crypto 1.0 SSPI Remote connectivity

Bảng 2. Các chuẩn giao thức kết nối trong WinCE

Có nhiều các công cụ ựể lựa chọn cho việc xây dựng và phát triển các chương trình trong WinCE. Có thể viết cho Win32 API sử dụng C hoặc C++ bằng ựoạn chương trình nhỏ và nhanh. Nếu cần tìm kiếm một vài chương trình mẫu, có thể sử dụng thư viện của MFC. để tạo một ựiều khiển và thành phần ActiveX, ATL ựã hỗ trợ việc này. Nếu thành thạo sử dụng Visual Basic hoặc Visual C++, có thể xây dựng chương trình ứng dụng dựa trên Embedded Visual Basic hoặc Embedded Visual C++. Ngoài ra cũng có thể xây dựng các ứng dụng dựa trên J2ME hoặc .NET nhưng thiết bị cầm tay sẽ phải cài thêm Platform ựể chạy chúng.

Trong máy tắnh ựể bàn, có 3 thư viện ựồ họa cơ bản là: Graphics Device Interface (GDI), DirectDraw (cũng giống như API lần ựầu ựược giới thiệu với Windows 95), và OpenGL Ờ một gói phần mềm 3D drawing từ Silicon Graphics. WinCE cung cấp 85 trong số 325 chức năng GDI sẵn có trong máy tắnh ựể bàn. Nghe có vẻ như WinCE không cung cấp nhiều hỗ trợ cho việc hiển thị ựồ họa, song trên thực tế, so với những gì ta có thể tạo ra trong máy tắnh ựể bàn, trên WinCE, ta có thể tạo ựẹp hơn nhiều bất kỳ ựoạn text, ựường kẻ, ựa giác hay ảnh bitmap nào. Thậm chắ ta có thể quay ựoạn text khi vẽ nó. Thứ duy nhất không ựược hỗ trợ là ánh xạ kết giao, là khả năng vẽ trong các hệ trục tọa ựộ sử dụng ựơn vị inch, centimet hoặc twips. Thay vào ựó, tất cả hình ựồ họa ựều phải vẽ trong hệ tọa ựộ sử dụng ựơn vị pixel.

Tầm quan trọng của Internet là không thể phủ nhận ựược, vì vậy không ngạc nhiên lắm khi tìm ựược rất nhiều thông tin hỗ trợ cho nó trong Windows CE. Mỗi phiên bản lại thường hỗ trợ các socket, ựó là một API giao tiếp mạng cấp thấp. Trên thực tế, hỗ trợ cho các thiết bị hồng ngoại Ờ cái có trong hầu hết các thiết bị cơ bản WinCE Ờ ựược phục vụ trong các socket. WinCE hỗ trợ các WinInet API, phục vụ

Trang 31

Nghiên cứu phát triểnứng dng bn ựồ s trên các thiết b tr giúp cá nhân

cho các ựiều khiển chắnh trên kết nối máy chủ Web (HTTP), cũng như các kết nối tới máy chủ FTP.

Từ khi phiên bản ựầu tiên của Windows CE xuất hiện, Microsoft ựã thêm nhiều công cụ phát triển sẵn có cho giả lập. Hiện nay, có các công cụ phát triển cơ bản cho Windows CE là Platform Builder 4.0, eMbedded Visual Tools và Visual Studio.Net. Platform Builder ắt ựược các nhà phát triển phầm mềm chú ý tới. Thay vào ựó, công cụ thường ựược sử dụng là eMbedded Visual Tools và Visual Studio.Net.

a. eMbedded Visual Tools

eMbedded Visual Tools 4.0 là một môi trường Ộtất cả trong mộtỢ cho sự phát triển cơ sở WinCE Ờ tương tự như bộ Visual Studio. Tuy nhiên nó không ựơn giản là một thành phần mở rộng, ựược ghép thêm vào Visual C++ và Visual Basic. Thay vào ựó, nó cung cấp tất cả những gì ta cần từ môi trường ựơn và gói ựộc lập.

Khi cài ựặt eMbedded Visual Tools, có các thực ựơn ựược bổ sung vào trong Start Menu: eMbedded Visual Basic, eMbedded Visual C++ và Api Text Viewer. Tên của các công cụ này Ờ và sự kết hợp giữa các biểu tượng Ờ sẽ không quen thuộc một chút nào ựối với bất cứ ai, cho dù ựã từng phát triển cho WinCE trước ựó hay là chưa. Nhưng khi bắt ựầu chạy công cụ này, ta sẽ thấy eMbedded Visual Basic nhìn giống như Visual Basic 6.0. Và tương tự, eMbedded Visual C++ rất giống phiên bản tương ựương của nó trên máy tắnh ựể bàn là Visual C++.

Microsoft eMbedded Visual C++ là công cụ rất mạnh cho các nhà lập trình xây dựng chương trình phần mềm ứng dụng cho các thiết bị sử dụng WinCE. Với eMbedded Visual C++, các nhà phát triển có thểựạt ựược các lợi ựiểm sau: có một môi trường phát triển quen thuộc khi xây dựng các chương trình ứng dụng trên WinCE; cung cấp bộ mô phỏng giúp người lập trình không cần kết nối thiết bị thực; cung cấp khả năng dịch chương trình ra nhiều thiết bị có nền phần cứng khác nhau; nâng cao tốc ựộ lập trình với Foundation Classes và Active Template Library; xây dựng những giải pháp công nghệ với các khả năng qua các ADO cho WinCE, xử lý các tác vụ qua MTS Ờ Microsoft Transaction Server, và sự tắch hợp gần gũi hơn với các dịch vụ của hệựiều hành WinCE.

Sự khác biệt chắnh trong việc lựa chọn giữa eMbedded Visual Tools và Visual Studio.Net ựể phát triển ứng dụng là lựa chọn Native Code hay Manage Code. Với VisualStudio.Net (Manage Code) người lập trình sẽ rất ựơn giản trong việc sinh mã qua việc nhắp thả và các hỗ trợ có sẵn. Tuy nhiên chương trình sẽ không ựược tối ưu tốt nhất về mặt bộ nhớ cũng như tốc ựộ thực hiện chương trình so với Native Code của eMbedded Visual Tools.

b. .NET Compact Framework và Visual Studio

Microsoft .NET Compact Framework là khung làm việc chung cho việc phát triển phần mềm trên thiết bị thông minh dựa trên công nghệ Microsoft .NET. Nó ựem lại khả năng thực thi các mã nguồn trung gian và các dịch vụ Web XML trên thiết bị nhỏ. .NET Compact Framework là một tập con của .Net Framework, nó có

Trang 32

Nghiên cứu phát triểnứng dng bn ựồ s trên các thiết b tr giúp cá nhân

hầu hết các tắnh năng của phiên bản .NET Framework ựầy ựủ. Kắch cỡ nhị phân của nó cũng nhỏ hơn so với .NET Framework khoảng 20 lần (kắch cỡ của .NET Framework khoảng 30MB, trong khi .NET Compact Framework vào khoảng 1,5MB). Tuy nhiên, .NET Compact Framework ựược thiết kế một cách ựặc biệt cho những thiết bị có tài nguyên giới hạn như PDA hay ựiện thoại thông minh. .NET Compact Framework ựơn giản hoá việc xây dựng và triển khai ứng dụng trên thiết bị di ựộng nhưng vẫn cho phép ựảm bảo tận dụng ựược tất cả các ưu ựiểm và khả năng của thiết bị.

.NET Compact Framework hoạt ựộng trên bộ biên dịch ngay tại thời ựiểm thực thi (Just-In-Time Compiler Ờ JIT Compiler) với hiệu quả cao. Common Language Runtime (CLR) ựược xây dựng từ phần nền tảng ựặc trưng cho .NET Compact Framework ựể có thể thực thi hiệu quả hơn trên các thiết bị nhỏ và giới hạn về bộ nhớ, tài nguyên và tiết kiệm năng lượng. để có thể thực thi ựược các ứng dụng xây dựng bằng .NET Compact Framework, thiết bị phải cài hệ ựiều hành hỗ trợ .NET Compact Framework Runtime. .NET Compact Framework yêu cầu tối thiểu Windows CE.NET (Windows CE version 4.1 for released version of the .NET Compact Framework) với hai ngoại lệ: Microsoft Pocket PC, Microsoft Pocket PC 2002 và Microsoft Pocket PC phone phải hỗ trợ .NET Compact Framework. Smart

Một phần của tài liệu Nghiên cứu phát triển ứng dụng bản đồ số trên các thiết bị trợ giúp cá nhân (Trang 25)