• Thứ Hai, 28/11/2005 13:54 (GMT+7)

    Xây dựng ứng dụng Palm với MobileVB

    PDA (Personal Digital Assistant) máy trợ giúp cá nhân số hay sổ tay điện tử - ngày càng trở nên phổ biến. Có 2 dòng PDA chính là Palm và Pocket PC - Windows CE. Nhằm giúp cho các bạn mới bắt đầu làm quen với việc viết chương trình ứng dụng trên thiết bị PDA, tôi xin giới thiệu một công cụ có thể giúp thực hiện việc này dễ dàng: AppForge MobileVB. Trong khuôn khổ của một bài viết, tôi chỉ đề cập đến việc phát triển ứng dụng trên thiết bị Palm OS.

    HỆ ĐIỀU HÀNH PALM OS

    Kiến trúc phần cứng

    Bộ nhớ của Palm được lưu trong ROM và RAM hay còn được gọi là thẻ nhớ. Thiết bị Palm có thể có một hoặc nhiều thẻ nhớ, và cũng có thể không có thẻ nhớ nào. Ví dụ Simulator được cung cấp bởi Palm OS SDK chạy trên Macintosh có thể giả lập là thiết bị có đến 2 thẻ nhớ. Chú ý phân biệt 2 khái niệm thẻ nhớ (memory card) và thẻ mở rộng (expansion card), giống như thẻ SD hay thẻ MemoryStick.

    Kiến trúc bộ nhớ

    Ứng dụng trên Palm OS được thiết kế trên nền tảng 32 bit. Dung lượng tổng cộng dành cho chương trình và dữ liệu lên đến 4 GB. Palm OS chia bộ nhớ ra làm 2 vùng: vùng RAM lưu trữ (Storage) và vùng RAM động (Dynamic). Vùng nhớ dùng để lưu trữ được bảo vệ và không mất đi khi máy Palm khởi động lại. Khi khởi động lại thì hệ thống sẽ chỉ khởi tạo lại vùng nhớ động.

    Palm OS sử dụng Memory Manager API để định vị vùng nhớ động (stack, các biến toàn cục...) và sử dụng Data Manager API để định vị vùng nhớ lưu trữ.
    Cơ sở dữ liệu

    Thông thường với PC, dữ liệu từ đĩa cứng được đọc vào bộ nhớ, sau khi xử lý thông tin từ bộ nhớ được ghi trở lại đĩa cứng. Quá trình xử lý dữ liệu của Palm thì lại không như vậy do hạn chế dung lượng bộ nhớ động, và dữ liệu được lưu trữ ở bộ nhớ thực hiện trên RAM thay vì trên đĩa cứng. Palm OS truy xuất và xử lý tất cả thông tin trong một nơi, điều này làm giảm yêu cầu về bộ nhớ động.

    Palm OS không sử dụng hệ thống file truyền thống, nó lưu dữ liệu theo các record và được nhóm lại với nhau trong CSDL. CSDL của Palm được lưu trữ với phần mở rộng là *.pdb. Mỗi file PDB chứa một hay nhiều bảng dữ liệu liên quan với nhau. CSDL của Palm không hỗ trợ các câu lệnh truy vấn SQL, việc truy cập CSDL thông qua thư viện Appforge PDB.

    CÔNG CỤ APPFORGE MOBILE VB

    AppForge (appforge.com) là giải pháp tốt phát triển nhanh ứng dụng cho thiết bị di động bằng ngôn ngữ MS Visual Basic. AppForge có 2 công cụ phát triển ứng dụng cho PDA: Crossfire và MobileVB (hiện đã được tích hợp chung với Crossfire). Crossfire được tích hợp trực tiếp vào Microsoft Visual Studio .NET, còn MobileVB được tích hợp trực tiếp vào Microsoft Visual Studio 6.0 (VB6.0).

    AppForge Crossfire/MobileVB có nhiều tài liệu và ví dụ mẫu để tham khảo. Trên website http://support.appforge.com có nhiều bài viết kỹ thuật về công cụ này. Bạn có thể tham gia vào diễn đàn dành cho những nhà phát triển ứng dụng bằng công cụ Appforge Crossfire/MobileVB tại địa chỉ http://forum.appforge.com.

    Môi trường hỗ trợ

    - Palm OS 3.1 – 4.x – 5.x (Palm One Tungsten, Sony Clie, Hangspring Treo).

    - Microsoft Windows Mobile dựa trên PPC và Microsoft Pocket PC 2002 và 2003 (iPAQ).

    - Môi trường Nokia Series 60 cho Symbian OS (Nokia N-Gage, 6600).

    - Điện thoại thông minh Sony Ericsson UIQ (P800/P900).

    - Microsoft Windows Mobile 2002/2003.

    Giao diện người sử dụng


    - Các điều khiển (Control) của AppForge mô phỏng giao diện của các thiết bị thật nhằm giúp cho việc thiết kế, phát triển và gỡ rối ứng dụng.

    - Hỗ trợ chế độ màu 24 bits.

    - Hỗ trợ tạo danh mục (menu).

    - Hỗ trợ nhiều định dạng ảnh (JPEG/BMP/PNG).

    - Hỗ trợ nhiều font True Type và các font có sẵn của Appforge.

    - Có sẵn nhiều Ingots giúp cho việc phát triển ứng dụng.

    - Có sẵn nhiều Ingots (Buttons/Listbox/Grid/Graphic/Sound/Video...) thông dụng giúp cho việc phát triển ứng dụng.

    - Hỗ trợ phát triển cho các ứng dụng có chức năng camera (không phải tất cả các thiết bị đều hỗ trợ).

    - Hỗ trợ chức năng chữ ký số.

    Đặc tính về dữ liệu

    - Appforge hỗ trợ nhiều hệ CSDL như: SQL Server CE, Pocket Access, PDB và SymbianDB Database.

    - Thư viện PDB hỗ trợ nhiều định dạng chạy trên nhiều nền tảng.

    - Có thể sử dụng các thư viện được cung cấp bởi PIM.

    - Hỗ trợ tốt việc đồng bộ dữ liệu trên Palm OS.

    - Hỗ trợ chuyển đổi các định dạng CSDL.

    Đặc tính về mạng-thông tin


    - Hỗ trợ lập trình cho mạng điện thoại.

    - Các dịch vụ tin nhắn ký tự được hỗ trợ để giúp gửi và nhận tin nhắn SMS.

    - Cho phép sử dụng thư viện Internet không dây để tạo ra các ứng dụng gửi và nhận dữ liệu thông qua HTTP/S, hỗ trợ giao tiếp dựa trên nền tảng giao thức TCP/IP.

    - Hỗ trợ giao tiếp qua cổng Serial và IrDA.

    - Hỗ trợ giao tiếp với các thiết bị khác thông qua Bluetooth.

    Các đặc tính khác


    - Hỗ trợ Unicode.

    - Thư viện hệ thống cho phép người phát triển truy cập các thông tin hệ thống.

    - Hỗ trợ phát triển ứng dụng multimedia.

    Thuận lợi: Thời gian nghiên cứu và phát triển ứng dụng nhanh, tài liệu và tài nguyên được hỗ trợ nhiều.

    Khó khăn: Đòi hỏi phải cài Booster để chạy ứng dụng trên Palm. Giá thành đắt (Crossfire/MobileVB: 1.000 USD). Bạn có thể tải về bản dùng thử miễn phí trong 30 ngày, ứng dụng tạo ra sử dụng được trong 2 ngày.

    XÂY DỰNG ỨNG DỤNG PALM

    1. Mô tả

    Xây dựng ứng dụng đơn giản nhằm mục đích giúp cho người sử dụng có thể tra cứu, tìm kiếm thông tin về các khách sạn. Người sử dụng có thể cập nhật, sửa, xoá thông tin... trong CSDL.

    2. Giao diện chương trình

    3. Đóng gói và cài đặt ứng dụng

    Cách thức dịch chương trình từ file *.vbp sang file thực thi của Palm *.prc:

    Bước 1: Bổ sung các file cần thiết vào gói cài đặt.

    Vào menu MobileVB của Microsoft Visual Basic 6.0, chọn MobileVB Settings > Dependencies, nhấn "Add" để thêm các file cần thiết của ứng dụng.

    Bước 2: Thiết lập cấu hình cho Palm OS. Nhập vào Creator ID (4 ký tự duy nhất và chưa từng sử dụng trước đây) và chọn tên của HotSync để đồng bộ dữ liệu.

    Sang tab Advanced, đánh dấu chọn "Include Booster files with install package" để đưa vào các file Booster cần thiết cho việc chạy ứng dụng trên thiết bị Palm (hay Palm OS Emulator), rồi nhấn OK.

    Bước 3: Dịch chương trình sang file *.prc (file thực thi của Palm).

    Vào menu MobileVB của Microsoft Visual Basic 6.0, chọn Deploy Device > Palm OS.


    4. Đưa ứng dụng từ PC sang máy Palm

    Bước 1: Kích hoạt HotSync Manager.

    Bước 2: Khởi động máy Palm, chạy HotSync trên thiết bị này (nhấn biểu tượng HotSync trong mục các ứng dụng).

    Nhấn Menu và chọn HotSync, rồi chọn "Primary PC Setup".

    Nhập tên của PC và địa chỉ IP, nhấn OK để trở về màn hình chính của HotSync.

    Tiến hành chọn Local, chọn "Cradle/Cable" để đưa ra phương pháp truyền tải và đồng bộ dữ liệu từ PC sang Palm.

    Bước 3: Từ PC, chạy ứng dụng Palm Quick Install, vào menu File > Add File để thêm vào file cài đặt ứng dụng chạy trên Palm.

    Cửa sổ Open xuất hiện, chọn file muốn thêm rồi nhấn Open.

    Bước 4: Nhấn vào biểu tượng HotSync để bắt đầu quá trình đồng bộ dữ liệu từ PC sang Palm (hay có thể nhấn nút HotSync nhanh trên máy). Nếu quá trình đồng bộ thành công sẽ xuất hiện thông báo tiến trình đã diễn ra thành công.

    Bước 5: Chạy ứng dụng.

    Trên đây là một ứng dụng nhỏ cho máy Palm. Nếu các bạn cần mã nguồn của chương trình này thì có thể liên hệ với tôi theo địa chỉ email ndinhhai99@gmail.com hay ndhai.ubnd@thuathienhue.gov.vn.

    Nguyễn Đình Hải
    VP UBND Tỉnh Thừa Thiên Huế
     

    ID: A0511_124