Câu hỏi: PRM392 - Chương 4: Intent, Broadcast và Notification
43 câu trắc nghiệm kèm lời giải của môn Mobile Programming - Lập trình di động, xếp theo thứ tự nhập vào ngân hàng. Trang 2/3 — câu 21–40.
Danh sách câu hỏi
40/43 câuCòn 3
21Which of the following are true statements about implicit and explicit intent? (Choose 3 answers)4 lựa chọn
AAndroid delivers an explicit intent to a target component without consulting filters in the AndroidManifest.xml file
BImplicit intents are typically used to interact with components residing in other apps
CExplicit intents are typically used to interact with components residing in other apps
DAndroid delivers an implicit intent to a target component only if it matches one of its intent filters in the AndroidManifest.xml file
Lời giải
Mở trang câu hỏi này →Các câu hỏi sau đây nói về ý định ngầm định và ý định rõ ràng trong Android. Ý định rõ ràng là một cách thức để giao tiếp giữa các thành phần trong cùng một ứng dụng. Trong khi đó, ý định ngầm định được sử dụng để giao tiếp giữa các ứng dụng khác nhau. Ví dụ, khi bạn muốn mở một ứng dụng khác từ ứng dụng hiện tại, bạn sẽ sử dụng ý định ngầm định. Ý định ngầm định sẽ được gửi đến hệ thống Android, và hệ thống sẽ tìm kiếm các ứng dụng có thể đáp ứng yêu cầu đó. Nếu có ứng dụng nào đáp ứng được yêu cầu đó, hệ thống sẽ mở ứng dụng đó. Ngược lại, nếu không có ứng dụng nào đáp ứng được yêu cầu đó, hệ thống sẽ không thể mở ứng dụng đó. Ý định rõ ràng, ngược lại, sẽ được gửi trực tiếp đến ứng dụng mục tiêu mà không cần phải tìm kiếm các ứng dụng khác. Vì vậy, ý định rõ ràng thường được sử dụng để giao tiếp giữa các thành phần trong cùng một ứng dụng.
ABy accessing the Intent object directly.
BBy using the getIntent() method to get the Intent object and then extracting the data using methods like getStringExtra(), getIntExtra(),...
CBy reading a file.
DBy using Shared Preferences.
Lời giải
Mở trang câu hỏi này →Để lấy dữ liệu được gửi qua Intent trong Activity nhận, bạn có thể sử dụng phương thức getIntent() để lấy đối tượng Intent và sau đó trích xuất dữ liệu bằng các phương thức như getStringExtra(), getIntExtra(),... Ví dụ, nếu bạn muốn lấy dữ liệu được gửi qua Intent dưới dạng chuỗi, bạn có thể sử dụng getStringExtra() như sau: String data = getIntent().getStringExtra("key"); Trong đó "key" là tên khóa được sử dụng để gửi dữ liệu. Phương thức này cho phép bạn lấy dữ liệu được gửi qua Intent một cách dễ dàng và hiệu quả.
23The types of intents in android is\are:4 lựa chọn
AExplicit intents and Implicit intents
BForeground Intents and Background Intents
CStart intents and Do Intents
DAll of the others
Lời giải
Mở trang câu hỏi này →Trong Android, có hai loại ý định (intent) chính: ý định rõ ràng (Explicit intent) và ý định không rõ ràng (Implicit intent). Ý định rõ ràng là khi chúng ta biết rõ ứng dụng nào sẽ xử lý ý định đó. Ví dụ, khi chúng ta sử dụng Intent để mở ứng dụng điện thoại, chúng ta biết rõ ứng dụng điện thoại sẽ được mở. Ngược lại, ý định không rõ ràng là khi chúng ta không biết rõ ứng dụng nào sẽ xử lý ý định đó. Ví dụ, khi chúng ta sử dụng Intent để mở một ứng dụng nào đó, nhưng chúng ta không biết rõ ứng dụng đó là gì. Trong trường hợp này, hệ điều hành sẽ tự động tìm kiếm ứng dụng nào có thể xử lý ý định đó và mở ứng dụng đó.
AToast Notification
BStatus Bar Notification
CDialog Notification
DPopup Notification
Lời giải
Mở trang câu hỏi này →Trong các loại thông báo trên Android, Popup Notification không phải là một loại thông báo chính thức. Toast Notification là một loại thông báo ngắn gọn, thường được sử dụng để thông báo cho người dùng về một sự kiện nhỏ. Status Bar Notification là loại thông báo được hiển thị trong thanh trạng thái của thiết bị. Dialog Notification là loại thông báo được hiển thị như một hộp thoại, cho phép người dùng tương tác với thông báo. Popup Notification, mặc dù có tên tương tự, nhưng không phải là một loại thông báo được hỗ trợ bởi Android. Thay vào đó, nó thường được sử dụng để mô tả các loại thông báo khác như Dialog Notification.
AUse NotificationManager.createChannel()
BUse NotificationChannel constructor and NotificationManager.createNotificationChannel()
CUse NotificationCompat.Builder
DUse NotificationManager.createNotification()
Lời giải
Mở trang câu hỏi này →Để tạo một kênh thông báo trong Android 8.0 (API level 26) hoặc cao hơn, bạn cần sử dụng NotificationChannel và NotificationManager.createNotificationChannel(). Đầu tiên, bạn cần tạo một đối tượng NotificationChannel bằng cách sử dụng NotificationChannel constructor. Sau đó, bạn cần tạo một đối tượng NotificationManager và gọi phương thức createNotificationChannel() để tạo kênh thông báo. Bạn cũng cần cung cấp các thông tin như ID kênh, tên kênh, mô tả kênh và mức độ ưu tiên kênh. Sau khi tạo kênh thông báo, bạn có thể sử dụng kênh này để tạo thông báo.
26What is a Notification Channel?4 lựa chọn
AA way to group notifications by type
BA method to send data between activities
CA UI element to display messages
DA channel to communicate with external devices
Lời giải
Mở trang câu hỏi này →Một kênh thông báo (Notification Channel) là một cách thức để nhóm và quản lý các thông báo trên thiết bị di động. Nó cho phép người dùng chọn cách thức nhận thông báo từ ứng dụng, chẳng hạn như thông báo âm thanh, thông báo trên màn hình khóa, hoặc thông báo trên thanh thông báo. Kênh thông báo giúp người dùng có thể kiểm soát và tùy chỉnh cách thức nhận thông báo từ ứng dụng, từ đó giúp người dùng có trải nghiệm tốt hơn khi sử dụng ứng dụng.
27What is a Broadcast Receiver in Android?4 lựa chọn
AA component that handles user interactions
BA component that listens for system or custom broadcasts
CA service that performs background tasks
DA layout manager for RecyclerView
Lời giải
Mở trang câu hỏi này →Một Broadcast Receiver trong Android là một thành phần quan trọng giúp ứng dụng của bạn lắng nghe các tin nhắn hệ thống hoặc tùy chỉnh. Nó cho phép ứng dụng của bạn phản ứng với các sự kiện như khi người dùng bật hoặc tắt điện thoại, khi có tin nhắn mới, hoặc khi ứng dụng khác gửi một tin nhắn hệ thống. Broadcast Receiver có thể được sử dụng để thực hiện các tác vụ như gửi thông báo, cập nhật dữ liệu, hoặc thực hiện các hành động khác khi ứng dụng của bạn không đang hoạt động. Để sử dụng Broadcast Receiver, bạn cần tạo một lớp mới extends BroadcastReceiver và override phương thức onReceive() để xử lý tin nhắn nhận được.
A
sendBroadcast(Intent)B
sendOrderedBroadcast(Intent, String)C
sendStickyBroadcast(Intent)D
sendBroadcastAsUser(Intent, UserHandle)Lời giải
Mở trang câu hỏi này →Để gửi một tin nhắn có thứ tự (ordered broadcast), cho phép bạn kiểm soát thứ tự trong đó các Broadcast Receiver nhận được tin nhắn, bạn cần sử dụng phương thức sendOrderedBroadcast(Intent, String). Phương thức này cho phép bạn chỉ định một chuỗi (String) để xác định thứ tự nhận tin nhắn. Điều này khác với phương thức sendBroadcast(Intent), nơi mà các Broadcast Receiver nhận tin nhắn không theo thứ tự. Ngoài ra, sendStickyBroadcast(Intent) và sendBroadcastAsUser(Intent, UserHandle) không đáp ứng yêu cầu này.
29Which approach provides the most flexibility for handling different types of broadcasts?4 lựa chọn
AStatic registration in the manifest
BDynamic registration in code
CUsing sendBroadcast()
DUsing sendStickyBroadcast()
Lời giải
Mở trang câu hỏi này →Để có thể xử lý các loại phát sóng khác nhau một cách linh hoạt nhất, chúng ta cần sử dụng phương pháp đăng ký phát sóng trong mã nguồn. Phương pháp này cho phép chúng ta đăng ký phát sóng trong thời gian chạy, giúp chúng ta có thể dễ dàng thêm hoặc xóa các loại phát sóng mà không cần phải thay đổi mã nguồn. Điều này giúp tăng cường tính linh hoạt và dễ dàng bảo trì hệ thống. Ngoài ra, phương pháp này cũng cho phép chúng ta có thể kiểm soát và quản lý các loại phát sóng một cách hiệu quả hơn.
ASystem broadcasts are sent by the system; custom broadcasts are sent by apps
BSystem broadcasts handle UI updates; custom broadcasts handle background tasks
CSystem broadcasts are for network operations; custom broadcasts are for file operations
DSystem broadcasts are less secure than custom broadcasts
Lời giải
Mở trang câu hỏi này →Trong Android, hệ thống broadcast và broadcast tùy chỉnh là hai loại broadcast khác nhau. Hệ thống broadcast được gửi bởi hệ thống, chẳng hạn như khi có sự kiện mới xảy ra như khi một ứng dụng được cài đặt hoặc khi một thiết bị mới được kết nối. Trong khi đó, broadcast tùy chỉnh được gửi bởi các ứng dụng, thường để thông báo về một sự kiện cụ thể nào đó. Ví dụ, một ứng dụng có thể gửi broadcast tùy chỉnh khi người dùng đăng nhập thành công hoặc khi người dùng thực hiện một hành động cụ thể nào đó. Sự khác biệt chính giữa hệ thống broadcast và broadcast tùy chỉnh là nguồn gốc của chúng. Hệ thống broadcast được gửi bởi hệ thống, trong khi broadcast tùy chỉnh được gửi bởi các ứng dụng.
ATo initialize the BroadcastReceiver
BTo handle the broadcast message
CTo send a broadcast message
DTo unregister the BroadcastReceiver
Lời giải
Mở trang câu hỏi này →Trong lập trình Android, BroadcastReceiver là một lớp giúp ứng dụng nhận và xử lý các tin nhắn broadcast từ hệ điều hành. Phương thức onReceive() đóng vai trò quan trọng trong lớp BroadcastReceiver này. Nó được gọi khi ứng dụng nhận được một tin nhắn broadcast từ hệ điều hành. Trong phương thức này, bạn có thể thực hiện các hành động cần thiết để xử lý tin nhắn broadcast, chẳng hạn như cập nhật giao diện người dùng, thực hiện các tác vụ nền, v.v. Mục đích chính của phương thức onReceive() là xử lý tin nhắn broadcast một cách nhanh chóng và hiệu quả, giúp ứng dụng phản ứng kịp thời với các sự kiện hệ thống.
32What method is used to send a broadcast event?4 lựa chọn
A
sendBroadcast(intent);B
startBroadcast(intent);C
registerBroadcast(intent);D
sendBroadcastReceiver(intent);Lời giải
Mở trang câu hỏi này →Để gửi một sự kiện phát sóng, chúng ta cần sử dụng phương thức sendBroadcast(intent);. Phương thức này cho phép gửi một thông điệp đến tất cả các ứng dụng đã đăng ký nhận sự kiện phát sóng. Khi sử dụng sendBroadcast(intent);, chúng ta cần truyền vào tham số intent, đó là đối tượng chứa thông tin về sự kiện phát sóng. Đối tượng intent này sẽ được gửi đến các ứng dụng đã đăng ký nhận sự kiện phát sóng, và các ứng dụng này sẽ thực hiện các hành động phù hợp dựa trên thông tin trong đối tượng intent.
AImplicit Intent
BExplicit Intent
CBroadcast Intent
DSticky Intent
Lời giải
Mở trang câu hỏi này →Trong lập trình di động, có hai loại ý định (intent) chính: ý định ẩn (implicit intent) và ý định rõ ràng (explicit intent). Ý định rõ ràng là loại ý định được chỉ định rõ ràng bởi tên của thành phần mục tiêu. Điều này có nghĩa là khi bạn muốn thực hiện một hành động cụ thể, chẳng hạn như gọi một ứng dụng khác hoặc mở một trang web, bạn sẽ sử dụng một intent rõ ràng để chỉ định rõ ràng hành động đó. Ví dụ, nếu bạn muốn mở ứng dụng Google Maps, bạn sẽ sử dụng một intent rõ ràng để chỉ định ứng dụng Google Maps là thành phần mục tiêu. Ý định rõ ràng giúp cho việc giao tiếp giữa các ứng dụng trở nên dễ dàng và rõ ràng hơn.
34Which of the following best describes the difference between explicit and implicit intents in Android?4 lựa chọn
AExplicit intents specify the exact activity to start, while implicit intents declare a general action to perform.
BExplicit intents are used for internal app communication, while implicit intents are used for external communication.
CExplicit intents require user interaction, while implicit intents do not.
DExplicit intents are faster than implicit intents
Lời giải
Mở trang câu hỏi này →Trong Android, các ý định rõ ràng (explicit intents) và các ý định không rõ ràng (implicit intents) là hai loại ý định khác nhau. Các ý định rõ ràng là loại ý định mà bạn biết chính xác hoạt động nào sẽ được bắt đầu. Ví dụ, nếu bạn muốn mở ứng dụng điện thoại, bạn có thể sử dụng ý định rõ ràng để bắt đầu hoạt động của ứng dụng điện thoại. Ngược lại, các ý định không rõ ràng là loại ý định mà bạn chỉ khai báo một hành động chung mà bạn muốn thực hiện. Ví dụ, nếu bạn muốn chia sẻ một hình ảnh, bạn có thể sử dụng ý định không rõ ràng để bắt đầu hoạt động chia sẻ hình ảnh. Tóm lại, các ý định rõ ràng được sử dụng để bắt đầu một hoạt động cụ thể, trong khi các ý định không rõ ràng được sử dụng để thực hiện một hành động chung.
AStart an Activity
BStart a Service
CDeliver Broadcast
DAll of the above
Lời giải
Mở trang câu hỏi này →Trong một ứng dụng Android, Intents có thể thực hiện các hành động sau. Đầu tiên, Intents có thể khởi động một Activity. Ví dụ, bạn có thể sử dụng Intent để chuyển sang một màn hình mới trong ứng dụng của mình. Thứ hai, Intents có thể khởi động một Service. Một Service là một phần của ứng dụng chạy trong nền, thực hiện các tác vụ như tải dữ liệu từ mạng hoặc cập nhật dữ liệu trên thiết bị. Cuối cùng, Intents có thể gửi Broadcast. Broadcast là một loại tin nhắn được gửi đến các ứng dụng khác trên thiết bị, cho phép chúng thực hiện các hành động cụ thể. Vì vậy, Intents có thể thực hiện tất cả các hành động trên.
36What is the purpose of a BroadcastReceiver?4 lựa chọn
ATo send broadcasts.
BTo receive and handle broadcasts.
CTo manage application lifecycle events.
DTo handle user input.
Lời giải
Mở trang câu hỏi này →Một BroadcastReceiver là một lớp trong Android có vai trò quan trọng trong việc nhận và xử lý các tin nhắn (broadcasts) được gửi bởi hệ điều hành hoặc các ứng dụng khác. Mục đích chính của BroadcastReceiver là nhận và xử lý các tin nhắn này, chẳng hạn như khi một ứng dụng được cài đặt hoặc gỡ bỏ, khi một thiết bị kết nối hoặc rời khỏi mạng Wi-Fi, v.v. BroadcastReceiver có thể được sử dụng để thực hiện các hành động cụ thể khi nhận được tin nhắn, chẳng hạn như hiển thị thông báo, cập nhật dữ liệu, hoặc thực hiện các tác vụ khác. Trong tổng thể, mục đích của BroadcastReceiver là giúp các ứng dụng tương tác với hệ điều hành và các ứng dụng khác thông qua các tin nhắn.
37Which method is used to create a Notification Channel? NotificationChannel channel =4 lựa chọncó code
new NotificationChannel(channelId, name, importance);A
createNotificationChannel(channel)B
addNotificationChannel(channel)C
setNotificationChannel(channel)D
buildNotificationChannel(channel)Lời giải
Mở trang câu hỏi này →Để tạo một kênh thông báo, bạn cần sử dụng phương thức tạo kênh thông báo. Phương thức này được sử dụng để tạo một đối tượng NotificationChannel mới. Trong ví dụ này, bạn cần sử dụng phương thức createNotificationChannel để tạo một kênh thông báo mới. Phương thức này chấp nhận ba tham số: channelId, name và importance. Tham số channelId là ID duy nhất của kênh thông báo, name là tên của kênh thông báo và importance là mức độ quan trọng của kênh thông báo. Phương thức này được sử dụng để tạo một kênh thông báo mới và nó sẽ được sử dụng để hiển thị thông báo trên thiết bị di động.
ABy calling the `createNotificationChannel()` method on the NotificationManager class.
BBy constructing a NotificationChannel object and passing it to the `createNotificationChannel()` method on the NotificationManager class.
CBy adding a <notification-channel> tag in the AndroidManifest.xml file.
DBy setting a channel attribute in the <notification> tag in the layout XML file.
Lời giải
Mở trang câu hỏi này →Để tạo một kênh thông báo trong Android, bạn cần thực hiện các bước sau. Trước hết, bạn cần tạo một đối tượng NotificationChannel bằng cách sử dụng phương thức NotificationChannel(String channelId, String channelName, int importance). Sau đó, bạn cần gọi phương thức createNotificationChannel() trên đối tượng NotificationManager để tạo kênh thông báo. Điều này cho phép bạn quản lý các thông báo của ứng dụng của mình và cung cấp cho người dùng khả năng kiểm soát các thông báo.
ANotification channels allow users to manage and control notification behavior for each category of notifications.
BNotification channels are used to define the layout of notification cards.
CNotification channels determine the priority of notifications.
DNotification channels handle the delivery of notifications to the device.
Lời giải
Mở trang câu hỏi này →Tính quan trọng của kênh thông báo trong Android là gì? Kênh thông báo cho phép người dùng quản lý và kiểm soát hành vi thông báo cho mỗi loại thông báo. Điều này giúp người dùng dễ dàng nhận biết và quản lý các loại thông báo khác nhau, chẳng hạn như thông báo từ ứng dụng trò chơi, ứng dụng mạng xã hội hoặc ứng dụng email. Kênh thông báo cũng cho phép người dùng tùy chỉnh mức độ ưu tiên và cách hiển thị thông báo, giúp họ có thể tập trung vào những thông báo quan trọng nhất.
AIt wraps an intent to be executed later
BIt creates a notification
CIt manages notification channels
DIt displays notifications in the status bar
Lời giải
Mở trang câu hỏi này →PendingIntent là một lớp trong Android giúp xử lý các hành động của thông báo. Nó đóng vai trò như một lớp đệm, cho phép bạn thực hiện một hành động sau này mà không cần phải khởi tạo lại toàn bộ ứng dụng. Khi bạn tạo một PendingIntent, bạn có thể truyền vào một Intent, sau đó PendingIntent sẽ thực hiện hành động đó khi được gọi. Điều này giúp tăng hiệu suất và giảm thiểu việc khởi tạo ứng dụng không cần thiết. Trong khi đó, các lựa chọn khác không chính xác về cách PendingIntent đóng góp vào việc xử lý hành động của thông báo.