Diễn đàn www.javavietnam.org 8h:14 AM - 07/01/2009
Tìm kiếm nâng cao
Thời khóa biểu mới của trường           Vi phạm bản quyền phần mềm có thể bị xử lý hình sự           Google suy nghĩ về động thái mới của Microsoft           Google đoạt ngôi website No 1 tại Mỹ           Quảng cáo tương tác là ‘mỏ vàng’ cho mạng xã hội VN           Bài 14: Lập trình giao diện cấp cao với lớp List (phần 3)           Bài 13: Lập trình giao diện cấp cao với lớp List (phần 2)           Bài 12: Lập trình giao diện cấp cao với lớp List           Bài 11: Lập trình giao diện cấp cao với lớp Alert (phần 2)           Bài 10: Lập trình giao diện cấp cao với lớp Alert           Hồ sơ
Bài học Java   
Bài 13: Lập trình giao diện cấp cao với lớp List (phần 2)
11:28:19 06-05-2008

Trong bài trước bạn đã làm quen với lớp giao diện cấp cao thứ hai, đó là lớp List. Hôm nay tôi sẽ tiếp tục trình bày một số kỹ thuật nâng cao với lớp List cùng một số bài tập thực hành.

Lớp List có 2 hàm khởi tạo được định nghĩa như sau:

public List(String title,
              int listType)



public List(String title,
              int listType,
              String[] stringElements,
              Image[] imageElements)


Bạn chú ý listType là kiểu của List, có các giá trị là Choice.MULTIPLE, Choice.EXCLUSIVE và Choice.IMPLICIT.

Chúng ta sẽ tiếp tục sử dụng dự án trong bài trước bằng cách thay đổi mã nguồn tập tin ListDemo.java. Một danh sách cho phép người dùng chọn nhiều tuỳ chọn cùng lúc sẽ được khởi tạo bằng tuỳ chọn Choice.MULTIPLE. Khi hiển thị danh sách với nhiều tuỳ chọn cùng lúc, điện thoại thường sẽ hiển thị một hộp hình vuông và những tuỳ chọn được lựa sẽ có một dấu hiệu cho biết đã được lựa chọn. Trong hình sau thì Nokia và Motorola được chọn.

Bài tập 1: Sửa lại chương trình ListDemo.java, viết chương trình thăm dò người dùng với câu hỏi “Bạn đã từng sử dụng dịch vụ của nhà cung cấp nào?” với 4 sự lựa chọn có thể cùng lúc là MobiFone, VinaFone, Viettel, Sfone. Câu trả lời của người dùng sẽ được hiển thị dùng lớp Alert (Bạn xem lại Chip M số 43 và 44 để biết cách dùng lớp Alert).

Đôi khi một danh sách có nhiều sự lựa chọn nhưng chỉ một lựa chọn có thể được chọn tại một thời điểm, và các tuỳ chọn này được gọi là loại trừ lẫn nhau. Để tạo được kiểu danh sách này, bạn hãy dùng kiểu Choice.EXCLUSIVE khi khởi tạo lớp List. Thường thì điện thoại thật hiển thị mỗi tuỳ chọn trong trường hợp này bằng vòng tròn như trong hình sau (chú ý lựa chọn hiện thời là từ 20 đến 29)

Bài tập 2: Sử dụng Choice.EXCLUSIVE để tạo bản thăm dò người dùng về độ tuổi sử dụng điện thoại với câu hỏi “Bạn đang trong độ tuổi nào?” với các tuỳ chọn trả lời là Dưới 10, Từ 10 đến 19, Từ 20 đến 29, Từ 30 đến 39, Từ 40 đến 49, Từ 50 trở lên. Kết quả thăm dò cũng được hiển thị thông qua lớp Alert.

Chú ý trong phương thức khởi tạo thứ hai ở trên (có 4 tham số truyền vào) thì tham số thứ 3 là mảng các giá trị sẽ hiển thị, còn tham số thứ 4 là mảng các hình ảnh nếu có. Nếu dùng hàm khởi tạo thứ hai này thì chương trình sẽ ngắn hơn và không cần dùng các phương thức append() và insert() như trong ví dụ của bài trước. Mảng stringElements phải là một mảng không null và mỗi phần tử cũng không được null. Chiều dài của mảng stringElements cho biết số phần tử trong danh sách List. Mảng imageElements có thể là null và mang ý nghĩa là các phần tử của danh sách không có hình ảnh. Nếu mảng imageElements không null thì kích thước của nó phải bằng đúng với kích thước của mảng stringElements.

Bài tập 3: sử lại bài tập 1 và bài tập 2 ở trên sao cho không dùng phương thức append() và insert() bằng cách dùng phương thức khởi tạo thứ hai ở trên.

Tóm tắt

Trong bài này các bạn đã làm quen với 2 kiểu List thông dụng nhất là Choice.MULTIPLE và Choice.EXCLUSIVE thông qua các bài tập đơn giản. Trong bài sau tôi sẽ tiếp tục trình bày kiểu thứ 3 là Choice.IMPLICIT và giới thiệu cách xử lý lệnh trong MIDP.

[Bài tiếp theo]

Nguyễn Ngọc Minh
minhnn – www.JavaVietnam.org

 
In Gửi Phản hồi
Tin đã đưa   

     
Google
www.javavietnam.org Top