1. NET Compact Framework cho Windows Mobile
Để phát triển ứng dụng cho Windows Mobile, chúng ta sẽ dùng các công cụ sau:
IDE: Visual Studio 2008 (hoặc VS 2005).
Windows Mobile SDK: Tùy vào phiên bản của HĐH Windows Mobile sẽ phát triển, bạn cần các SDK khác nhau. SDK sẽ cung cấp tài liệu đầy đủ về API và các ví dụ cụ thể cho thiết bị tương ứng. Hiện nay thông dụng nhất là các bộ SDK sau:
- Windows Mobile 5.0 SDK: Bộ SDK này đã được cài đặt mặc định khi cài Visual Studio 2008 hoặc Visual Studio 2005, được dùng để phát triển các ứng dụng cho Pocket PC/Smartphone chạy HĐH Windows Mobile 5.0
- Windows Mobile 6.0 SDK: Có thể tải về tại trang web của Microsoft, dùng để phát triển ứng dụng cho Windows Mobile 6.0. Bộ SDK này có các công cụ sau:
- FakeGPS: Giả lập dữ liệu GPS thông qua các API.
- Local Server Framework (FakeServer): Giả lập Server.
- Cellular Emulator: Giả lập các tính năng như GPRS, GSM...
Quản lý thiết bị ảo: Device Emulator Manager (được cài đặt kèm theo VS 2008).
ActiveSync: kết nối Visual Studio với thiết bị thật để bẫy lỗi, kết nối với thiết bị ảo để hỗ trợ truy cập mạng từ thiết bị ảo. Tùy vào hệ điều hành trên máy tính mà bạn dùng các chương trình sau:
- Windows XP: dùng AtiveSync 4.5
- Windows Vista, WinServer 2008: dùng Windows Mobile Device Center
Chúng ta sẽ tìm hiểu cách kết nối ActiveSync/Windows Mobile Device Center (WMDC) với thiết bị giả lập trong Device Emulator.
Bước 1: Cấu hình cho ActiveSync/WMDC nhận kết nối.
Cài đặt ActiveSync/WMDC rồi khởi động. Ở đây minh họa bằng WMDC, với ActiveSync cũng tương tự.
Nhấn vào Connection settings, đánh dấu chọn Allow USB connections, trong danh sách Allow connectons to one of the following chọn DMA, xong nhấn OK.
Như vậy WMDC đã sẵn sàng chờ kết nối với thiết bị. Tiếp theo ta sẽ kết nối thiết bị ảo vào WMDC.
Bước 2: Mở VS2008, vào Tools > Device Emulator Manager để khởi động Device Emulator Manager.
Bước 3: Trong cửa sổ này, chọn thiết bị muốn khởi động. Giả sử ở đây ta dùng USA Windows Mobile 5.0 Pocket PC R2 Emulator (trình giả lập Pocket PC chạy Windows Mobile 5.0). Nhấn chuột phải lên đó, chọn Connect để khởi động thiết bị giả lập.
Bước 4: Sau khi đã khởi động được trình giả lập thiết bị, trở lại của sổ Device Emulator Manager, nhấn phải vào USA Windows Mobile 5.0 Pocket PC R2 Emulator, chọn Cradle để kết nối thiết bị ảo với WMDC.
Nếu kết nối thành công, cửa sổ WMDC sẽ xuất hiện, nhấn vào Connect without setting up your device để bắt đầu kết nối. (Nếu bạn muốn đồng bộ tài liệu trên thiết bị ảo và máy tính thì có thể nhấn vào Set up your device, nhưng thao tác này không bắt buộc).
Trở lại với thiết bị ảo, một icon hiện lên báo hiệu kết nối thành công.
Nếu máy tính có kết nối Internet, bạn có thể duyệt web ngay trên thiết bị ảo bằng cách vào Start > Internet Explorer.
Bây giờ chúng ta sẽ xây dựng một ứng dụng đơn giản để giải Sudoku trên Windows Mobile 5.0.
Khởi động VS 2008. Vào File > New > Project (Ctrl + Shift + N). Trong danh sách bên trái chọn Visual C# > Smart Device (bạn có thể chọn ngôn ngữ Visual Basic nếu muốn. Mã nguồn trong phần này là C#, nhưng có thể chuyển sang VB dễ dàng). Trong danh sách bên phải, chọn Smart Device Project. Chọn nền tảng là .NET Framework 3.5, đặt tên Project là SudokuSolver.
Nhấn OK để tạo Project mới, trong Form 1, đặt các thuộc tính Text = Sudoku Solver, MinimizeBox = False.
Trong thanh menu phía dưới Form1, gõ Default vào bên trái, Solve It vào bên phải.
Đặt một TextBox lên Form, đặt các thuộc tính cho TextBox: Name = "textBox1", Dock = "Fill", Font = "Courier New 12pt, Bold", Multiline = "True".
Người dùng sẽ nhập ô số Sudoku vào textBox1, nhấn Solve It để giải. Nút Default dùng để hiện một ô Sudoku mặc định nào đó.
Nhấn đúp lên nút Default và nhập đoạn code sau:
private void menuItem1_Click(object sender, EventArgs e)
{
textBox1.Text = @"800017060
407065000
905080310
300200001
070000040
500004008
086070504
000540206
050620009";
}
Nhấn đúp vào nút Solve It và nhập đoạn code sau:
private void menuItem2_Click(object sender, EventArgs e)
{
if (textBox1.Text.Trim() == "") return;
string s = textBox1.Text.Replace(" ", "").Replace("\t", "");
char[] tA = s.Replace("\r", "").Replace("\n", "").ToCharArray();
textBox1.Text = "";
int[] A = new int[tA.Length];
for (int i = 0; i < tA.Length; i++) A[i] = (int)(tA[i] - '0');
R(A);
}
Nhập thêm 2 hàm sau để hiển thị kết quả:
private void R(int[] A)
{
for (int i = 0; i <= 80; i++)
{
if (A[i] > 0) continue;
ArrayList aL = new ArrayList(new int[]
{ 1, 2, 3, 4, 5, 6, 7, 8, 9 });
for (int j = 0; j <= 80; j++)
if (j / 9 == i / 9 || j % 9 == i % 9 ||
(j / 27 == i / 27 && (j % 9) / 3 == (i % 9) / 3))
aL.Remove(A[j]);
foreach (int k in aL) { A[i] = k; R(A); }
A[i] = 0;
return;
}
print(A);
}
private void print(int[] A)
{
string s = "";
for (int i = 0; i <= 80; i++)
{
s += A[i] + " ";
if (i % 3 == 2) s += " ";
if (i % 9 == 8) s += "\r\n";
if (i % 27 == 26) s += "\r\n";
}
textBox1.Text = s;
}
Nhấn F5 để chạy chương trình, chọn USA Windows Mobile 5.0 Pocket PC R2 Emulator, rồi nhấn Deploy để triển khai chương trình này trên thiết bị ảo.
Sau khi Deploy, chương trình đã chạy. Nhấn Default, rồi Solve It để xem kết quả, sử dụng nút OK để thoát.
2. Xcode IDE cho iPhone
Trước tiên bạn cần có HĐH MAC OS 10.5.4 trở lên và iPhone SDK (tải về tại đây).
Bản iPhone SDK đã có tích hợp sẵn Xcode. Bạn chỉ việc cài đặt bộ SDK là xong. Phiên bản Xcode tôi sử dụng trong bài viết là 3.1.
Sau khi cài đặt, chạy Xcode trong thư mục /Developer/Applications.
Để tạo project mới, bạn vào menu File => New Project...
Sau đó chọn template cho ứng dụng. Ở đây tôi chọn mục iPhone OS -> Application và chọn template View-Based Application ở bên phải.
Nhấn Choose..., sau đó đặt tên và chọn vị trí lưu project. Nhấn Save.
Đến đây bạn đã sẵn sàng cho việc viết mã lệnh chương trình. Trong màn hình chính để lập trình, các file liên quan được sắp xếp trong các thư mục tương ứng ở bên trái cửa sổ.
Mặc định các file mã nguồn được lưu trong thư mục Classes của project. Ở góc trái phía trên cửa sổ là môi trường để chạy ứng dụng. Ở đây mặc định sẽ chạy trên "Simulator | Debug". Bạn cũng có thể chọn "Device" để chạy trên thiết bị thật nếu đã kết nối iPhone với máy tính.
Bạn nhấn vào file cần soạn mã nguồn và code sẽ được hiển thị ở phần chính của cửa sổ.
Sau khi soạn mã chương trình xong, bạn nhấn vào nút Build and Go ở phía trên để biên dịch. Nếu không có lỗi, project sẽ được cài đặt lên môi trường bạn đã chọn. Nếu trước đó bạn chọn Simulator | Debug, project sẽ được nạp vào thiết bị giả lập. Bạn chạy bằng cách nhấn chuột vào biểu tượng có chữ HelloWorld.
Mobile Labs
(theo PC World VN)