Developing Apps Using the BlackBerry 10 Native SDK and Cascades UI Framework



If you want to learn how to develop native BlackBerry 10 apps and get ready for the certification exam, you've come to the right place. We have a ton of lessons, labs, quizzes, and dedicated forums to help you get prepared and learn the fundamentals.

Please take a few moments and complete this survey to share your feedback about this training.

1
Getting Started
This lesson provides a quick overview of the BlackBerry 10 platform, Qt, QML, and Cascades. From there, we’ll take a close look at the QNX Momentics IDE, launch and build configurations, and debug tokens, followed by some tips on debugging and running your code on a device and simulator. In the lab exercise, you’ll become familiarized with the QNX Momentics IDE and get your first application up and running on a BlackBerry 10 device or simulator.

It should take you around 45 minutes to complete this lesson and lab exercise.
Details



2
First Taste of QML
This lesson shows you how to design an application's UI with QML. You'll learn about some basic UI controls and a brief overview of signals and slots. In the lab exercise, you’ll create an application with QML to convert a temperature from Fahrenheit to Celsius.

It should take you around 35 minutes to complete this lesson and lab exercise.
Details



3
Resources and Layouts
This lesson provides an overview of how you can work with and manage resources in your application. We’ll also show you how to control the UI of an application with alignments, space quotas, and layouts. In the lab exercise, you’ll use image resources and different layouts to organize an application.

It should take you around 50 minutes to complete this lesson and lab exercise.
Details



4
Qt and C++
This lesson shows you how to properly start an application and load QML documents followed by an overview of parent-child relationships, object trees, and guarded pointers. In the lab exercise, you’ll subclass a QObject to create an application class that instantiates the app’s UI and replaces the code currently in the main .cpp file.

It should take you around 40 minutes to complete this lesson and lab exercise.
Details



5
Signals and Slots
This lesson shows you how to create signals, call slots, and connect signals to slots. In the lab exercise, you’ll implement a signal and a slot and connect the two.

It should take you around 20 minutes to complete this lesson and lab exercise.
Details



6
QML and C++ Communication
This lesson shows you how to expose C++ objects to QML and expose QML properties to C++. You'll also learn how to invoke QML functions with C++, followed by a quick overview of common Qt objects and implicit sharing. In the lab exercise, you’ll create two new buttons that communicate with C++ to change the layout direction of a stack layout.

should take you around 35 minutes to complete this lesson and lab exercise.
Details



7
Controls and Animations
This lesson provides a closer look at several core controls (toggle buttons, sliders, dividers, activity indicators, etc) as well as some more advanced controls (ImageView, WebView, ListView, and ScrollView). The lesson also provides an overview of theming, transformations, and animations. In the lab exercise, you’ll create and use controls and explicit animations in an application.

It should take you around 60 minutes to complete this lesson and lab exercise.
Details



8
Custom Components and Controls
This lesson shows you how to use and implement C++ custom components in your Cascades application. The lesson also provides an overview of how you can hide as well as imperatively and declaratively allocate components. In the lab exercise, you’ll create and use custom components to encapsulate reusable pieces of an application.

It should take you around 60 minutes to complete this lesson and lab exercise.
Details



9
Navigation, Part 1
This lesson reviews the overflow, application, and action menus followed by an overview of action bars and items, panes and pages, context actions, and sheets. In the lab exercise, you’ll create a Settings screen using the application menu and sheets, and use context-based action items.

It should take you around 30 minutes to complete this lesson and lab exercise.
Details



10
Navigation, Part 2
This lesson provides an overview of the TabbedPane, tabbed overflow menu, and NavigationPane. In the lab exercise, you’ll separate an application into various screens using both a TabbedPane and a NavigationPane.

It should take you around 45 minutes to complete this lesson and lab exercise.
Details



11
List Views and Data Models Part 1
In Part 1, we'll start by providing an overview of ListViews, model-view design, and data models. From there, we'll take a closer look at list item components and list item types, then show you how to customize list items. In the lab, you'll build a data model by loading in a JSON file and create a ListView to show a list of cities in your application.

It should take you around 60 minutes to complete this lesson and lab exercise.
Details



12
List Views and Data Models Part 2
In Part 2, we'll take a look at responding to user interactions in ListViews, handling item selection, selecting multiple items, and implementing context menus. We'll also provide an overview of common data model types. In the lab, you'll handle multi-selection in a ListView with a context menu on the ListView items.

It should take you around 50 minutes to complete this lesson and lab exercise.
Details



13
Orientation
This lesson shows you how to declare orientation support and dynamically swap an app's UI for portrait and landscape orientations. In the lab exercise, you'll modify the Weather City Detail screen from the previous lab so that it supports portrait and landscape orientations.

