- Xử lý sự kiện với các đối tượng giao diện
B. Các giao thức được hỗ trợ trong GCF
Như ta đã biết, các thiết bị di động nói chung và điện thoại di động nói riêng có khả năng kết nối rất lớn, bởi vì nó được người sử dụng dùng để trao đổi với thế giới bên ngoài tại bất cứ nơi đâu và bất cứ lúc nào. Những khả năng kết nối ấy không chỉ là khả năng thoại hay SMS mà còn là kết nối không dây. Do đó, Để J2me có thể hỗ trợ một số lượng lớn các thiết bị di động khác nhau với nhiều khả năng kết nối và yêu cầu nhập xuất khác nhau GCF đã được thiết kế. GCF định nghĩa kỹ thuật kết nối chung nhất có thể cho mọi loại thiết bị, được dùng chung bởi cả hai loại cấu hình là CDC và CLDC, vì vậy GCF hỗ trợ rất nhiều loại giao thức, nhiều kiểu kết nối khác nhau, ví dụ: Giao thức HTTP, FTP, UDP, Datagram, Socket... Nhưng đối với điện thoại di động, đối với hiện trạng MIDP, giao thức luôn luôn được hỗ trợ là giao thức HTTP, vì vậy trong giáo trình này chúng ta sẽ học cách tạo kết nối HTTP với J2me.
Để bắt đầu, chúng ta sẽ cùng xem GCF cung cấp cho ta những công cụ gì để tiến hành kết nối và trao đổi dữ liệu thông qua đối tượng Connection, đối tượng mà chúng ta đã được làm quen ở mục trên.
Hình 2.42:Phân cấp lớp Connection
Sau đây là mô tả các giao diện kết nối được định nghĩa trong CLDC:
· Giao diệnStreamConnectionNotifier: được dùng khi đợi một kết nối phía server được thiết lập. Phương thức acceptAndOpen() bị chặn cho đến khi client thiết lập kết nối.
· Giao diện InputConnection dùng để thực hiện một luồng nhập tuần tự dữ liệu chỉ đọc.
· Giao diện OutputConnection dùng để thực hiện một luồng xuất dữ liệu chỉ viết.
· Giao diện StreamConnection là kết hợp của cả hai giao diện InputConnection và OutputConnection. Nó dùng cho các thiết bị di động có truyền thông hai chiều.
· Giao diện ContentConnection kế thừa giao diện StreamConnection và thêm vào các phương thức getType(), getEncoding(), và getLength(). Nó cung cấp cơ sở cho giao diện HttpConnection của MIDP.
· Giao diện HttpConnection được định nghĩa trong MIDP và kế thừa giao diện ContentConnection của CLDC. Giao diện này cung cấp các phương thức thiết lập một kết nối HTTP.
Việc sử dụng những đối tượng này như thế nào, trong trường hợp nào để tiến hành giao tiếp và trao đổi dữ liệu chúng ta sẽ được học trong các ví dụ cụ thể dưới đây.