Tìm hiểu công nghệ .Net Compact Framework
16/4/20081
Mục Lục
Chương 1. Công nghệ .Net Compact Framework .......................................................... 2
1.1. Giới thiệu .Net Compact Framework ................................................................... 2
1.2. Kiến trúc của .Net Compact Framework ........................................................... 17
Chương 2. Phát triển ứng dụng với Windown Form .................................................... 20
2.1. Các điều khiển không được hỗ trợ trong .Net Compact Framework ................. 20
2.2. Các hàm không được hỗ trợ trong .Net Compact Framework ........................... 20
2.3. Thiết kế Form với Visual Studio .Net ................................................................ 21
2.4. Sự khác nhau giữa các nền tảng Windows Form ............................................... 26
2.5. Làm việc với điều khiển Form ........................................................................... 28
2.6. Điều khiển Button .......................................................................................... 31
2.7. Điều khiển Textbox ........................................................................................ 33
2.8. Điều khiển Label ............................................................................................. 33
2.9. Điều khiển RadioButton .................................................................................... 33
2.10. Điều khiển CheckBox .................................................................................... 34
2.11. Điều khiển ComboBox .................................................................................... 35
2.12. Điều khiển ListBox ......................................................................................... 37
2.13. Các điều khiển khác ......................................................................................... 38
Chương 3. Kết nối cơ sở dữ liệu trong .Net Compact Framework ............................... 39
3.1. ADO.Net trên .Net Compact Framework .......................................................... 39
3.2. Lập trình với Microsoft SQL Server CE ........................................................... 48
Tài liệu tham khảo……………………………………………………………………66
Nh chỳng ta ó bit, trc õy vic phỏt trin ng dng cho cỏc thit b cm tay
ũi hi cỏc k nng lp trỡnh c bit, ti nguyờn lm vic cho cỏc thit b luụn b hn ch
v ũi hi cỏc k nng thit k c bit xõy dng mt ng dng tt m cú th lm vic
trờn mt mn hỡnh cú kớch thc bộ hn rt nhiu so vi kớch thuc ca desktop. Chớnh vỡ
vy nhng ngi phỏt trin ng dng cho cỏc thit b cm tay gp rt nhiu khú khn.
Tuy nhiờn, ngy nay vi .Net Compact Framework v Smart Device Extension(SDE)
c tớch hp sn trong Visual Studio .Net, Microsoft ó cung cp nhng k nng phỏt
trin phn mm mi phự hp cho nhng ngi phỏt trin phn mm trờn desktop v trờn
mobile. Nhng ngi ó cú k nng lm vic tt vi .Net Framework y trong Visual
Studio .Net cú th d dng phỏt trin ng dng cho cỏc thit b cm tay bng cỏch s
dng mụi trng lm vic tng t, cỏc ngụn ng lp trỡnh tng t v cỏc lp th vin
l tp con ca th vin y .
1.1.1. S lc v lch s ca cỏc thit b Smart Mobile Computing
.Net Compact Framework h tr cho cỏc thit b cú mt s c im di õy:
Cú mt CPU cú kh nng x lý thụng tin tt
Cú Ram lu tr chng trỡnh v d liu
Cú b nh ngoi
Cỏc c im trờn c xem nh c im ca mt thit b thụng minh. Tuy nhiờn,
õy khụng phi l mt nh ngha v mt thit b thụng minh. Do ú cng cú ngi phỏt
biu rng mt thit b thụng minh l thit b cú kớch thc mn hỡnh nh, cú kh nng kt
ni vi mng mỏy tớnh v chy cỏc chng trỡnh. Mt s mobile phone thc hin gi
thụng ip v cú kh nng truy cp vo ni dung Web thụng qua Wap hoc i-mode,
nhng cỏc thit b mobile ny ớt hoc khụng h tr chy cỏc ng dng khỏch hng. Cỏc
thit b smart mobile m chy trờn nn tng .Net Compact Framework cú kh nng ú
hn so vi cỏc thit b mobile phone.
a. S khi u ca mỏy tớnh xỏch tay
Mỏy tớnh xỏch tay u tiờn l Osbone 1, c gii thiu ti West Coast Computer
Fair vo thỏng 4 nm 1981. Osbone cú mn hỡnh CRT nh kớch thc 5-inch, mn hỡnh
Tên Personal Digital Assistant được đặt đầu tiên bởi Apple CEO John Sculley
trong một bài phát biểu tại Winter Consumer Show vào năm 1992. Năm 1993 Apple’s
Newton MessagePad ra đời (hình 1.2). Tính chất đổi mới của thiết bị này là sử dụng bút
để nhập thông tin vào và thừa nhận các chữ viết tay, có thể quản lý thông tin cá nhân
(PIM) và có khả năng liên lạc. Apple’s Newton chỉ thành công trong một thời gian vì
ngay sau đó xuất hiện sự cạnh tranh của một số công ty như Amstrad PenPad, the Casio
and Tandy Zoomer, the Sony MagicLink, and the IBM/Bell South Simon.
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN
Tỡm hiu cụng ngh .Net Compact Framework
16/4/20084
Hỡnh 1.2. Mỏy Newton Apple
d. Microsoft v cỏc thit b cm tay
Cựng vi s phỏt trin ca th trng PDA, Microsoft cng ó cho ra i cỏc h
h iu hnh nh Window CE (1996) v Pocket PC 2000, vWindow Mobile 2005. Hin
nay trờn th trng cú rt nhiu sn phm s dng h iu hnh Window CE, Pocket PC
2000 v Window Mobile 2005 ca Microsoft nh:
O
2
: õy l nhón hiu ni ting nht trong dũng Pocket PC trờn th trng Vit
Nam. Mt s sn phm loi ny ang cú mt ti Vit Nam nh l O
2
XDA, O
2
XDAII, O
2
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN
Tỡm hiu cụng ngh .Net Compact Framework
16/4/20086
iPaq rw6828: l thit b h tr cỏ nhõn u tiờn s dng h iu hnh Windows
Mobile 5 h tr chc nng push-email ca hóng Hewlett Packard. Do chy h iu hnh
Windows Mobile 5 nờn thit b cng c ci t sn cỏc ng dng vn phũng nh: MS
Word, Excel, Power Point, Internet Explorer v Outlook 2002.
Ngoi ra cũn cú mt s sn phm khỏc nh Mio 168RS s dng h iu hnh
Windows Mobile 2003 Second Edition, Atom Exec ca hóng O
2
s dng h iu hnh
Windows Mobile 5.0, Siemens SX66 s dng h iu hnh Windows Mobile 2003
Second Edition vv.
1.1.2. Nhng nột mi trong .Net Compact Framework
.NET Compact Framework l nn tng d liu cho cỏc ng dng Visual Studio
.NET c phỏt trin cho cỏc thit b di ng s dng h iu hnh Windows CE hoc
Windows Mobile. Nú l phiờn bn nh ca phiờn bn y .Net Framework, nú bao
gm mt tp con cỏc lp th vin c bn ca .Net Framework v mt s lp th vin
mi c thit k c bit s dng cho cỏc thit b mobile. Ngoi ra .Net Compact
Framework cũn cú s b sung mi cho CLR cho phộp cỏc ng dng cú th chy tt
trờn cỏc thit b nh m b hn ch v c nng lng ca b nh v CPU.
Cỏc ngụn ng lp trỡnh truyn thng nh C, C++, Pascal, v..v, thng s dng
mt trỡnh biờn dch chuyn trc tip mó ngun sang mó mỏy hiu c. Vi cỏch lm
ny, ũi hi nhng ngi lp trỡnh phi tp trung vo vic qun lý cỏc chi tit mc thp
nh vic phõn hoch b nh v vic tng tỏc vi cỏc mó th vin bờn ngoi. Cỏc mó th
• Trình biên dịch cho các ứng dụng là tương tự nhau, không quan tâm đến kiến trúc
xử lý bên dưới. Những người lập trình có thể xây dựng một ứng dụng và triển
khai nó trên phần cứng chạy hệ điều hành Pocket PC hoặc Window CE.
• .Net Compact Framework cung cấp một định dạng chung cho API để những
người lập trình có thể viết ứng dụng trên nhiều ngôn ngữ khác nhau được hỗ trợ
bởi .Net Compact Framework.
• .Net Compact Framework cũng hỗ trợ phát triển Window Forms giúp nhanh
chóng đưa ra giao diện người dùng cho ứng dụng.
• .Net Compact Framework cung cấp các lớp truy cập dữ liệu, các lớp thao tác
XML, tập các kiểu dữ liệu cơ sỏ, cho phép dễ dàng sử dụng sự hỗ trợ của
networking và nhiều hơn nữa.
• .Net Compact Framework và Common language runtime (Ngôn ngữ thực thi
chung) cung cấp khả năng thu gom rác
• .Net Compact Framework cung cấp kiểu chuỗi mà không cần phải hiểu sự phức
tạp của việc tạo thành các chuỗi trực tiếp từ hệ điều hành.
• Nhiều phiên bản của .Net Compact Framework có thể hoạt động cùng nhau. Các
ứng dụng sẽ hướng tới các phiên bản mà chúng biết là chúng tương thích với
phiên bản đó.
1.1.3. Smart Device Extension và .Net Compact Framework
a. Yêu cầu hệ thống
Smart Device Extensions là môi trường phát triển tích hợp (IDE) mà các nhà phát
triển nhằm vào .NET Compact Framework. Nó là một thành phần củaVisual Studio .NET
version 7.1 hoặc mới hơn.
Để chạy được các công cụ trên, yêu cầu tối thiểu về cấu hình như sau:
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN
Tìm hiểu công nghệ .Net Compact Framework
b. Sử dụng Smart Device Extension trong quá trình phát triển
Cách dễ nhất để phát triển .NET Compact Framework là sử dụng Smart Device
Extensions trong Visual Studio .NET 7.1. Nó đơn giản là mở rộng của Visual Studio 7.1,
Smart Device Extensions đưa ra các kiểu tạo ứng dụng, cho phép chúng ta tập chung vào
các thiết bị sử dụng Windows CE hỗ trợ .NET Compact Framework, như là Pocket PC.
Điều này có nghĩa là sử dụng Smart Device Extensions để phát triển các ứng dụng trên
Windows CE như phát triển các ứng dụng trên Windows 2000 or XP.
Tạo ứng dụng cho các thiết bị Pocket PC
Chúng ta sẽ tạo một ứng dụng đơn giản “Hello World” bằng ngôn ngữ C#.
Bước 1: Khi chúng ta chạy Visual Studio .NET lần đâu, sẽ hiển thị Start Page, như hình
1.3. Để tạo ứng dụng mới, bấm vào nút có nhãn New Project gần phía dưới của màn hình.
Hoặc vào menu File -> New -> Project hoặc sử dụng Ctrl+ Shift +N.
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN
Tìm hiểu công nghệ .Net Compact Framework
16/4/20089
Hình 1.3. Start Page được hiển thị khi chạy Visual Studio .NET.
Bước 2: Sau khi chọn New Project, một hộp thoại xuất hiện cho phép chúng ta chọn kiểu
dự án, nền tảng và mẫu ứng dụng. Lựa chọn như hình 1.4. Điền tên dự án vào mục Name,
và nơi chứa dự án vào mục Localtion. Trong hộp thoại này có 2 phần:
- "Project types": Phần này cho phép chúng ta chọn kiểu thiết bị mà chúng ta muốn phát
triển trên nó. Chúng ta sẽ chọn nền tảng Pocket PC, điều này có nghĩa ứng dụng của
chúng ta sẽ chạy trên tất cả các thiết bị hỗ trợ hệ điều hành Pocket PC.
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN
Tìm hiểu công nghệ .Net Compact Framework
16/4/200811
Bước 3. Sau khi lựa chọn xong ta nhấn vào nút OK ta được màn hình như hình 1.5
Hình 1.5. Thiết kế Form xuất hiện sau khi dự án được tạo
Bước 4. Bên trái của phần thiết kế Form, là nhãn Toolbox. Bấm vào đó đưa đến cho
chúng ta hộp công cụ Toolbox, như hình 1.6.
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN
Tìm hiểu công nghệ .Net Compact Framework
16/4/200812 Hình 1.6. Hộp công cụ Toolbox cho dự án Smart Device Application
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN
Tìm hiểu công nghệ .Net Compact Framework
16/4/200815
Hình 1.9. Trước khi triển khai ứng dụng trên thiết bị, Visual Studio
đưa ra hộp thoại.
Bước 9: Để chạy thử ứng dụng trên máy tính Desktop, chúng ta chọn Pocket PC 2002
Emulator. Nếu muốn chạy thử trên thiết bị thực, chúng ta chọn Pocket PC Device. Phải
đảm bảo rằng thiết bị đã được kết nối thông quan đường ActiveSync trước khi triển khai
ứng dụng trên thiết bị. Sau đó chọn Deploy.
Bước 10: Visual Studio cài đặt .NET Compact Framework và chạy ứng dụng. Nếu chúng
ta bấm vào nút Button1, chúng ta nhận được thông báo “Hello World” như hình 1.10.
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN
Tìm hiểu công nghệ .Net Compact Framework
16/4/200816Hình 1.10. Thiết bị emulator chạy ứng dụng hello world.
1.1.4. Các nền tảng của .Net Compact Framework
Phiên bản đầu tiên của .Net Compact Framework hỗ trợ cho Windows-powered
là hệ điều hành Pocket PC 2002, nó có thể chạy được trên các thiết bị có kích
thước nhỏ hơn và màn hình có tính cảm ứng so với các thiết bị chạy trên Pocket
PC.
1.2. Kiến trúc của .Net Compact Framework
.Net Compact Framework không tồn tại đơn lẻ, nó tồn tại dựa trên 3 tầng công
nghệ: Common Language Runtime, trình biên dịch Just-in-time và hệ điều hành Window
CE. Hình 1.1 là sơ đồ kiến trúc mô tả một ứng dụng tương tác với .Net Compact
Framework và các tầng bên dưới như thế nào:
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN
Tìm hiểu công nghệ .Net Compact Framework
16/4/200818Hình 2.1: Sơ đồ mô tả kiến trúc .Net Compact Framework
In-Time
Trỡnh biờn dch Just-in-time cú nhim v chuyn mó managed sang mó native
mt chng trỡnh managed cú th c thc thi. Cú 2 trỡnh biờn dch JIT trong .Net
Compact Framework ú l "SJIT" v "IJIT.".
IJIT l trỡnh biờn dch sn cú vi mi CPU m c h tr bi .Net Compact
Framework: ARM, MIPS, SHx, v x86. Trỡnh biờn dch IJIT biờn dch mó managed sang
mó mỏy nhanh hn trỡnh biờn dch SJIT nhng mó mỏy c biờn dch ra khụng tt bng
vi mó c sinh ra t trỡnh biờn dch SJIT.
SJIT l trỡnh biờn dch ch cú sn i vi b x lý ARM. Cỏc thit b chy trờn nn tng
Pocket PC thng s dng b x lý ARM.
THệ VIEN ẹIEN Tệ TRệẽC TUYEN
Tìm hiểu công nghệ .Net Compact Framework
16/4/200820
Chương 2. Phát triển ứng dụng với Windown Form
Trong chương này chúng ta sẽ tìm hiểu về:
NotificationBubble
•
NotifyIcon
•
All Print controls
•
RichTextBox
•
Splitter
2.2. Các hàm không được hỗ trợ trong .Net Compact Framework
Dưới đây là danh sách các hàm không được hỗ trợ trong .Net Compact Framework:
•
AcceptButton
•
CancelButton
•
AutoScroll
•
Anchor
•
Multiple Document Interface (MDI)
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN
Tìm hiểu công nghệ .Net Compact Framework
16/4/200821
•
KeyPreview
22 Hình 2.1. SDE Pocket PC trong màn hình Designer view
Khi Form Designer được sử dụng để xây dựng ứng dụng, phương thức
InitializeComponent chứa mã nguồn để xây dựng giao diện của ứng dụng. Mã nguồn này
có ảnh hướng rất lớn đến quá trình thực hiện nếu trên form chứa một số điều khiển ẩn.
Trên .NET Compact Framework yêu cầu các cửa sổ được tạo theo hướng từ trên xuống.
Ví dụ, nếu một panel được đặt trên form và panel đó chứa một số điều khiển, panel đó sẽ
được thêm vào form trước, và sau đó các điều khiển mới được thêm vào panel. Điều này
khác với cách thiết kế form trong Visual Studio .Net. Trong Visual Studio .Net, các cửa
sổ được thiết kế theo hướng từ dưới lên. Ví dụ của đoạn mã thiết kế được sinh ra trong
Visual Studio .Net và .Net Compact Framework dưới đây sẽ cho chúng ta thấy điều này:
Mã được sinh ra trong Visual Studio .Net:
// Đây là đoạn mã được sinh ra từ Form thiết kế trong Visual Studio //.Net. Ở đây
form được xây dựng theo hướng từ dưới lên
// Button thêm vào Panel...Panel thêm vào Form
this.panel1.Controls.Add(this.button1);
this.panel1.Location = new System.Drawing.Point(16,
16);
this.panel1.Size = new System.Drawing.Size(208, 168);
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN
Tìm hiểu công nghệ .Net Compact Framework
16/4/200823
//
//
this.panel1.Controls.Add(this.button1);
this.Menu = this.mainMenu1;
this.Text = "Form1";
THÖ VIEÄN ÑIEÄN TÖÛ TRÖÏC TUYEÁN
Tìm hiểu công nghệ .Net Compact Framework
16/4/200824
2.3.2. Cửa sổ ToolBox
Cửa sổ ToolBox bao gồm tất cả các điều khiển của .NET Compact Framework
mà chúng ta có thể thêm vào ứng dụng. Để thêm một điều khiển vào ứng dụng vào lúc
thiết kế rất dễ, chúng ta có thể thực hiện bằng cách kéo một điều khiển từ ToolBox và thả
vào Forms của ứng dụng trong cửa sổ Form Designer. Hình 3.2 Hình 2.2. Cửa sổ ToolBox cho dự án SDE Pocket PC.
2.3.3. Cửa sổ Propertises
Cửa sổ thuộc tính bao gồm tất cả các thuộc tính public của điều khiển đang được
lựa chọn trong cửa sổ Form Designer. Chúng ta có thể thay đổi thuộc tính của điều khiển
bằng cách đưa giá trị vào điều khiển TextBox bên cạnh các tên thuộc tính. Nếu thuộc tính
có số lượng giá trị giới hạn thì hộp drop-down chứa các giá trị có thể của thuộc tính được
hiển thị bên cạnh tên thuộc tính đó. Nếu giá trị của thuộc tính là một tập hợp các đối
tượng hoặc một đối tượng phức tạp,thì ở đó có thể là dấu 3 chấm nằm bên cạnh tên thuộc
tính. Khi click chuột vào dấu 3 chấm đó sẽ hiển thị một hộp thoại cho phép chúng ta sửa
đổi giá giá trị của thuộc tính. Hình 3.3 hiển thị cửa sổ thuộc tính khi một điều khiển
TextBox được chọn.