Chủ đề của Multiplatform Mobile App Development - Phát triển ứng dụng di động đa nền tảng

MMA301 - Chương 7: Lưu trữ cục bộ và API thiết bị

Trắc nghiệm MMA301 chương 7 - Lưu trữ và truy cập phần cứng: AsyncStorage với setItem, getItem, removeItem và multiSet, cơ chế lưu bất đồng bộ theo cặp khoá và giá trị dạng chuỗi; Geolocation API với getCurrentPosition và watchPosition, các nguồn xác định vị trí, hiển thị bản đồ bằng MapView và các prop của nó; React Native Image Picker để chụp ảnh hoặc chọn ảnh từ thư viện; module Platform để nhận diện nền tảng và render theo từng hệ điều hành.

Xem danh sách câu hỏi17 câu hỏi100% có giải thích

Bắt đầu bằng Chế độ học nếu bạn muốn đáp án và giải thích hiện ngay sau mỗi câu — không bấm giờ, dừng lúc nào cũng được. Chọn Thi thử khi muốn biết mình đang ở đâu: có bấm giờ, chấm điểm ở cuối, và giải thích chỉ mở sau khi nộp.

Học ngân hàng câu hỏi của chủ đề

Luyện tập theo chủ đề này

17Câu hỏi hiện có

Câu hỏi của chủ đề

17/17 câuHết danh sách
Astyle
Bprovider
CmapType
Dregion
EmapLocation
Lời giải
Khi sử dụng Geolocation API, bạn cần biết các thuộc tính của MapView. Các thuộc tính phổ biến bao gồm style, provider, mapType, region. Tuy nhiên, trong số các lựa chọn trên, 'mapLocation' không phải là thuộc tính của MapView. Thay vào đó, 'mapLocation' thường được sử dụng để chỉ định vị trí trên bản đồ. Vì vậy, khi sử dụng Geolocation API, bạn cần chọn đúng thuộc tính cho MapView để đảm bảo tính chính xác và hiệu quả.
Mở trang câu hỏi này →
2Which method can be used for conditional rendering based on the platform?4 lựa chọnTrung bình67% trả lời đúng
APlatform.select
BPlatform.OS
CPlatform.Version
DPlatform.isIOS
Lời giải
Để thực hiện việc render điều kiện dựa trên nền tảng, chúng ta có thể sử dụng phương thức Platform.select. Phương thức này cho phép chúng ta chọn một trong nhiều mã nguồn dựa trên nền tảng mà ứng dụng đang chạy. Ví dụ, nếu chúng ta muốn hiển thị một biểu tượng khác nhau trên Android và iOS, chúng ta có thể sử dụng Platform.select để chọn biểu tượng phù hợp cho nền tảng hiện tại. Ngoài ra, chúng ta cũng có thể sử dụng Platform.select để điều chỉnh giao diện ứng dụng dựa trên nền tảng, chẳng hạn như thay đổi màu sắc hoặc font chữ.
Mở trang câu hỏi này →
APlatform module
BDevice module
CPlatformDetect module
DOS module
Lời giải
Module phát hiện nền tảng mà ứng dụng hoạt động. Trong lập trình, nền tảng có thể là hệ điều hành, thiết bị di động, v.v. Để xác định nền tảng mà ứng dụng đang hoạt động, chúng ta cần sử dụng một module chuyên dụng. Trong các lựa chọn trên, module phát hiện nền tảng được gọi là "Platform module". Nó giúp ứng dụng xác định được nền tảng mà nó đang chạy trên, từ đó có thể thực hiện các hành động phù hợp.
Mở trang câu hỏi này →
AAsyncStorage.mergeItem(key, value)
BAsyncStorage.removeItem(key)
CAsyncStorage.getAllKeys()
DAsyncStorage.clearAll()
Lời giải
AsyncStorage là một công cụ được sử dụng để lưu trữ dữ liệu trong ứng dụng React Native. Tuy nhiên, trong các phương thức lưu trữ dữ liệu, có một số phương thức không hợp lệ. Trong các lựa chọn trên, phương thức "AsyncStorage.clearAll()" không phải là một phương thức hợp lệ. Điều này là vì AsyncStorage không hỗ trợ phương thức clearAll(). Thay vào đó, bạn có thể sử dụng phương thức clear() để xóa tất cả dữ liệu trong AsyncStorage. Ngoài ra, các phương thức khác như mergeItem(), removeItem() và getAllKeys() đều là hợp lệ và có thể được sử dụng để lưu trữ và quản lý dữ liệu trong ứng dụng.
Mở trang câu hỏi này →
5Consider the following code snippet4 lựa chọncó codeDễ100% trả lời đúng
Đề bài
using AsyncStorage in React Native. async function saveData(key, value) {
  try {
    await AsyncStorage.setItem(key, value);
  }
  catch (error) {
    console.error('Error saving data', error);
  }
}
async function readData(key) {
  try {
    const value = await AsyncStorage.getItem(key);
    if (value !== null) {
      console.log('Retrieved value:', value);
    }
  }
  catch (error) {
    console.error('Error reading data', error);
  }
}

