Ngân hàng câu hỏi của chương

Câu hỏi: PRM393 - Form và Validation

30 câu trắc nghiệm kèm lời giải của môn Lập trình di động (Flutter) - Mobile Programming, xếp theo thứ tự nhập vào ngân hàng. Trang 2/2 — câu 21–30.

Danh sách câu hỏi

30/30 câuHết danh sách
21What is the role of a `4 lựa chọncó codeKhó33% trả lời đúng
Đề bài
GlobalKey<FormState>` in Flutter forms?
AIt allows a single codebase to render UI using its own engine across different platforms.
BHot Reload updates the UI without losing state, while Hot Restart resets the app state.
CIt ensures the UI avoids system intrusions like notches, status bars, and camera cutouts.
DIt uniquely identifies the Form and allows access to its state for validation and saving.
Lời giải

Trong Flutter, `GlobalKey<FormState>`đóng vai trò quan trọng trong việc quản lý trạng thái của các form. Nó giúp duy trì trạng thái của form và cho phép truy cập trạng thái này để thực hiện các tác vụ như xác thực và lưu trữ dữ liệu. Điều này cho phép các nhà phát triển dễ dàng quản lý và cập nhật trạng thái của form mà không cần phải viết mã phức tạp. Ngoài ra, `GlobalKey<FormState>`cũng giúp giảm thiểu lỗi và tăng hiệu suất khi sử dụng các form trong ứng dụng Flutter.

