PRM393Chưa đoKỳ 8Chuyên ngành Cập nhật 07/09/2026
Lập trình di động (Flutter) - Mobile Programming
512Câu hỏi
1Bộ đề
15Chủ đề
5,02 đánh giá
Câu hỏi của môn
484/512 câuCòn 28
465Which widget is best used to add fixed empty space?4 lựa chọn
A
ContainerB
ExpandedC
SizedBoxD
PaddingLời giải
Mở trang câu hỏi này →Để thêm khoảng trống cố định vào giao diện, bạn nên sử dụng widget SizedBox. Widget này cho phép bạn thêm khoảng trống cố định vào giao diện bằng cách sử dụng thuộc tính 'height' hoặc 'width'. Điều này giúp bạn có thể tạo ra các khoảng trống tùy chỉnh để sắp xếp các widget khác một cách hợp lý. Ngoài ra, bạn cũng có thể sử dụng thuộc tính 'color' để thêm màu sắc cho khoảng trống, giúp tạo ra một giao diện đẹp mắt hơn. Tổng thể, SizedBox là một widget mạnh mẽ và linh hoạt giúp bạn thêm khoảng trống cố định vào giao diện một cách dễ dàng.
466What does CurvedAnimation provide?4 lựa chọn
AAnimation curve behavior
BLayout control
CState updates
DNavigation
Lời giải
Mở trang câu hỏi này →CurvedAnimation cung cấp khả năng điều khiển hành vi của animation theo một đường cong nhất định. Điều này cho phép người dùng tạo ra các hiệu ứng animation phức tạp và đa dạng hơn. Ví dụ, bạn có thể sử dụng CurvedAnimation để tạo ra một animation di chuyển theo một đường cong tròn hoặc một đường cong phức tạp khác. Điều này giúp tăng cường trải nghiệm người dùng và tạo ra một giao diện người dùng hấp dẫn hơn.
467What is the main risk of improper state management?4 lựa chọn
APackage conflicts
BUI inconsistency
CLonger compile time
DBuild errors
Lời giải
Mở trang câu hỏi này →Quá trình quản lý trạng thái không đúng có thể dẫn đến sự không nhất quán trong giao diện người dùng. Khi không có quản lý trạng thái phù hợp, ứng dụng có thể không phản hồi đúng cách với các tương tác của người dùng, dẫn đến sự không nhất quán trong giao diện. Điều này có thể gây ra sự khó chịu cho người dùng và ảnh hưởng đến trải nghiệm của họ. Ngoài ra, sự không nhất quán trong giao diện cũng có thể dẫn đến sự nhầm lẫn và khó khăn trong việc sử dụng ứng dụng. Vì vậy, quản lý trạng thái phù hợp là rất quan trọng để đảm bảo giao diện người dùng được nhất quán và dễ sử dụng.
468What is the role of events in BLoC?4 lựa chọn
AStore UI
BTrigger state changes
CHandle layout
DRender widgets
Lời giải
Mở trang câu hỏi này →Trong mô hình BLoC, các sự kiện đóng vai trò quan trọng trong việc điều khiển trạng thái ứng dụng. Khi một sự kiện được kích hoạt, nó sẽ truyền thông tin đến BLoC (Business Logic Component), sau đó BLoC sẽ xử lý thông tin đó và cập nhật trạng thái ứng dụng. Điều này giúp ứng dụng trở nên linh hoạt và dễ dàng quản lý trạng thái. Ví dụ, khi người dùng nhập thông tin vào một trường văn bản, sự kiện 'nhập thông tin' sẽ được kích hoạt và truyền thông tin đó đến BLoC. BLoC sẽ xử lý thông tin đó và cập nhật trạng thái ứng dụng, chẳng hạn như cập nhật dữ liệu trong cơ sở dữ liệu hoặc hiển thị thông báo cho người dùng.
469Which method resets all form fields?4 lựa chọn
A
remove()B
dispose()C
reset()D
clear()Lời giải
Mở trang câu hỏi này →Để 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.
A
PasswordFieldB
SecureInputC
ObscureTextD
TextFieldLời giải
Mở trang câu hỏi này →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.
471What is implicit animation?4 lựa chọn
ANavigation animation
BAPI animation
CAnimation without controller
DManual animation control
Lời giải
Mở trang câu hỏi này →Implicit animation là một loại animation được tạo ra mà không cần sử dụng controller. Trong khi animation được tạo ra bằng cách sử dụng controller thường được gọi là explicit animation, implicit animation lại được tạo ra tự động mà không cần sự can thiệp của người dùng. Ví dụ, khi bạn di chuyển một view trên màn hình, implicit animation sẽ tự động được tạo ra để tạo ra một hiệu ứng chuyển động mượt mà. Điều này giúp tạo ra một trải nghiệm người dùng tốt hơn và tạo ra một giao diện người dùng thân thiện hơn.
472What is the purpose of parsing JSON?4 lựa chọn
AEncrypt data
BCache responses
CSend requests
DConvert JSON into Dart objects
Lời giải
Mở trang câu hỏi này →Mục đích của việc phân tích JSON (parsing JSON) là chuyển đổi dữ liệu JSON thành các đối tượng có thể sử dụng được trong ứng dụng. Điều này cho phép chúng ta dễ dàng truy cập và sử dụng dữ liệu JSON trong mã nguồn của mình. Ví dụ, khi chúng ta nhận được dữ liệu JSON từ một API, chúng ta có thể sử dụng phương thức parsing để chuyển đổi dữ liệu đó thành các đối tượng có thể sử dụng được trong ứng dụng của mình. Điều này giúp chúng ta dễ dàng truy cập và sử dụng dữ liệu, cũng như giảm thiểu lỗi khi làm việc với dữ liệu JSON.
A
StreamBuilderB
ListViewC
FutureBuilderD
FormLời giải
Mở trang câu hỏi này →Trong Flutter, có một số widget có thể phản hồi với các thay đổi trạng thái xác thực. Trong số các lựa chọn trên, widget StreamBuilder là một trong những widget quan trọng nhất. StreamBuilder là một widget có thể lắng nghe các luồng dữ liệu và phản hồi khi dữ liệu thay đổi. Trong trường hợp xác thực, StreamBuilder có thể lắng nghe các thay đổi trạng thái xác thực và cập nhật giao diện người dùng theo đó. Điều này có nghĩa là khi trạng thái xác thực thay đổi, giao diện người dùng cũng sẽ thay đổi theo. Ví dụ, khi người dùng đăng nhập thành công, giao diện người dùng có thể hiển thị thông tin người dùng, còn khi người dùng đăng nhập thất bại, giao diện người dùng có thể hiển thị thông báo lỗi.
A
DELETEB
PUTC
POSTD
GETLời giải
Mở trang câu hỏi này →Phương thức HTTP được sử dụng để lấy dữ liệu thường là GET. Phương thức GET được sử dụng để yêu cầu dữ liệu từ máy chủ mà không thay đổi dữ liệu hiện có. Nó thường được sử dụng để lấy dữ liệu từ một nguồn cụ thể, chẳng hạn như một trang web hoặc một API. Ví dụ, khi bạn nhập địa chỉ URL của một trang web vào trình duyệt, trình duyệt sẽ gửi một yêu cầu GET đến máy chủ để lấy dữ liệu trang web đó. Phương thức GET thường được sử dụng trong các trường hợp như lấy dữ liệu, liệt kê tài nguyên, hoặc lấy thông tin về một tài nguyên cụ thể.
475Which method retrieves data from SharedPreferences?4 lựa chọn
A
read()B
load()C
get()D
fetch()Lời giải
Mở trang câu hỏi này →Để lấy dữ liệu từ SharedPreferences, chúng ta cần sử dụng phương thức get(). Phương thức này cho phép chúng ta lấy giá trị của một khóa cụ thể từ SharedPreferences. Ví dụ, nếu bạn muốn lấy giá trị của khóa 'username', bạn có thể sử dụng phương thức get() như sau: SharedPreferences prefs = getSharedPreferences(); String username = prefs.getString('username', 'default_value'); Phương thức get() là phương thức được sử dụng rộng rãi nhất để lấy dữ liệu từ SharedPreferences trong Android.
476Which package supports BLoC architecture?4 lựa chọn
A
httpB
flutter_blocC
sqfliteD
providerLời giải
Mở trang câu hỏi này →BLoC (Business Logic Component) là một kiến trúc ứng dụng được sử dụng trong Flutter để quản lý logic kinh doanh. Để sử dụng kiến trúc BLoC trong Flutter, chúng ta cần sử dụng gói flutter_bloc. Gói này cung cấp các lớp và phương thức cần thiết để xây dựng và quản lý logic kinh doanh trong ứng dụng. Nó giúp chúng ta tách rời logic kinh doanh khỏi giao diện người dùng và tạo ra ứng dụng có khả năng mở rộng và dễ bảo trì hơn.
477Why should state be kept as local as possible?4 lựa chọn
ASimplify UI
BImprove navigation
CReduce unnecessary rebuilds
DBetter animations
Lời giải
Mở trang câu hỏi này →Tại sao nên giữ nhà nước (state) càng gần với địa phương (local) càng tốt? Nhà nước (state) là một phần quan trọng của ứng dụng, chứa thông tin về trạng thái hiện tại của ứng dụng. Khi nhà nước được giữ gần với địa phương, ứng dụng sẽ trở nên linh hoạt và dễ dàng quản lý hơn. Điều này giúp giảm thiểu sự phức tạp và tăng cường hiệu suất của ứng dụng. Ngoài ra, việc giữ nhà nước gần với địa phương còn giúp giảm thiểu sự phụ thuộc vào các thành phần khác của ứng dụng, làm cho ứng dụng trở nên dễ dàng bảo trì và sửa lỗi hơn.
478What happens after successful login?4 lựa chọn
AUser session starts
BApp closes
CTheme changes
DNavigation resets
Lời giải
Mở trang câu hỏi này →Sau khi đăng nhập thành công, hệ thống sẽ tạo một phiên làm việc (session) cho người dùng. Phiên làm việc này sẽ lưu trữ thông tin về người dùng, bao gồm cả quyền truy cập vào các tính năng và dữ liệu. Khi phiên làm việc được tạo, người dùng sẽ có thể thực hiện các hành động trên hệ thống mà không cần phải đăng nhập lại. Điều này giúp người dùng có trải nghiệm mượt mà và thuận tiện hơn khi sử dụng hệ thống.
479What is Flutter primarily used for?4 lựa chọn
ADeveloping server-side applications only
BDesigning databases for mobile apps
CCreating native applications from a single codebase
DBuilding operating systems for mobile devices
Lời giải
Mở trang câu hỏi này →Flutter là một công cụ lập trình đa nền tảng được sử dụng để tạo ra các ứng dụng di động và máy tính bảng. Nó cho phép các nhà phát triển xây dựng các ứng dụng có thể chạy trên nhiều nền tảng khác nhau, bao gồm cả Android và iOS. Flutter sử dụng ngôn ngữ lập trình Dart để tạo ra các ứng dụng, và nó cung cấp một bộ công cụ mạnh mẽ để tạo ra các ứng dụng có giao diện người dùng đẹp và hiệu suất cao. Flutter được sử dụng để tạo ra các ứng dụng di động, bao gồm cả các ứng dụng trò chơi, ứng dụng giải trí và ứng dụng kinh doanh.
480Why is Chapter 13 considered optional (Plus)?4 lựa chọn
AIt manages navigation
BIt replaces core concepts
CIt handles authentication
DApps can work without deep optimization
Lời giải
Mở trang câu hỏi này →Chương 13 được coi là tùy chọn (Plus) vì nó cung cấp các tính năng nâng cao giúp ứng dụng có thể hoạt động mà không cần tối ưu hóa sâu. Điều này cho phép các nhà phát triển tập trung vào việc xây dựng ứng dụng mà không cần lo lắng về việc tối ưu hóa các khía cạnh khác. Tuy nhiên, cần lưu ý rằng các tính năng trong Chương 13 không phải lúc nào cũng cần thiết và có thể được bỏ qua nếu không cần thiết. Điều quan trọng là phải hiểu rõ về các yêu cầu của ứng dụng và quyết định có nên sử dụng các tính năng trong Chương 13 hay không.
AUI quality
BProtect user data
CReduce code
DImprove speed
Lời giải
Mở trang câu hỏi này →Chức năng xác thực an toàn trong ứng dụng di động là rất quan trọng vì nó giúp bảo vệ thông tin cá nhân và dữ liệu của người dùng khỏi bị truy cập trái phép. Khi người dùng đăng nhập vào ứng dụng, họ sẽ cung cấp thông tin đăng nhập của mình, bao gồm tên người dùng và mật khẩu. Nếu ứng dụng không có chức năng xác thực an toàn, kẻ tấn công có thể dễ dàng truy cập vào thông tin đăng nhập của người dùng và sử dụng nó để thực hiện các hành động trái phép. Điều này có thể dẫn đến việc lộ thông tin cá nhân, trộm cắp tài khoản ngân hàng hoặc thậm chí là việc truy cập vào các hệ thống quan trọng. Vì vậy, chức năng xác thực an toàn là rất quan trọng để bảo vệ người dùng khỏi các mối đe dọa này.
482Why should authentication state be centralized?4 lựa chọn
AEnsure consistent access control
BReduce UI code
CImprove animations
DSimplify layout
Lời giải
Mở trang câu hỏi này →Authentication state được trung tâm hóa để đảm bảo rằng mọi người dùng đều có quyền truy cập đồng nhất. Khi trạng thái xác thực được trung tâm hóa, hệ thống có thể kiểm soát và quản lý quyền truy cập một cách hiệu quả. Điều này giúp ngăn chặn các vấn đề liên quan đến quyền truy cập không đồng nhất và đảm bảo rằng mọi người dùng đều có quyền truy cập phù hợp với vai trò của họ. Ngoài ra, việc trung tâm hóa trạng thái xác thực cũng giúp đơn giản hóa quy trình quản lý quyền truy cập và giảm thiểu khả năng xảy ra lỗi.
483What does golden testing verify?4 lựa chọn
AAPI responses
BDatabase state
CUI appearance consistency
DAuthentication
Lời giải
Mở trang câu hỏi này →Golden testing là một phương pháp kiểm thử giúp xác minh xem ứng dụng của chúng ta có tuân thủ đúng thiết kế giao diện người dùng (UI) hay không. Nó liên quan đến việc so sánh giao diện người dùng thực tế với giao diện người dùng đã được định nghĩa trước đó, được gọi là 'golden UI'. Golden testing giúp đảm bảo rằng ứng dụng của chúng ta luôn có một giao diện người dùng nhất quán và đẹp mắt, giúp cải thiện trải nghiệm người dùng. Tuy nhiên, golden testing không liên quan đến việc kiểm thử các yêu cầu khác như phản hồi API, trạng thái cơ sở dữ liệu hoặc tính bảo mật.
484Which Flutter test focuses on UI components?4 lựa chọn
AWidget test
BUnit test
CLoad test
DIntegration test
Lời giải
Mở trang câu hỏi này →Trong Flutter, có nhiều loại thử nghiệm khác nhau để đảm bảo ứng dụng hoạt động chính xác. Một trong những loại thử nghiệm quan trọng là thử nghiệm UI (User Interface). Thử nghiệm UI giúp kiểm tra các thành phần giao diện người dùng của ứng dụng, bao gồm các widget, layout và tương tác giữa chúng. Để kiểm tra các thành phần UI, chúng ta sử dụng loại thử nghiệm gọi là Widget test. Widget test cho phép chúng ta kiểm tra xem các widget của ứng dụng có hoạt động đúng như mong đợi hay không, bao gồm cả việc kiểm tra các trạng thái và hành vi của chúng. Vì vậy, trong các lựa chọn trên, Widget test là lựa chọn đúng.