Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Native Development

Reply
New Contributor
sabelosoft
Posts: 6
Registered: ‎10-28-2012
My Device: BlackBerry PlayBook
Accepted Solution

Basic interface support

Hi everyone,

 

I've received one of the development Playbooks and I need to develop at least one app before a certain date in order to own the device.

 

I was planning to simply port one of my IOS apps to the playbook, and submit it as my qualifying app before beginning work on a game or something.

 

However, I have found that the SDK's available for developing for Playbook are UNBELIEVABLY lacking.

 

All I want to do is have a background image, with a 'picker wheel' (this could even be approximated with a small table view) there would be a bunch of lables dotted around the background.

 

Manipulation of the picker wheel would affect the  values of the lables.

 

This app took me half a day to develop with Xcode for iPhone and iPad(that involved 3 resolutions at the time)

 

I'm trying to recreate this app on one device, with 1 resolution(the playbook), and I already have all of the data, and resources ready from when I developed it for IOS (the creation of these resources took up the bulk of the half-a-day when developing for IOS)

 

I seem to have very little options here, and when developing with the Native SDK, there are just a couple of C-language examples (Seriously? not even c++?) I'm using the intended IDE and I can build to the device fine, but any c++ specific syntax will cause the build to fail. I am a proffesional software engineer, and I know what I'm doing with regards to creating the actual product. What is just baffling to me is how little effort RIM seems to have invested in the developer tools. I have spent weeks trying out every option I can find including the marmalade SDK, which doesn't offer much by the way of interface design either as it is a compatibility layer and not intended to be a full-featured development environment, though it provides significantly more than what RIM does.

 

Could someone please tell me that I am missing something, that there is an easy to use Interface Design tool with a bunch of pre-defined and easily configurable widgets. Cause as it is, there is absolutely no way I'm going to invest the time necessary to develop my own set of interface tools, and getting the layout right would be a complete pain in the butt without an interface builder.

 

Does RIM really invest so little in making life easier for it's developers? If so, its really no great mistery why it's market share is so dismal.

 

Any suggestions appreciated

 

Thanks

Please use plain text.
Developer
MikePembo951
Posts: 107
Registered: ‎02-15-2012
My Device: Blackberry Playbook 32GB

Re: Basic interface support

There are two ways to develop in the native sdk for Playbook/BB10: 

-Cascades

-Core

 

Cascades includes nice UI controls whilst you'll have to develop your own UI controls in core.

Core is generally used for games and high-performance demanding apps.

 

I dont think Cascades has a 'colour wheel' control so you may have to develop your own or use a workaround like you said (a table).

 

Either way take a look here:

https://developer.blackberry.com/develop/platform_choice/ndk.html

 

Choose a platform and take a good look at the documentation and api reference pages, tutorials, etc.

 

 

The C examples easily port over to C++ if you wish to start from them, whilst the bbutil liibrary help give you a 'kick-start' and lets you ignore stuff like setting up an egl context, loading a PNG image in to an array etc. YOU MUST be carefully and study it to make sure it is doing exactly what you want it to do! 
I fell i to this trap whilst developing my game, didnt realise that it didn't setup a depth buffer in it's egl attributes. I spent ages looking over my own code ignoring the bbutil library.

(dont add C++ specific code to the C example project, copy over the bbutil library (header and source) to your C++ project if you really wish to start from the tutorials, then look at the code in the C example projects to help you start building)

 

Did you develop your own colour picker wheel in your iOS project or was this a UI control that apple supply?

Please use plain text.
New Contributor
sabelosoft
Posts: 6
Registered: ‎10-28-2012
My Device: BlackBerry PlayBook

Re: Basic interface support

Yeah man, cascades would be great, I spent a good few hours looking into it, only to realise, it's not available for the playbook.

 

Not a colour picker, just a 'picker wheel', you know, like for choosing a date/time/value. In IOS/Android it's a standard widget.

 

I am well versed in opengl, c, c++. The issue is that I am not willing to invest the time it would take to do something like this without some power tools. Were it a game, it wouldn't be so much of an issue, but with a business app like this, it's very important that it matches the playbooks interface style.

 

To see the picker wheel I'm talking about, look at the clock app on the playbook, try setting an alarm, note how you input the desired time. That's what I need. How do I get hold of that?

 

Thanks for taking the time Mike, it's appreciated.

 

Can anyone help with this?

Please use plain text.
Developer
MikePembo951
Posts: 107
Registered: ‎02-15-2012
My Device: Blackberry Playbook 32GB

Re: Basic interface support

[ Edited ]

You mean like a dropdown/combo box in windows?

 

Have you had a look at developing in QT then porting?

http://qt-project.org/downloads

 

then building qt project for playbook OS:

http://qt-project.org/wiki/Building-Qt4-for-BlackBerry

 

Note: dont use QT5 only QT4.xx for Playbook development.

 

I'm a c++ native dev and QT is something i've never used before, nor have I ever needed to.

 

Maybe try to change the title of this thread to attract some QT devs cause i'm certainly not the best person to be asking about QT. (or make a new thread if you cant change thread titles)

 

