





















































































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
This exam tests the skills required to develop apps for the Blackberry platform. Topics include BlackBerry OS development, user interface design, app architecture, integration with BlackBerry services, and the ability to develop apps that run across different Blackberry devices.
Typology: Exams
1 / 93
This page cannot be seen from the preview
Don't miss anything!






















































































Question 1. Which BlackBerry operating system is based on the QNX microkernel? A) BlackBerry OS 5 B) BlackBerry OS 7 C) BlackBerry 10 D) Android Runtime (ART) Answer: C Explanation: BlackBerry 10 was built on the QNX Neutrino RTOS, providing a microkernel architecture distinct from the Java‑based legacy BlackBerry OS versions. Question 2. What component provides a secure environment for separating work and personal data on BlackBerry devices? A) BlackBerry Balance B) BlackBerry Hub C) BlackBerry World D) BlackBerry Messenger Answer: A Explanation: BlackBerry Balance creates isolated containers, allowing corporate and personal data to coexist securely on the same device. Question 3. In the BlackBerry Enterprise Server (BES) architecture, which protocol is primarily used for encrypted communication between the device and BES? A) FTP B) HTTPS (TLS) C) SMTP D) Telnet Answer: B
Explanation: BES uses HTTPS with TLS to ensure that all data exchanged between the device and the server is encrypted and protected. Question 4. Which IDE is officially supported for native BlackBerry 10 development? A) Android Studio B) Xcode C) Momentics IDE D) Visual Studio Code Answer: C Explanation: Momentics IDE, based on Eclipse, is the official development environment for BlackBerry 10 native (Cascades) applications. Question 5. Which language is used to define UI declaratively in BlackBerry 10 Cascades? A) Java B) QML C) Swift D) HTML Answer: B Explanation: QML (Qt Modeling Language) is used in Cascades for declarative UI definition, allowing separation of UI and logic. Question 6. When porting an Android app to BlackBerry 10, which component enables the Android Runtime (ART) to execute the app? A) BlackBerry WebWorks B) BlackBerry Runtime for Android Apps C) Cascades SDK
A) Plain text file in the Documents folder B) SharedPreferences C) Secure Store (Keystore) D) SQLite database without encryption Answer: C Explanation: The Secure Store (Keystore) encrypts data and restricts access to the owning application, making it ideal for sensitive information. Question 10. Which SQLite class is used to execute read‑only queries in a BlackBerry 10 native app? A) QSqlQuery B) QSqlDatabase C) QSqlResult D) QSqlTableModel Answer: A Explanation: QSqlQuery provides methods to prepare and execute SQL statements, including SELECT queries, returning result sets. Question 11. Which HTTP method should be used when sending data to a server while ensuring idempotence? A) GET B) POST C) PUT D) DELETE Answer: C
Explanation: PUT is idempotent; repeating the request produces the same result, making it suitable for updating resources safely. Question 12. When parsing JSON data in a BlackBerry 10 native app, which Qt class is most appropriate? A) QXmlStreamReader B) QJsonDocument C) QDataStream D) QNetworkReply Answer: B Explanation: QJsonDocument represents a JSON document and provides methods to read and manipulate JSON structures. Question 13. Which permission must be declared to access the device’s contacts via the BlackBerry PIM API? A) access_location B) access_internet C) access_pim_contacts D) access_photos Answer: C Explanation: The access_pim_contacts permission grants the app rights to read and write the user’s contacts. Question 14. Which API is used to obtain the device’s current GPS location with low power consumption? A) GeolocationService::highAccuracy() B) PositionSource::setUpdateInterval()
Question 17. In the Invocation Framework, which action string is used to share content with other apps? A) bb.action.VIEW B) bb.action.SHARE C) bb.action.INVOKE D) bb.action.OPEN Answer: B Explanation: bb.action.SHARE signals that the invoking app wants to share data (e.g., a photo) with any compatible target. Question 18. Which BBM Social Platform API method retrieves the current user’s profile picture URL? A) BBM.getUserInfo() B) BBM.getProfileImage() C) BBM.getUserProfile() D) BBM.getAvatar() Answer: C Explanation: BBM.getUserProfile() returns a UserProfile object containing fields such as the avatar URL. Question 19. Which BlackBerry payment service method initiates an in‑app purchase transaction? A) PaymentService.startPurchase() B) PaymentManager.makePurchase() C) InAppPurchase.request() D) BillingClient.launchBillingFlow()
Answer: A Explanation: PaymentService.startPurchase() is the BlackBerry API call that begins a purchase flow for digital goods. Question 20. Which file extension is used for a BlackBerry 10 application package? A) .apk B) .ipa C) .bar D) .exe Answer: C Explanation: BlackBerry 10 apps are packaged as .bar (BlackBerry Archive) files for distribution and installation. Question 21. Which command line tool is used to sign a BlackBerry 10 BAR file? A) signcode.exe B) blackberry‑signer C) jarsigner D) altool Answer: B Explanation: blackberry-signer signs BAR packages using the developer’s code signing keys, making the app installable on devices. Question 22. Which UI component provides a “peek” effect, showing a preview of another screen without full navigation? A) NavigationPane B) TabbedPane
Question 25. Which QML element is best suited for displaying a scrollable list of items backed by a data model? A) ListView B) TableView C) GridView D) ScrollView Answer: A Explanation: ListView works with DataModel or QVariantList to efficiently render long, scrollable lists. Question 26. In Cascades, which property of a Container ensures its children are evenly spaced horizontally? A) layoutDirection B) horizontalAlignment C) layoutSpacing D) layout: DockLayout { } Answer: B Explanation: Setting horizontalAlignment to Center or SpaceBetween on a Container distributes child elements evenly across the horizontal axis. Question 27. Which security feature ensures that only trusted code runs during device boot? A) Secure Boot B) Trusted Execution Environment (TEE) C) Application Sandbox D) Code Signing
Answer: A Explanation: Secure Boot verifies cryptographic signatures of the firmware and OS components before they are loaded, preventing unauthorized code execution. Question 28. Which class provides a thread‑safe queue for passing messages between a background worker and the UI thread? A) QMutex B) QQueue C) QConcurrentQueue D) QThreadPool Answer: C Explanation: QConcurrentQueue is designed for safe producer‑consumer patterns across threads, allowing background workers to enqueue data for the UI. Question 29. Which permission is required for an app to use the device’s GPS hardware? A) access_location B) access_network_state C) access_internet D) access_media Answer: A Explanation: access_location grants the application rights to request location updates from GPS or network providers. Question 30. Which BlackBerry 10 API method retrieves the current battery level as a percentage? A) DeviceInfo::batteryLevel()
Question 33. Which tool allows developers to simulate different BlackBerry 10 screen sizes without a physical device? A) BlackBerry Device Simulator B) Android Emulator C) iOS Simulator D) Visual Studio Emulator Answer: A Explanation: The BlackBerry Device Simulator emulates various device form factors, OS versions, and hardware configurations for testing. Question 34. Which API call registers a headless service to start automatically after device boot? A) HeadlessService::register() B) Application::setAutoStart(true) C) HeadlessService::enableAutoStart() D) Service::setAutoStart(true) Answer: C Explanation: HeadlessService::enableAutoStart() configures the service to launch on boot, ensuring background functionality is always available. Question 35. Which method in the BBM SDK is used to send a chat message to a specific user? A) BBM.sendMessage() B) Chat.sendText() C) BBMConversation.sendMessage() D) ChatMessage.post()
Answer: C Explanation: BBMConversation.sendMessage() sends a text payload within an established BBM conversation context. Question 36. Which HTML5 element is recommended for embedding a video captured from the device camera in a WebWorks app? A)
Question 41. Which API provides the ability to encrypt data using AES‑256 before storing it in the Secure Store? A) Crypto::encryptAES256() B) CryptoEngine::aes256Encrypt() C) QAESEncryption::encrypt() D) Crypto::encrypt() with AES256 mode Answer: D Explanation: The generic Crypto::encrypt() method accepts a cipher mode parameter; specifying AES‑256 encrypts the data securely. Question 42. Which attribute in bar-descriptor.xml defines the minimum OS version required to run the app? A) <min-sdk-version> B) <target-sdk-version> C) <os-version> D) <required-version> Answer: A Explanation: <min-sdk-version> sets the lowest BlackBerry OS version that can install and execute the application. Question 43. Which class is used to schedule periodic background network sync tasks in a headless service? A) QTimer B) QNetworkAccessManager C) BackgroundScheduler
D) ServiceScheduler Answer: A Explanation: QTimer can trigger a slot at regular intervals, allowing the headless service to perform periodic network synchronization. Question 44. Which method retrieves the device’s unique identifier (PIN) in a native app? A) DeviceInfo::pin() B) SystemInfo::deviceId() C) DeviceInfo::getDevicePin() D) bb::device::HardwareInfo::getPin() Answer: D Explanation: bb::device::HardwareInfo::getPin() returns the device’s hardware PIN, a unique identifier for BlackBerry devices. Question 45. Which JavaScript function is used to make an asynchronous HTTP GET request in a WebWorks app? A) fetch() B) $.ajax() C) XMLHttpRequest.open() D) navigator.httpGet() Answer: A Explanation: The modern fetch() API performs asynchronous network requests and returns a Promise, suitable for WebWorks. Question 46. Which Cascades UI component provides a breadcrumb‑style navigation stack? A) NavigationPane
Question 49. Which BlackBerry 10 API method retrieves the current network type (e.g., Wi‑Fi, LTE)? A) NetworkInfo::currentNetwork() B) ConnectivityManager::getNetworkType() C) SystemInfo::networkType() D) DeviceInfo::connection() Answer: C Explanation: SystemInfo::networkType() returns an enum indicating whether the device is on Wi‑Fi, cellular, or no connection. Question 50. Which CSS property is most appropriate for ensuring UI elements scale proportionally on high‑density screens? A) width: 100px; B) font-size: 12pt; C) width: 10vw; D) transform: scale(2); Answer: C Explanation: Using viewport‑relative units like vw (viewport width) enables responsive scaling across different screen densities. Question 51. Which class in the BlackBerry SDK is used to read and write key‑value pairs in a persistent manner? A) QSettings B) Preferences C) SettingsStore D) PersistentData
Answer: A Explanation: QSettings provides a simple API for storing application settings as key‑value pairs that survive restarts. Question 52. Which Cascades control is optimized for displaying large images with pinch‑to‑zoom support? A) ImageView B) ZoomableImageView C) ScrollView D) PhotoViewer Answer: B Explanation: ZoomableImageView adds built‑in pinch‑to‑zoom and panning capabilities for high‑resolution images. Question 53. Which API call registers an app to receive BBM channel messages? A) BBMChannel.register() B) BBMChannel.subscribe() C) BBMChannel.create() D) BBMChannel.open() Answer: B Explanation: BBMChannel.subscribe() registers the app to listen for incoming messages on a specific BBM channel. Question 54. Which method in QNetworkAccessManager is used to send a POST request with JSON payload? A) post()