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

Câu hỏi: PRM393 - Lưu trữ cục bộ

31 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–31.

Danh sách câu hỏi

31/31 câuHết danh sách
Ahive
Bpath
Cshared_preferences
Dsqflite
Lời giải
Để tìm hiểu về gói hỗ trợ SQL trong Flutter, chúng ta cần xem xét các lựa chọn đã cho. Gói Hive được sử dụng để lưu trữ dữ liệu trong bộ nhớ đệm, trong khi gói Path được sử dụng để thao tác với hệ thống tệp. Gói Shared Preferences được sử dụng để lưu trữ dữ liệu nhỏ trong bộ nhớ đệm. Tuy nhiên, gói Sqflite là gói được thiết kế để hỗ trợ SQL trong Flutter, cho phép chúng ta thực hiện các câu lệnh SQL để quản lý dữ liệu.
Mở trang câu hỏi này →
Adart:convert
Bpubspec.yaml
Cpath_provider
DMediaQuery
Lời giải
Trong một dự án Flutter, tệp tin nào được sử dụng để quản lý các phụ thuộc và khai báo tài nguyên?
Mở trang câu hỏi này →
AFirebase Authentication
BrootBundle.loadString()
Ctester.pumpAndSettle()
DIntegration testing
Lời giải
Để thực hiện đăng nhập bằng Google trong ứng dụng Flutter, bạn cần sử dụng dịch vụ Firebase Authentication. Firebase Authentication cung cấp các tính năng đăng nhập bằng Google, Facebook, Twitter và các dịch vụ khác. Nó cũng cho phép bạn tạo và quản lý tài khoản người dùng trong ứng dụng của mình. Để sử dụng Firebase Authentication trong Flutter, bạn cần thêm thư viện firebase_auth vào dự án của mình và thực hiện các bước đăng nhập bằng Google theo hướng dẫn của Firebase. Firebase Authentication là một trong những dịch vụ quan trọng nhất của Firebase và được sử dụng rộng rãi trong các ứng dụng di động và web.
Mở trang câu hỏi này →
ArootBundle.loadString()
BNavigator.pushNamed
Cflutter_local_notifications
Dtester.pumpAndSettle()
Lời giải
Để tải một tệp tin JSON được lưu trữ trong thư mục tài nguyên của dự án, bạn cần sử dụng phương thức rootBundle.loadString(). Phương thức này cho phép bạn đọc nội dung của tệp tin JSON và chuyển đổi nó thành một đối tượng JSON có thể sử dụng trong ứng dụng Flutter. Bạn có thể sử dụng rootBundle.loadString() để tải tệp tin JSON và sau đó sử dụng đối tượng JSON đó để hiển thị dữ liệu hoặc thực hiện các hành động khác. Phương thức này rất hữu ích khi bạn cần đọc dữ liệu từ tệp tin JSON trong ứng dụng của mình.
Mở trang câu hỏi này →
Apath_provider
Bpubspec.yaml
Cdart:convert
DprecacheImage()
Lời giải
Để tìm kiếm các đường dẫn hệ thống tệp cục bộ chính xác (ví dụ: thư mục Tài liệu) trên Android và iOS, bạn cần sử dụng gói thư viện phù hợp. Trong trường hợp này, gói thư viện được sử dụng để tìm kiếm các đường dẫn hệ thống tệp cục bộ chính xác là 'path_provider'. Gói này cung cấp các phương thức để tìm kiếm các thư mục hệ thống như Documents, Pictures, Music, v.v. trên cả Android và iOS. Điều này giúp cho các nhà phát triển có thể dễ dàng truy cập và sử dụng các thư mục hệ thống này trong ứng dụng của mình.
Mở trang câu hỏi này →
AString, int, double, bool, `List<String>` — complex objects often `jsonEncode` → String
Bbool only
CSQLite only
DAny Dart object
Lời giải

SharedPreferences trong Dart hỗ trợ các loại dữ liệu sau: String, int, double, bool. Ngoài ra, bạn còn có thể lưu trữ danh sách các String bằng cách sử dụng List<String>. Tuy nhiên, nếu bạn muốn lưu trữ các đối tượng phức tạp, bạn cần phải chuyển đổi chúng thành chuỗi bằng cách sử dụng jsonEncode. Điều này cho phép bạn lưu trữ các dữ liệu phức tạp như các đối tượng JSON, nhưng bạn cần phải tự thực hiện việc chuyển đổi.

Mở trang câu hỏi này →
Aread()
Bload()
Cget()
Dfetch()
Lời giải

Để 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.

Mở trang câu hỏi này →
Ahttp
Bflutter_bloc
Csqflite
Dprovider
Lời giải
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.
Mở trang câu hỏi này →
ASimplify UI
BImprove navigation
CReduce unnecessary rebuilds
DBetter animations
Lời giải
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.
Mở trang câu hỏi này →
AsaveInt()
BputInt()
CsetInt()
DwriteInt()
Lời giải

Đáp án đúng: C. Trong Flutter, gói shared_preferences cung cấp các phương thức đặt giá trị theo kiểu dữ liệu: setInt, setString, setBool, setDouble và setStringList, đi kèm các phương thức đọc getInt, getString... Vì vậy để lưu một số nguyên ta gọi prefs.setInt('key', value). Cần phân biệt với SharedPreferences NATIVE của Android, nơi API là editor.putInt() - đó chính là bẫy của phương án B. Các phương án saveInt() (A) và writeInt() (D) không tồn tại trong cả hai nền tảng. Lưu ý các phương thức set này trả về Future<bool> nên thường được await.

Mở trang câu hỏi này →
ACannot persist data
BOnly works on web
CNot suitable for large or complex data
DRequires SQL queries
Lời giải
Đáp án đúng: C. SharedPreferences chỉ được thiết kế để lưu các cặp khoá - giá trị nhỏ, kiểu nguyên thuỷ như cờ đã đăng nhập, chế độ sáng tối, ngôn ngữ đã chọn. Toàn bộ nội dung được nạp vào bộ nhớ và ghi ra một tệp phẳng, nên nó KHÔNG phù hợp với dữ liệu lớn, có cấu trúc phức tạp hay cần truy vấn - những trường hợp đó phải dùng sqflite hoặc Hive. Phương án A sai vì dữ liệu vẫn được lưu bền qua các lần mở ứng dụng; phương án B sai vì gói hoạt động trên mọi nền tảng; phương án D sai vì SharedPreferences không dùng SQL.
Mở trang câu hỏi này →