Mở trang câu hỏi này →
ArootBundle.loadString()
BAutovalidateMode.onUserInteraction
Cflutter_local_notifications
Dtester.pumpAndSettle()
Lời giải
Để cung cấp phản hồi ngay lập tức cho người dùng khi họ nhập vào một biểu mẫu, bạn nên sử dụng AutovalidateMode.onUserInteraction. Điều này cho phép kiểm tra nhập liệu ngay lập tức khi người dùng nhập vào, giúp người dùng nhận được phản hồi tức thời về việc nhập liệu của họ. Điều này đặc biệt hữu ích khi người dùng nhập vào một biểu mẫu và muốn biết ngay lập tức liệu nhập liệu của họ có hợp lệ hay không. Ngoài ra, sử dụng AutovalidateMode.onUserInteraction cũng giúp người dùng nhận được phản hồi ngay lập tức khi họ thực hiện các hành động như nhấn nút hoặc thay đổi nhập liệu.
Mở trang câu hỏi này →
ArunApp()
BThemeData
Cmain.dart
Dvalidator
Lời giải
Để định nghĩa các chủ đề tùy chỉnh, bao gồm màu sắc và kiểu font, cho toàn bộ ứng dụng Flutter, bạn cần sử dụng lớp ThemeData. Lớp này cho phép bạn tạo ra các chủ đề tùy chỉnh có thể được áp dụng cho toàn bộ ứng dụng. Bạn có thể sử dụng ThemeData để định nghĩa màu sắc, kiểu font, kích thước font, và các thuộc tính khác để tạo ra một chủ đề duy nhất cho ứng dụng của mình. Ngoài ra, bạn cũng có thể sử dụng ThemeData để tạo ra các chủ đề khác nhau cho các màn hình hoặc các phần khác nhau của ứng dụng.
Mở trang câu hỏi này →
AMediaQuery
Bvalidator
Cmain.dart
Dimplements
Lời giải
Để xác định kích thước màn hình, hướng màn hình và khoảng trống của màn hình trong Flutter, bạn có thể sử dụng công cụ 'MediaQuery'. 'MediaQuery' cung cấp thông tin về kích thước màn hình, hướng màn hình và khoảng trống của màn hình, giúp bạn có thể điều chỉnh ứng dụng của mình để phù hợp với các thiết bị khác nhau. Ví dụ, bạn có thể sử dụng 'MediaQuery' để lấy kích thước màn hình và điều chỉnh vị trí của các widget trong ứng dụng của mình. Ngoài ra, 'MediaQuery' cũng cung cấp các phương thức để lấy thông tin về hướng màn hình và khoảng trống của màn hình, giúp bạn có thể điều chỉnh ứng dụng của mình để phù hợp với các thiết bị khác nhau.
Mở trang câu hỏi này →
Aflutter_local_notifications
BrootBundle.loadString()
CAutovalidateMode.onUserInteraction
Dtester.pumpAndSettle()
Lời giải
Để hiển thị thông báo địa phương trên thiết bị của người dùng mà không cần sử dụng một máy chủ đẩy, chúng ta cần sử dụng gói phần mềm phù hợp. Trong các lựa chọn đã cho, gói phần mềm được sử dụng để hiển thị thông báo địa phương là "flutter_local_notifications". Đây là một gói phần mềm phổ biến được sử dụng để hiển thị thông báo trên thiết bị di động chạy hệ điều hành Android và iOS. Nó cho phép bạn tạo và hiển thị thông báo địa phương mà không cần sử dụng một máy chủ đẩy. Ngoài ra, nó cũng cung cấp các tính năng như quản lý thông báo, tùy chỉnh thông báo và hỗ trợ đa ngôn ngữ. Vì vậy, nếu bạn cần hiển thị thông báo địa phương trên thiết bị của người dùng mà không cần sử dụng một máy chủ đẩy, "flutter_local_notifications" là lựa chọn phù hợp.
Mở trang câu hỏi này →
Amain.dart
Bvalidator
CrunApp()
DThemeData
Lời giải
Để xác định logic tùy chỉnh để kiểm tra xem đầu vào có hợp lệ hay không, bạn cần sử dụng thuộc tính "validator" của "TextFormField". Thuộc tính này cho phép bạn định nghĩa các chức năng kiểm tra để xác minh dữ liệu nhập vào.
Mở trang câu hỏi này →
A`validate` clears the form
BOrder does not matter
COnly commit data via `save()` when fields are valid
D`save()` always throws
Lời giải
Khi gọi hàm `validate()` trước `save()`, mục đích chính là để kiểm tra dữ liệu nhập vào có hợp lệ hay không. Nếu dữ liệu không hợp lệ, hàm `validate()` sẽ tự động báo lỗi và ngăn chặn việc lưu trữ dữ liệu vào cơ sở dữ liệu. Điều này giúp đảm bảo rằng dữ liệu được lưu trữ vào cơ sở dữ liệu luôn chính xác và hợp lệ. Vì vậy, việc gọi hàm `validate()` trước `save()` là một bước quan trọng trong quy trình lưu trữ dữ liệu.
Mở trang câu hỏi này →
28Which method resets all form fields?4 lựa chọn
Aremove()
Bdispose()
Creset()
Dclear()
Lời giải
Để reset tất cả các trường trong một form, bạn cần sử dụng phương thức reset(). Phương thức này sẽ xóa tất cả dữ liệu nhập vào trong form và đưa nó về trạng thái ban đầu. Điều này có thể hữu ích khi bạn muốn bắt đầu lại quá trình nhập liệu hoặc khi bạn muốn xóa dữ liệu không mong muốn. Phương thức reset() thường được sử dụng trong các trường hợp này. Các phương thức khác như remove(), dispose() và clear() không thực hiện chức năng reset form.
Mở trang câu hỏi này →
APasswordField
BSecureInput
CObscureText
DTextField
Lời giải
Widget có thể ẩn văn bản nhập liệu của người dùng khi được cấu hình cho việc nhập mật khẩu là gì? Để trả lời câu hỏi này, chúng ta cần xem xét các lựa chọn được đưa ra. Lựa chọn đầu tiên là PasswordField. Đây là một widget phổ biến trong lập trình đồ họa người dùng (GUI) được sử dụng để nhập mật khẩu. Nó thường được thiết kế để ẩn văn bản nhập liệu để bảo vệ thông tin mật khẩu khỏi sự quan sát không mong muốn. Lựa chọn thứ hai là SecureInput. Mặc dù nó cũng có thể được sử dụng để nhập mật khẩu, nhưng nó không phải là lựa chọn phổ biến nhất. Lựa chọn thứ ba là ObscureText. Đây là một widget có thể ẩn văn bản nhập liệu, nhưng nó không được thiết kế đặc biệt cho việc nhập mật khẩu. Cuối cùng, lựa chọn thứ tư là TextField. Đây là một widget cơ bản được sử dụng để nhập văn bản, nhưng nó không được thiết kế để ẩn văn bản nhập liệu. Vì vậy, dựa trên các lựa chọn được đưa ra, PasswordField là widget phù hợp nhất để ẩn văn bản nhập liệu của người dùng khi được cấu hình cho việc nhập mật khẩu.
Mở trang câu hỏi này →
ALong forms
BMinimal validation
CClear labels and feedback
DHidden errors
Lời giải
Đáp án đúng: C. Nguyên tắc thiết kế nâng cao trải nghiệm biểu mẫu là nhãn rõ ràng và phản hồi tức thời: mỗi trường có nhãn dễ hiểu, gợi ý định dạng, và khi nhập sai thì thông báo lỗi hiện ngay cạnh trường với hướng dẫn cách sửa. Trong Flutter, InputDecoration cùng validator của TextFormField phục vụ đúng mục đích này. Biểu mẫu quá dài (A) làm người dùng bỏ cuộc; kiểm tra dữ liệu sơ sài (B) đẩy lỗi xuống phía sau; ẩn thông báo lỗi (D) khiến người dùng không biết phải sửa gì - cả ba đều làm giảm tính khả dụng.
Mở trang câu hỏi này →