What will be the output if saveData('username', 'john_doe') is called, followed by readData('username'), assuming no errors occur?

ARetrieved value: john_doe
BError reading data [error object]
CError saving data [error object]
DNo output, as AsyncStorage operations are non-blocking and asynchronous
Lời giải
Khi gọi hàm saveData('username', 'john_doe') và sau đó gọi hàm readData('username'), chúng ta sẽ thấy output là 'Retrieved value: john_doe'. Điều này là vì hàm saveData sẽ lưu trữ giá trị 'john_doe' vào AsyncStorage với key là 'username'. Sau đó, hàm readData sẽ đọc giá trị từ AsyncStorage và in ra console với giá trị vừa được lưu trữ. Nếu không có lỗi xảy ra, hàm readData sẽ trả về giá trị được lưu trữ, vì vậy output sẽ là 'Retrieved value: john_doe'.
Mở trang câu hỏi này →
ALocationPicker
BGeolocation
CLocation
DPicker
Lời giải
Để xác định vị trí của người dùng, chúng ta cần sử dụng một nền tảng API phù hợp. Trong số các lựa chọn đã cho, nền tảng API được sử dụng để bắt được dữ liệu vị trí của người dùng là Geolocation. Geolocation là một tính năng của trình duyệt web, cho phép nó xác định vị trí của thiết bị dựa trên thông tin từ các nguồn khác nhau như GPS, Wi-Fi, mạng di động và các thông tin khác. Nó cung cấp cho người dùng khả năng xác định vị trí của mình và cung cấp dữ liệu vị trí cho các ứng dụng web. Vì vậy, trong trường hợp này, Geolocation là lựa chọn đúng.
Mở trang câu hỏi này →
ATo manage user authentication and authorization
BTo handle navigation and routing within the application
CTo access to geographical location data associated with a user's device
DTo interact with external services and retrieve data
Lời giải
API vị trí địa lý (Geolocation API) là một tính năng của trình duyệt web, cho phép ứng dụng web truy cập vị trí địa lý của thiết bị người dùng. Mục đích chính của API này là cung cấp thông tin vị trí địa lý chính xác, bao gồm cả địa chỉ IP và vị trí GPS. Điều này cho phép các ứng dụng web cung cấp trải nghiệm người dùng tùy chỉnh, chẳng hạn như hiển thị bản đồ, cung cấp thông tin thời tiết, hoặc thậm chí là điều hướng. Để sử dụng API vị trí địa lý, ứng dụng web cần được phép truy cập vị trí của người dùng, và người dùng cần đồng ý cho phép ứng dụng truy cập thông tin này.
Mở trang câu hỏi này →
8Which of the following is not TRUE related to API Platform?4 lựa chọnDễ75% trả lời đúng
AAn API platform is a software system with integrated tools and processes that allow teams to effectively build, manage, publish, and consume APIs
BAn API platform helps API producers manage the entire API lifecycle - from design to production - while engaging directly with API consumers
CAPI platforms complement and enhance existing workflows through integrations with source code management tools, CI/CD pipelines, cloud infrastructure, and APM solutions
DAPI platforms are primarily used for managing user authentication and authorization tasks
Lời giải
Một nền tảng API là một hệ thống phần mềm tích hợp các công cụ và quy trình cho phép các nhóm xây dựng, quản lý, xuất bản và tiêu thụ API một cách hiệu quả. Nó giúp các nhà sản xuất API quản lý toàn bộ vòng đời của API - từ thiết kế đến sản xuất - trong khi tương tác trực tiếp với người tiêu thụ API. Các nền tảng API bổ sung và nâng cao các quy trình hiện có thông qua tích hợp với các công cụ quản lý mã nguồn, các dòng luồng CI/CD, cơ sở hạ tầng đám mây và giải pháp theo dõi hiệu suất APM. Tuy nhiên, các nền tảng API không chỉ được sử dụng để quản lý các tác vụ xác thực và ủy quyền người dùng.
Mở trang câu hỏi này →
AUse Image
BUse ViewMap
CInstall react-native-maps and use MapView component
DInstall library react-native-maps and use Map component
Lời giải
Để sử dụng Geolocation API để hiển thị một bản đồ, bạn cần thực hiện các bước sau. Trước hết, bạn cần cài đặt thư viện react-native-maps bằng cách chạy lệnh npm install react-native-maps trong terminal. Sau đó, bạn cần thêm thư viện này vào dự án của mình bằng cách thêm import { MapView } từ thư viện react-native-maps. Tiếp theo, bạn cần tạo một component mới và sử dụng MapView để hiển thị bản đồ. Bạn có thể sử dụng các phương thức của MapView để tùy chỉnh bản đồ, chẳng hạn như thêm các marker, polyline, polygon, v.v. Ngoài ra, bạn cần sử dụng Geolocation API để lấy vị trí hiện tại của thiết bị và hiển thị bản đồ dựa trên vị trí đó. Điều này sẽ giúp bạn tạo ra một ứng dụng bản đồ động và chính xác.
Mở trang câu hỏi này →
AAsyncStorage uses a SQLite database to store key-value pairs on both iOS and Android
BAsyncStorage is an unencrypted, asynchronous, persistent, key-value storage system that is global to the app
CAsyncStorage stores data in a secure, encrypted format by default
DAsyncStorage automatically synchronizes stored data across devices using a cloud service
Lời giải
AsyncStorage là một cơ chế lưu trữ giá trị theo cặp khóa-giá trị không được mã hóa, bất đồng bộ và bền vững, toàn cục cho ứng dụng. Nó cho phép lưu trữ dữ liệu trong ứng dụng mà không cần phải lưu trữ trong bộ nhớ RAM. AsyncStorage sử dụng cơ chế lưu trữ cơ bản, không phức tạp như cơ chế lưu trữ SQLite. Điều này làm cho AsyncStorage trở nên dễ sử dụng và hiệu suất cao hơn. Ngoài ra, AsyncStorage không tự động đồng bộ hóa dữ liệu trên các thiết bị khác nhau sử dụng dịch vụ đám mây.
Mở trang câu hỏi này →
APicker
BImage
CImagePicker
DView
Lời giải
Để chụp ảnh bằng camera trên thiết bị, bạn cần sử dụng một thành phần bản địa cụ thể. Trong các lựa chọn đã cho, thành phần "ImagePicker" là lựa chọn đúng. Thành phần này cho phép bạn truy cập vào camera của thiết bị và chụp ảnh. Nó cung cấp một giao diện đơn giản để chọn ảnh từ thư viện ảnh hoặc chụp ảnh mới bằng camera.
Mở trang câu hỏi này →
ARetrieved value: john_doe
BError reading data [error object]
CError saving data [error object]
DNo output, as AsyncStorage operations are non-blocking and asynchronous
Lời giải
Khi thực hiện lệnh saveData('username', 'john_doe') sau đó là readData('username'), AsyncStorage sẽ lưu trữ giá trị 'john_doe' vào bộ nhớ cache. Sau đó, khi thực hiện lệnh readData('username'), AsyncStorage sẽ đọc giá trị đã lưu trữ trước đó và trả về giá trị 'john_doe'. Vì vậy, kết quả cuối cùng sẽ là 'Retrieved value: john_doe'. Điều này cho thấy rằng AsyncStorage là một cơ chế lưu trữ dữ liệu tạm thời, giúp ứng dụng có thể lưu trữ và đọc dữ liệu mà không cần phải lưu trữ vào bộ nhớ chính.
Mở trang câu hỏi này →
AProviding real-time location updates
BEnhancing user experience with location-based services
CIncreasing battery consumption significantly
DOffering turn-by-turn navigation
Lời giải
Khi đánh giá lợi ích của việc sử dụng địa điểm trong ứng dụng di động, chúng ta cần xem xét các lợi ích và hạn chế của nó. Địa điểm có thể cung cấp thông tin vị trí thực thời gian, giúp người dùng có trải nghiệm tốt hơn với các dịch vụ dựa trên vị trí. Ngoài ra, địa điểm cũng có thể cung cấp hướng dẫn đường đi chi tiết, giúp người dùng dễ dàng di chuyển. Tuy nhiên, một trong những hạn chế của địa điểm là nó có thể làm tăng tiêu thụ pin đáng kể, điều này có thể ảnh hưởng đến hiệu suất của thiết bị. Vì vậy, trong các lựa chọn trên, tăng tiêu thụ pin đáng kể là một hạn chế, không phải là một lợi ích.
Mở trang câu hỏi này →
ABluetooth
BGPS
CWIFI
DIP Geolocation
Lời giải
Geolocation API sử dụng các phương pháp khác nhau để xác định vị trí người dùng. Trong số các phương pháp này, có GPS, Wi-Fi và địa chỉ IP. Tuy nhiên, Bluetooth không phải là phương pháp được sử dụng bởi Geolocation API để xác định vị trí người dùng. Điều này là vì Bluetooth chủ yếu được sử dụng cho việc truyền dữ liệu giữa các thiết bị gần nhau, và không phải là phương pháp chính xác để xác định vị trí địa lý. Vì vậy, phương pháp không được sử dụng bởi Geolocation API để xác định vị trí người dùng là Bluetooth.
Mở trang câu hỏi này →
AwatchPosition provides a one-time location update.
BgetCurrentPosition continuously tracks location changes.
CwatchPosition continuously tracks location changes.
DBoth provide continuous location updates.
Lời giải
Khi sử dụng API vị trí địa lý, có hai phương thức chính để lấy vị trí hiện tại: watchPosition và getCurrentPosition. Phương thức watchPosition được sử dụng để theo dõi vị trí thay đổi liên tục, trong khi getCurrentPosition chỉ cung cấp một lần cập nhật vị trí. Điều này có nghĩa là nếu bạn sử dụng watchPosition, ứng dụng của bạn sẽ liên tục cập nhật vị trí của thiết bị, ngay cả khi vị trí không thay đổi. Ngược lại, nếu bạn sử dụng getCurrentPosition, ứng dụng của bạn sẽ chỉ cập nhật vị trí một lần và không theo dõi vị trí thay đổi sau đó. Vì vậy, câu trả lời đúng là watchPosition liên tục theo dõi vị trí thay đổi.
Mở trang câu hỏi này →
AMedia Type
BFont Size
CQuality
DBackground Color
Lời giải
Chọn đáp án đúng cho câu hỏi này bằng cách hiểu về các thuộc tính mà ImagePicker trong React Native cung cấp. ImagePicker là một thành phần quan trọng trong React Native, giúp người dùng chọn và tải ảnh lên ứng dụng. Để quản lý thành phần này, ImagePicker cung cấp một số thuộc tính quan trọng. Trong số các lựa chọn trên, "Media Type" và "Quality" là hai thuộc tính chính mà ImagePicker cung cấp. "Media Type" cho phép người dùng chọn loại phương tiện muốn chọn (ví dụ: ảnh, video,...), trong khi "Quality" cho phép người dùng chọn chất lượng ảnh muốn tải lên. Các thuộc tính khác như "Font Size", "Quality" không liên quan trực tiếp đến việc quản lý ImagePicker. Vì vậy, đáp án đúng cho câu hỏi này là "Media Type" và "Quality".
Mở trang câu hỏi này →
17Which of the following code snippets demonstrates how to conditionally render a component4 lựa chọncó codeDễ100% trả lời đúng
Đề bài
for Android using the Platform module? import React from 'react';

