Tips for wide range devices
The question is: how to write code that will handle different RIM OS, carriers and device models? In code that will depends on available/deprecated API, in workflow about handling carriers features and characteristics of device.
First of all, read How To - Develop applications for different BlackBerry Device Software versions and BlackBerry smartphone models
Wide range RIM OS support
StackOverflow - Which BlackBerry OS version to target for? - to be short, my choice is RIM OS 4.5
Tips for 4.7 - 4.6 - 4.5 - ? support:
- navigation, use accelerometer and touchscreen, but don't forget about trackball and menu
- borders, there are no BorderFactory in 4.5 and earlier
- background, there are no Background in 4.5 and earlier
- transparency, there is no Graphics.setGlobalAlpha(alpha) in 4.5 and earlier
- multimedia, different formats are supported on differen OS and phones
See also
Blackberry - How to add border to BasicEditField?
Setting background and font colors for RichTextField, TextField
Skinning Blackberry Application
What Is - Supported audio formats
Support - Playing audio pauses Media app on BlackBerry CDMA smartphones
How To - Record Audio on a BlackBerry smartphone
Carrier support
I have no statistical information about BlackBerry carriers. But lets see what are those carrier features we can meet:
- if we use carrier network resources, carrier controlls all network configuration. That means on ex. we may have no UDP, max. transfer file size about 3 Mb, and we will have to config APN settings
- also, carrier and device combination defines what GPS type is accessible. And for Verizone, there is a special signing process to access GPS.
See also
What Is - Restricted ports
What Is - Network Diagnostic Tool
How To - Determine when to route data
What Is - Different ways to make an HTTP or socket connection
How To - Specify APN information for a direct TCP connection
What Is - Best practices for designing GPS applications for BlackBerry CDMA smartphones
What Is - The BlackBerry smartphone models and their corresponding GPS capabilities
What Is - Verizon GPSSettings signing requirement
Different devices
Things which may help support set of devices:
- use flexible, elastic UI elements, change size and layout according to screen size
- use several graphic resources sets of different size
- control font type and size
- before use camera, check if it's available
See also
What Is - Compatibility mode on touch screen BlackBerry smartphones
What Is - Image formats used in BlackBerry applications
Building several RIM OS
There are preprocessor directives, but I prefer to use BB Ant tools, copy/delete all platform version diff (code, resources) and target appropriate rapc directory from build task.
See also
How To - Use the preprocessor