Blackberry app for different blackberry devices - blackberry

First of all, I'm not a Blackberry user. I have made a blackberry application for 7.0+ OS Versions. From the start I tested the app on Blackberry 9900 Bold Simulator and same device (Same device provided by the company). So didn't really check the application in other blackberry device. But now I am given another resolution BB device and all the GUI stuff is disturbed.
What should I do now?
One way is that I should check the resolution and Display.getHorizontalResolution() and Display.getVerticalResolution() and make GUI's accordingly but since I have 20+ screens I won't be doing this.
If you have any generic solution please provide.

Use embedded Eclipse plugin preprocessor or Antenna preprocessor for conditional compilation with BlackBerry Ant Tools to generate different application files for different target OS-es, and/or different target devices.
Consider Alx-task to generate alx (application descriptor file) that supports different platforms/OS-es.
Also check this article. It will help with your task.

Related

How to prepare old Blackberry app for BlackBerry 10?

We have a couple of Blackberry apps and are now trying to prepare them for BB 10. These apps are made in Java via Eclipse and/or RIM IDE tool. However, when I went to https://developer.blackberry.com/platforms/bb10, I saw that there is no even a mention of Java SDK. Take a look at image below.
So how am I supposed to update Blackberry app to BB 10? Any ideas?
You have to decide what to do with your applications. If you have an Android version, one option is to repackage the APK to a BAR using the provided tool set so that it will run under the Android player. There are many good Android applications that provide an acceptable or even good user experience this way. Another option is to port your BlackBerry Java application to Android (if there is no existing Android version) then package the Android version for the player. This would also allow you to market the application to Android users. The final option is to port the BlackBerry Java applications to the Native SDK, Cascades, HTML5 or Adobe Air.
The best way forward depends on how tightly integrated into the BB10 system you want to be. While there are facilities provided in BB10 that are the equivalents to those is BlackBerry OS, there have been significant changes required to enable the improvements everyone wants to see on the new platform. If you see BB10 as a significant part of your future business then porting to Cascades would be very worth while.

Which BlackBerry Devices/OS to target? (July 2012)

We have a fairly simple mobile application, completed for iPhone and Android that does the following:
queries a web service to verify the user's account information
display an animation to show that the user, in fact, has a valid account
We got the application working very quickly on a PlayBook by using the Android version.
Now the customer has asked us to explore getting it to work on other BlackBerry devices.
None of us know that much about BlackBerry, and the main source for our question returned from google searches (http://us.blackberry.com/developers/choosingtargetos.jsp) comes up as 404 page.
According to this chart there is still a wide variety of devices in use. Which ones does it make sense to target?
Thanks
I had posted an answer last year about this here on stackoverflow, but as you noted, that link has recently broken.
The only thing I've found that's similar is this BlackBerry developer page. It shows, for example, that paid apps are being purchased by devices that are about 97% on OS 5.0 and above.
From what you've told me, I don't know that your app is going to be that different on different devices, aside from maybe the obvious smartphone vs. Playbook difference. Different devices certainly have different screen sizes, so you'll need to make sure your UI is coded to handle that gracefully.
If you guys are new to BlackBerry, you might want to stay away from OS < 5.0. There are some things in prior OS versions (e.g. location services / maps, browser, and networking) that are a little tough to work with, and with such a small percentage of paying customers still on OS < 5.0, it probably isn't worth it to you.
So, I guess I'm recommending that you target specific OS levels (e.g. 5.0+). That will be a bigger driver for how you build your app, than a specific set of devices. This is because each OS version adds more and better APIs to use.
Once you've decided which OS to target, then you should download the SDK for each major OS. For example, if you use the Eclipse BlackBerry plug-in, you can install the 5.0 SDK (aka component pack), the 6.0 SDK, the 7.0 and 7.1 SDK.
Once you have those SDKs installed, you'll then have a bunch of simulators (each SDK has a simulator folder). Run your app on all those simulators, and that'll probably be a good start.
Of course, there's no substitute for running on real hardware, too, but if your app does mostly standard things (not interacting with hardware sensors, just displaying web pages, and making HTTP requests), the simulators should give you a pretty good test environment. They certainly will give you all the screen size configurations.

How can I tell an Android app is aimed at tablets? Just Android version or something like iPhone/iPad

I'm building software that lists apps for users to test.
With respect to Android, how can you tell from an .apk that it is meant for Android tablets? Or does Android not make the distinction as iOS does with iPhone/iPad? I know iOS uses pixel perfect layouts (well points with retina) whereas Android uses much more of a liquid layout with much more different resolutions
I want to extract the .apk file and parse the AndroidManifest.xml file inside the .apk (yes binary format, thanks Google) and determine if an app is suitable for only Android phones and/or Android tablets
Would checking for the existence of a drawable-large folder be one way?
Or the supports-screen element?
<supports-screens
android:smallScreens="false"
android:normalScreens="false"
android:largeScreens="true"
android:xlargeScreens="true"/>
Thanks!
Correct. Android doesn't have a concept of a tablet separate from any other device. They're all Android devices that just have particular characteristics. Focus on which characteristics you're interested in, such as screen size (as you have) and OS version.
From Google guide, if you can get these elements from the manifest file, this App can be considered declaring only for tablet.
<supports-screens android:smallScreens="false"
android:normalScreens="false"
android:largeScreens="true"
android:xlargeScreens="true"
android:requiresSmallestWidthDp="600" />
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="15" />
Maybe this article can be helpful: http://developer.android.com/guide/practices/screens-distribution.html#FilteringTabletApps

Can a BlackBerry app built for one model be downloaded from AppWorld with another model of BB

I understand that a BlackBerry app has to be built to support the screen resolution and capabilities of a specific model of BB. However, does that mean that owners of other BB models will be unable to download and use that app from AppWorld? Is there any automatic downscaling that occurs similar to what you see with iPhone apps working natively on iPad?
Usual caveat here: I'm new to BB development.
As far as I know (AFAIK) when you publish your app on the AppWorld you can explicitly define device models ans OS versions to be allowed for the app to run on (thus to be downloaded to). Yes, this means that owners of other BB models will be unable to download and use that app from AppWorld. There is no any automatic downscaling unless you do it from your code.

BlackBerry Device for testing

I develop and test applications for BlackBerry 4.5, 4.6, 4.7 and 5.0, but have done testing only with the respective simulators. Now I am about to buy a new BlackBerry device to test my applications better in a real scenario.
Can anyone suggest which device suits my needs?
Hi
I'm not sure about this model but i do know that in other cellphones you need to change the software version every time. Because you mentioned that you want to build apps for different OS versions.
You should try to locate a device that is the easiest one to change OS version and be able to downgrade and upgrade without any errors.
thanks
The current BB devices on the market are generally 5.x and up. You have to define a minimum version you'll support. As long as your app doesn't do too much hackery JDE versions are upwardly compatible.
Simulators generally model real devices well except for the networking. You see some differences especially GSM vs. CDMA devices. Ex. if you ask for the device's phone number (in the NAMP) it may or may not start with a 1.
If you're on a budget or decide to buy multiple devices you might want to try Curve 8520 - it's one of the cheaper new models, comes with BlackBerry OS 4.6 upgradable to 5.0, but still has most of the functionality you might need, except for the GPS.
Additionally it has one of the lower resolutions RIM has to offer (320x240), so if your apps are UI intensive you can see if they work well with entry level models.
Hope it's of any help.

Resources