Developing on BlackBerry 10 is very easy in many phases.
By Native C/C++, HTML5, Adobe AIR, or Android, developers can easily bring their apps to this new platform.
I like to create "Hybrid App" on BlackBerry 10, whichcontains HTML5 and the native Cascades UI Framework.
The reason why I choose using hybrid apps are because by HTML5 I can do some drawing things, and by Cascades framework I can make my apps have uniformed UI and also the awesome native APIs!
Basically hybrid apps are using webview to load html files, but how can we debug the HTML code when them be wrapped into webview?
The answer is very easy! Use the WebInspector!
Check the QML properties of WebView component, checked the "Web Inspector Enabled".
Next, you can simply connect your devices / simulator to the computer, open the browser and type:
For USB connection: 169.254.0.1:1337
For Simulator of Wifi conection: IP + port 1337
The view of connecting to webinspector
Click into it and you can see the console!
See, is that easy?
Come and try to debug in WebInspector now :D
BlackBerry Z5 (Cappuccino) and Kopi (Kopina) are the devices which be cut off by BlackBerry.
Z5 (Cappuccino) planned to be the devices for low-end market.
Here are the spec of Z5
BlackBerry Z5: STB100-X
4.5"~300ppi Display
Qualcomm Snapdragon S4 MSM8960 Dual-Core 1GHz CPU
1.5GB RAM / 8GB ROM
1.3MP Front Camera,5MP Rear Camera
2100mAh Battery
No NFC
Let's compare Z5 and Z10
Check the size of the screens, apparently Z5 can show more contents than Z10
BlackBerry Kopi: SQC100-X
3.1" Display
1.5GB RAM / 8GB ROM
2100mAh Battery (as the same as Z5)
No NFC
Let's compare Kopi and Q5 also!
Z30 VS. Z5 VS. Kopi
Kopi & Z5 & Battery (Front)
Kopi & Z5 & Battery (Back)
Just use some simple steps can let you check debug messages!
Open the main.cpp in your project. Only need to add two code snippets!
-
First: Insert this before int main
void myMessageOutput(QtMsgType type, const char* msg)
{
std::fprintf(stdout, "%s\n", msg);
std::fflush (stdout);
} -
Second:Inset snippet after Application app(argc, argv);
qInstallMsgHandler(myMessageOutput);
-
Here are the whole code snippets
void myMessageOutput(QtMsgType type, const char* msg) { std::fprintf(stdout, "%s\n", msg); std::fflush(stdout); } Q_DECL_EXPORT int main(int argc, char **argv) { Application app(argc, argv); qInstallMsgHandler(myMessageOutput); // localization support QTranslator translator; QString locale_string = QLocale().name(); QString filename = QString( "YourApp_%1" ).arg( locale_string ); if (translator.load(filename, "app/native/qm")) { app.installTranslator( &translator ); } new YourApp(&app); return Application::exec(); }
Enjoy all your dubeg messages! ^^
Yesterday I saw an article about visual comparsion of iOS 8 beta and Android L from redmondpie
http://www.redmondpie.com/ios-8-beta-vs-android-l-side-by-side-visual-comparison-screenshots/
I started to think, why not add BB10 into the comparison?
After several hours hard working, I took screenshots on my BlackBerry 10.2.1.2977 OS and BlackBerry 10.3.0.700 OS...
Actually many good features on BlackBerry 10 also be implemented to iOS / Android.
But until now, I still think BlackBerry Hub is the best notification center :D
And the Instant Preview on BlackBerry 10 provide me the best way to reply messages :)
All the images below are arranged via the order :
iOS 8 beta / Android L / BlackBerry 10.2.1 / BlackBerry 10.3.0
Thanks for redmonpie's images and ... Here we go!
1. Lock Screen
2. Home Screen
3. Dialers
4. Calendar
5. Calculator
6. Keyboard
7. Quick-toogles-control
8. Setting
9. Multitasking
10. LockScreen-quickReply
11.Notification
If you want to see more comparison, just leave a comment below :)
Enjoy!
Simon
2014/07/08, I received a mail from Scoreloop..
Termination of Scoreloop SDK License Agreement (the “Agreement”) & Shutdown of Scoreloop Services.
This is a huge impact for me and many developers...
Scoreloop provides a social leaderboard for Android, iOS and BlackBerry apps.
2011/06/07, RIM Acquires Scoreloop To Make BlackBerry Games More Social.
After that, BlackBerry also integrated Scoreloop SDK to their BlackBerry 10 SDK and provided samples for developers to use it.
I also integrated the scoreloop leaderboard into my "2048 using Scoreloop" on BackBerry 10.
But due to the mail, the total scoreloop service will shutdown on Dec 1,2014...
And also, BlackBerry 10.3.1 SDK will no longer include Scoreloop SDK
What a shock, and I feel very sad for this announcement..
How can we export the score data from Scoreloop?
How can we map the score data with user and move to another leaderboard?
And the last, is there any alternative leaderboard things on BlackBerry 10?
I only found two here... still trying but so far I think they may work.
If you have more, please let me know ^^
1. App42api
2. clay.io
Still hope BlackBerry can keep the Scoreloop service..
Let's find another way to keep our leaderboards alive :)
Simon
How To Squash ‘Unresponsive’ or ‘Unable To Terminate’ Errors When Debugging your BB10 App on Device
THERE ARE TWO WAYS TO RESOLVE THESE ERRORS
1) Restart your BB10 Dev Alpha, then turn Dev Mode on (take a few mins)
2) Kill the app manually via Momentics IDE I will show you how to quickly kill the app using the following steps. Follow along. (take a few seconds)
Open Target Navigator
Window - Show View - Target Navigator
Locate Device Process
Go Under Device Ip - Select Process
Send Signal To Application
Go Under Device Ip - Select Process - Right Click - Click Deliver Signal
Terminal Process/App Manually
Select SIGTERM option - Press OK
That’s it!
After you send the SIGTERM (Signal Terminate) your unresponsive app will disappear from the BB10 device. Success! Now, build (CTRL+B), deploy (CTRL+11) and test again.
BlackBerry provide developers dev devices for testing since 2012
There are Dev Alpha A, Dev Alpha B and Dev Alpha C!
Dev devices not only provide developers a real phone for testing, but also let developers to use the latest SDK!
I'm so appreicated about the continuous support from BlackBerry on the dev devices!
Dev Alpha A can only upgrade to 10.1 beta OS, but Dev Alpha B & C can upgrated to the latest 10.3.0 beta OS!
Let's see how to upgrade your Dev Alpha Devices!
First, download the AutoLoader here, be careful to choose which device you are using!
http://developer.blackberry.com/blackberry10devalpha/devalpha_update.html
Second, you need to find a Windows PC.. Currently the autoloader file only have Windows exe file.
And I tried to use VMware / Parallels / Virtual Box but all failed...
Third, connect your dev device to the PC, run the AutoLoader..
If the device be detected, you will see "Resetting Device:"
Don't forget to input the device password if you have it.
When the number shows 100, your upgrade is done!
Tips
- Before you use the autoloader, I suggest you install BlackBerry Link first
http://us.blackberry.com/software/desktop/blackberry-link.html
- To ensure devices be detected, I will turn off network connection of the device and make sure the USB connection is for Windows.
System Settings -> Storage and Access -> USB Connection -> Connect to Windows
Hope you all can easy to upgrade your devices! ^^
PS.
For those who want to try the latest 10.3 OS, here is a way to let you use most of the features of 10.3. Please take your own risk for trying this, I am not responsible for the damage of your devices.
Install 10.3.0.700 Dev OS.
-
Download the extracted bar files from previous leaked 10.3.0.296 OS
https://mega.co.nz/#!ZNt02ADA!nbwAyry_bd9MI2607Jo-oaHeRec2Ry8Ediu4S19KvzM
Install download bar files!
Enjoy it!
:D:D:D:D Simon
For developers who want to develop Android Apps / Games on BlackBerry 10..
After Google released the ADT 23, many developers encountered the problem of can't build projects...
This version of ADT also effects on BlackBerry Plug-in for Android Development Tools.
When user try to install the plugin via this link
http://developer.blackberry.com/android/downloads/eclipseplugin/
Missing requirement: BlackBerry Eclipse Plugin for Android Development 2.0.4.201405221110 (net.rim.ajde.feature.feature.group 2.0.4.201405221110) requires 'com.android.ide.eclipse.adt.feature.group 0.0.0' but it could not be found
In version 2.0.4 (or previous 2.0 beta), developers just need to simply start the ADB proxy Manager, setup your device and then run as Android Application to deploy apps into their devices / simulators.
(Images from developer.blackberry.com)
What can we do without install the BlackBerry Plug-in for Android Development Tools??
The answer is easy... Just download the Command-line tools!!
For mac
For Windows
For Linux
After you download the file, you can see several files inside.
Open the "ADB Proxy Manager" and setup your device, just like what you did in eclipse!
Now you can go back to your development and don't need to worry about no eclipse plugin!!
Thanks for BlackBerry!
Keep Developing!
I used the old BlackBerry Vendor Portal for almost 2.5 years ago...
Few weeks ago, i joined the beta test of the New BlackBerry Vendor Portal, it is really awesome!!
Let's check what's new in the portal!
1. Welcome Page
2. Login Page
3. Show your products! Really Nice, now you can simply check your downloads per day :DDD
4. Search function here is also very cool! Easy for developers to find what they want
5. Please the release button to update your apps!
6. Click on "New Release" and all you need is to drag the bar file to the area
7. Select support devices and min OS. Easier here, in the old vendor portal, the selection will be changed in some wired condition .. haha
8. After you upload the bar, it will automatically to fetch the version (For Android apps may have some problems on it , such as 1.0.50.0 if your app is 5.0 on versionCode..), input the description about the new update!
9. Submit For Review! The update procedure is faster than before
10. You can check the status of your release version (Under Review / Draft)
*11. Also, check the download reports are much more easier and with better visualization
12. Check all your change requests (like request tickets before??)
13. Check your testers ... Oops , I don't even remember I have so many testers :P
14. The new Vendor Portal allows developers to create promotions here also!
Just a brief introduction of the new BlackBerry Vendor Portal.
I believe this is a very good news for developers and can help us for our future developing!
As a developer, I think many other developers may think how to teach users to use my application
We provide screenshots of the apps when we upload to any app markets, some devs will also record a video to tell users who to operate.
The most common way is to put a "Guide Page" inside the app, not just "Tips", but a continuous information to let user understand the major features.
There are three kinds of implementations here.
1. Use a scrollview with a super large image
Advantage:
You can simply scroll from left to right, put a button at the last page to close this Guide Page.
Disadvantage:
The image may be too large, and hard to change / modify parts.
2. Use a scrollview with several images
Advantage:
You can simply scroll from left to right, put a button at the last page to close this Guide Page, can change parts easier than first method.
Disadvantage:
Still hard to change / modify parts.
3. Use a scrollview with custom containers
Advantage:
Custom containers are much more flexible
Disadvantage:
I don't know, haha!
Here are the sample from Github
For Cascades 10.1 /10.2 SDK
For Cascades 10.3 SDK
In AppGuidePageDesignUnit project, I rewrite the project with design unit to support even Q30 (Passport), not just pixel related.
If you also want to learn use design unit, you can also check this project :D
If you have any problem, just send me a mail!
bsebadmin@gmail.com
Hope you will enjoy the sample!
Simon
BlackBerry announced a partnership with Amazon AppStore last month.
User who developed Android Apps and now upload to Amazon AppStore!
Let's follow the steps bellow to uplaod your apps to Amazon AppStore!
I like to Start from Testing Service, to make sure that my app doesn't have any problem on Amazon AppStore
After testing, you can simply submit your apps to Amazon Store
Login first
Fill In General Information
General Information Finished
Fill In Available Pricing
Available Pricing Finished
Fill In Description
Description Finished
Fill In Images & Multimedia
Images & Multimedia Finished
Fill In Content Rating _1
Fill In Content Rating _2
Content Rating Finished
Fill In BinaryFiles _1
Fill In BinaryFiles _2
BinaryFiles Finished _1
BinaryFiles Finished _2
App Submission Finished
Now you can wait for the approval and let others know your app links on Amazon AppStore!!
Enjoy!!
I write many android apps and want to bring them into BlackBerry World, how can I do it?
Basically I don't like to use the integrated tools in eclipse... so I decide to use commandline tool!
1. Download BlackBerry Tools for Android Development 2.0.4
For mac
For Windows
For Linux
The blackberry-apkpackager is located at BlackBerry_Tools_for_Android_Development-2.0.4/bin
2. Using blackberry-apkpackager to repackage APK fils to BAR files.
Orginal : The folder with APK files
Repacked : The fold with converted bar files.
imactekiiMac:~ imac$ blackberry-apkpackager Orginal -t Repacked
3. Using batchbar-signer to sign BAR fils..
imactekiiMac:~ imac$ batchbar-signer Repacked author.p12 passwd passwd
Very useful tools, enjoy!!
Simon
I got the new BlackBerry Passport the day after it released.
I really love it! With extremely great keyboard and wide screen, plus a long battery life...
Just can't go back to my Z30 anymore :P
Here are some nice photos I took this weekend.. Let's see how nice the Passport can be!
Since Line is the most popular IM apps in Asia, let's see how Line works..
The problem is .... I can't type any English words in Line on my Passport!!
After upgrade to 10.3, all my English typing in Line will be changed to Capital forcely..
The only way to solve is to turned off the "Auto-Capialize" Setting here
Settings - Language and Input - Prediction and Correction
BUT!! Even I turn it off on my Passport, typing English in Line still has a problem
Check this video...
You can find that it showed only ONE alphabet no matter how many you typed...
Super wired... :(
Seems like a bug only for Line, I didn't meet this problem on other Android apps.
Wait and see if this will be solved in the future..
- Update : Some users reported if use lower Line Version such as 3.8.8, it will work fine.
- Update : Only Line has this issue.
- Update : Using an Android keyboard is another way.. But I want to use BlackBerry Keyboard!
Since Line is the most popular IM apps in Asia, let's see how Line works..
The problem is .... I can't type any English words in Line on my Passport!!
After upgrade to 10.3, all my English typing in Line will be changed to Capital forcely..
The only way to solve is to turned off the "Auto-Capialize" Setting here
Settings - Language and Input - Prediction and Correction
BUT!! Even I turn it off on my Passport, typing English in Line still has a problem
Check this video...
You can find that it showed only ONE alphabet no matter how many you typed...
Super wired... :(
Seems like a bug only for Line, I didn't meet this problem on other Android apps.
Wait and see if this will be solved in the future..
- Update : Some users reported if use lower Line Version such as 3.8.8, it will work fine.
- Update : Only Line has this issue.
- Update : Using an Android keyboard is another way.. But I want to use BlackBerry Keyboard!
Just got the new BlackBerry Passport from BlackBerry Elite Program!
Let's see how beautiful it is!
My Fedex package :D
The front of BlackBerry Passport Box
BlackBerry Passport unboxing 1
BlackBerry Passport unboxing 2
BlackBerry Passport unboxing 3
BlackBerry Passport unboxing 4
BlackBerry Passport unboxing 5
BlackBerry Passport unboxing 6
Amazing!! It will be my best productive tool!
BBEliteWin #BBElite #BlackBerry #BlackBerryPassport #BeProductive
Debug BB10 Headless Apps is really a hard topic for developers.
Before the latest Momentics update, debug is even harder..
By Momentics 2.1.2, developers can follow this instruction to debug your headless apps.
https://developer.blackberry.com/native/documentation/dev/tools/debugging_headless_apps.html
Here I am going to share my experience for debugging headless apps.
I put the logs into notification and show them in Hub!
If you have some problems on debugging headless apps on BlackBerry 10, maybe this trick can help you and save lots of time! :)
GOGOGO, keep developing on BlackBerry 10!
Last Friday I updated my iMac to Mac OS X 10.11 (El Capitan), a nightmare for my whole weekend..
After upgraded, BlackBerry Link no longer recognize my BlackBerry 10 devices.
From Dev Alpha B to Passport.. Just keep showing "Can't connect to your BlackBerry 10 device, press restore.." etc
And then I tried to open my Momentics IDE...
What the....
I think the problem may be the USB driver or connection.
So I did some test.
-
Reinstall Mac OS X 10.11 (El Capitan)
Still has the same problem.
-
Uninstall BlackBerry Link & Blend and reinstall them
Still has the same problem.
-
Only install BlackBerry Link
Oh my God, it works!!
I did more test, but in those tests, once you install BlackBerry Link first and then install the BlackBerry Blend, the connections will all fine!
-
If you don't need BlackBerry Link, simply uninstall it and just use your Momentics for connecting your BB10 device to debug is also a solution.
(But for me, I still need Link for backup/restore and Blend to type in Chinese... Can someone tell me why BlackBerry remove the Zhuyin input method on Passport!!)
Just a simple tips and work around for you guys may occur!
Happy Coding!
Sometimes we need to keep our app always awake (not dim due to the Screen timeout).
How to make this happen?
The answer is ver simple :D
Jusy put the code into your QML file
Application.mainWindow.screenIdleMode = 1
(1 means KeepAwake, and 0 means Default).
Please be careful, this effect only works when the app is in full screen mode
Once you minimize the app (in Active Frame mode), the screen will still follow the screen timeout rule to dim.
Hope you enjoy this trick!
Simon
Sometimes we may need to change the brightness of screen in code.
How to make it happen?
Using the QProcess can help you to do that!
QString program = "bkltctl";
QProcess myProcess = new QProcess(this);
QStringList arguments;
arguments << "brightness" << "set_brightness" << "display" << "50"; (50 is the value you want).
myProcess->start(program, arguments);
PS. You may need to connect SINGAL readyReadStandardError(), readyReadStandardOutput() and finished(int, QProcess::ExitStatus) in order to get the output error or result. :)
Enjoy it!