Source(http://qt-project.org/wiki/Blackberry):

Using Qt with BlackBerry PlayBook OS

The PlayBook OS powers the BlackBerry PlayBook tablet products. It was a starting point in the development of BlackBerry 10. Research in Motion (RIM) in conjunction with KDAB engineers had ported Qt to the PlayBook OS. These were the first works to bring Qt to the new BlackBerry platforms which are now continued in RIM and in the Qt community. PlayBook OS does not include a Qt installation. An ealier version of Qt is integrated in the PlayBookNDK [developer.blackberry.com] only. Developers are supposed to include Qt libraries in the installation packages. Development of Qt for PlayBook OS continued over time and the Qt version in the NDK is became outdated. Today, developers are advised to use Qt 4.8.3 [qt-project.org] and make an own build with the toolchain included in the PlayBook NDK [developer.blackberry.com] to develop Qt applications for PlayBook.

The basic process is:

  1. Make sure that your PlayBook is running the latest 2.x version of the firmware by going to Settings->Software Updates->Check for Updates.
  2. Install the BlackBerry NDK [developer.blackberry.com] and set it up for the use with Qt.
  3. Build Qt 4.8.3 [qt-project.org]
  4. Configure infrastructure for signing and deploying your applications
  5. Do not forget to enable Developer Mode. Go to Settings->Security->Development Mode and toggle the switch to turn it on.
  6. Get coffee, do some hacking, get more coffee…
  7. Build and deploy your applications and required Qt libraries to the PlayBook, test
  8. Submit your applcation to the BlackBerry AppWorld [appworld.blackberry.com]
  9. Get beer and pizza

 

For more detailed instrucutions please take a look on

Please note that 4.8.3 is the last Qt version supporting PlayBook OS 2.x. Qt 4.8.4 and later and Qt5 are supported on BlackBerry 10.

 

Oh and you'll need an IDE to go with qt creator

Please use plain text.
New Contributor
sabelosoft
Posts: 6
Registered: ‎10-28-2012
My Device: BlackBerry PlayBook

Re: Basic interface support

I'm surprised that you don't know what I mean, take a look here:

 

http://www.techotopia.com/images/e/ed/Ios_4_iphone_picker_example_layout.jpg

 

That's an Iphone one, but android and playbook ones look very similar.

 

I haven't looked at Qt, yet, so I will do. I thought Qt was a canned nokia project???

 

Does anyone have any advice on this, I'd appreciate it if someone could save me some time investigating any more dead ends.

 

Anyone used a 'picker wheel' in their Playbook app?

 

cheers

 

Please use plain text.
Developer
borceg
Posts: 671
Registered: ‎03-21-2012
My Device: BlackBerry PlayBook 16GB

Re: Basic interface support

[ Edited ]

First of all, forget all about iOS fancy file pickers, date/time pickers, rotating options, fancy tabs or whatever else. Simply it doesn't exist in NDK for PlayBook. BB10 is another story.

If your app must be done with c++ code, the only solution is Qt 4.8.3 and QML. With QML you can use existing symbian/maemo/meego visual components or you can invent your own, example like this one https://github.com/qwazix/qmltimepicker
Or you can go straight to OpenGL and do whatever you want, but that's the hard way.

Cascades for BB10 provides already built in components (like lists, tabs, pickers or whatever you need) but at this moment it's not supported on PB.


I assume that you need to create an app for Marmalade SDK offer. It's better to start creating some simple game than porting iOS app that extensively depends on iOS sdk. Just my opinion :smileyhappy:

Please use plain text.
Developer
jtegen
Posts: 6,541
Registered: ‎10-27-2010
My Device: HTC One, PlayBook, LE Z10, DE Q10

Re: Basic interface support

This can be done in AIR in a few hours. If you post there, I will post a date picker class for you.

http://supportforums.blackberry.com/t5/Adobe-AIR-Development/bd-p/tablet

Please use plain text.
Developer
MikePembo951
Posts: 107
Registered: ‎02-15-2012
My Device: Blackberry Playbook 32GB

Re: Basic interface support

[ Edited ]

Use qt, it's your best option for a c++ project without lots of opengl work

Please use plain text.
New Contributor
sabelosoft
Posts: 6
Registered: ‎10-28-2012
My Device: BlackBerry PlayBook

Re: Basic interface support

Oh, I see it there

 

https://developer.blackberry.com/air/apis/bb10/qnx/fuse/ui/picker/package-detail.html

 

Thanks man.

Now to figure out how to develop with adobe air...

 

Can I use Adobe Flash Professional CS6? because I have access to a machine with that on it.

It'd be great to have a graphical editor to lay out my interface.

 

does Flash Builder have such a tool?

 

Cheers

Please use plain text.
Developer
jtegen
Posts: 6,541
Registered: ‎10-27-2010
My Device: HTC One, PlayBook, LE Z10, DE Q10

Re: Basic interface support

Goto the AIR forum, you'll get a lot of good support. Plus there is a lot of things on AIR on the web. I'll post the date picker class on the forum for you.
Please use plain text.