It should take you around 35 minutes to complete this lesson and lab exercise.
Details



14
Local Storage
In this lesson, we'll show you how to access the file system, store application settings, and use SQL databases. In the lab, you'll store a JSON-backed database and user preferences in your application.

It should take you around 35 minutes to complete this lesson and lab exercise.
Details



15
Networking
In this lesson, we'll provide an overview of networking considerations for BlackBerry 10 devices followed by an overview of the Qt Networking module. We'll then show you how to get local information and work with TCP sockets and HTTP requests. The lesson concludes with a discussion on how you can implement Web Views in QML. In the lab exercise, you'll use the QNetworkSession object to detect changes in the networking state and use the QNetworkAccessManager to issue HTTP requests.

It should take you around 35 minutes to complete this lesson and lab exercise.
Details



16
Location Services
In this lesson, we'll take a look at some of the available positioning methods (Wi-Fi, Cellular, aGPS, GPS) followed by an overview of the Qt Mobility Location API. From there, we'll provide a step-by-step walkthrough of how to enable support for location services and incorporate geocoding and reverse geocoding into your app. In the lab exercise, you'll enable the weather app to determine the user's location and pull the weather information from the user's nearest location.

It should take you around 40 minutes to complete this lesson and both lab exercises.
Details



17
Navigator and Covers
In this lesson, we'll look at the different bb:application navigator events and how they're implemented with signals and slots. We'll also show you how to handle automatic and manual application termination and set an application's cover. In the lab exericse, you'll implement exit signals to save the application's database and create a cover for your application to use when it is minimized.

It should take you around 25 minutes to complete this lesson and lab exercise.
Details



18
Touch and Gestures
This lesson begins with an overview of the different touch events followed by a walkthrough on how you can intercept touch events. We'll also take a look at how you can implement gesture handlers. In the lab exercise, you'll implement a couple of gesture handlers to your application to add a little more interactivity for the user.

It should take you around 35 minutes to complete this lesson and lab exercise.
Details



19
Dialogs
In this lesson, we'll provide an overview of system dialogs, including toasts, prompts, and credentials. You'll also learn how to work with system dialogs in QML and create custom dialogs. In the lab exercise, you'll get the chance to implement a toast and a custom dialog.

It should take you around 25 minutes to complete this lesson and lab exercise.
Details



20
Audio and Video
In this lesson, we'll begin by providing a brief overview of the audio and video technologies that are available on the BlackBerry 10 platform. We'll then take a close look at how you can implement and use the MediaPlayer object in your application. In the lab exercise, you'll implement audio support so that when a user zooms in on the Weather View or City Details screen, an ambient sound file will play.

It should take you around 20 minutes to complete this lesson and lab exercise.
Details



21
Payment Services
This lesson begins with a brief overview of the end-to-end in-app purchase process, then we'll take a look at how you can register your digital goods and set up your application for in-app purchases and subscriptions. In the lab exercise, you'll implement the functions needed to make purchases and retrieve existing purchases from the BlackBerry Vendor Portal.

It should take you around 40 minutes to complete this lesson and lab exercise.
Details



22
Sensors
This lesson begins with a quick overview of the various sensors available for BlackBerry 10 devices followed by a review of how you can use the Sensor class and filter sensor events. In the lab exercise, you'll use the ambient light sensor to modify the backgroud colour of the application's city details screen.

It should take you around 20 minutes to complete this lesson and lab exercise.
Details



23
Working with the Camera
This lesson shows you how to enable the camera, set camera options, and open the camera. In the lab exercise, you'll enable users to snap photos of their local weather and add the photos to the in-app Weather Journal.

It should take you around 30 minutes to complete this lesson and lab exercise.
Details



24
Invocation Framework
In this lesson, we'll start off by providing you with an overview of the invocation framework. We'll then take a look at how you can send and receive bound and unbound invocations. After that, we'll review some important considerations relating to cards and peeking. In the lab exericse, you'll work with the invocation framework by implementing a system-wide "share" action and an app-specific action.

It should take you around 45 minutes to complete this lesson and lab exercise.
Details



25
BlackBerry Messenger Integration
We'll begin this lesson by providing you with an overview of some of the BlackBerry Messenger features. We'll then show you how to register an application for BBM integration and implement various BBM services, such as the user profile, contacts, and messaging. In the lab exercise, you'll add BBM integration to your application so that the user can share their weather entries in a message or set their BBM profile status.

It should take you around 35 minutes to complete this lesson and lab exercise.
Details



26
Internationalization
This lesson shows you how to enable translation, flag text to be extracted for translation, translate extracted strings, and release an app with translated files. In the lab exericse, you'll use the qsTr function to flag some in-app text for translation and translate this text to a language of your choice.

It should take you around 30 minutes to complete this lesson and lab exercise.
Details