import { Platform, Text } from 'react-native'; export default function App() {

Đề bài
return ( <Text> {
  Platform.OS === 'android' ? 'Hello Android' : 'Hello iOS'
}

</Text> ); }

AThe code will display "Hello Android" only on iOS.
BThe code will display "Hello iOS" on both platforms.
CThe code will display "Hello Android" on Android and "Hello iOS" on iOS.
DThe code will crash on Android devices.
Lời giải
Để điều kiện hiển thị một thành phần trên Android bằng cách sử dụng mô-đun Platform, chúng ta cần sử dụng toán tử điều kiện (ternary operator) trong mã JSX. Trong ví dụ này, chúng ta đang kiểm tra xem hệ điều hành hiện tại là Android hay không bằng cách sử dụng thuộc tính Platform.OS. Nếu hệ điều hành là Android, thì sẽ hiển thị 'Hello Android', ngược lại sẽ hiển thị 'Hello iOS'. Điều này cho phép chúng ta điều khiển việc hiển thị thành phần dựa trên hệ điều hành của thiết bị.
Mở trang câu hỏi này →

Chưa có đề nào dùng câu hỏi của chủ đề này

Câu hỏi phía trên vẫn học được. Đề ôn tập của môn nằm ở tab Làm đề khi môn đã có đề.