The best way to handle GPS is to use the “network” or “passive” provider first, and then fallback on “gps”, and depending on the task, switch between providers. This covers all cases, and provides a lowest common denominator service (in the worst case) and great service (in the best case).
Android applications run in a native Linux process, in the underlying Linux OS. This process houses activities (screens), widgets, and services (non visual long running application parts). When working with Android apps, it is important to remember to keep long running code running in threads that are not tied to the main thread or event dispatch thread, in order to get an “application not responding” error. A common mistake that is made is long running tasks are performed in this EDT/main thread, and this leads to lots of application failures.
I was trying to create dialogs and alert dialogs that look the same on all Android smartphones, after he realized the different types of smart phones do something different with the default themes and make buttons, dialogs, etc. look very different from one phone to the other. Everything looks very different in the simulator than it does on a Droid X or Droid 2 for example. Things look more similar on a Samsung Galaxy S, or HTC Incredible, but even there you can see some differences.
Some Android phone manufacturers replace the default themes, and styles, and drawable assets with what they think looks good and customized. Unfortunately, the side effect of this customization is that what works great in the emulator, and most phones simply does not work these devices. Eg, Motorola Droid 2 and X have a customized theme that uses really dark backgrounds, and red foreground colors. This can wreck many applications that are designed for a light background with dark text color.
This tutorial will show you how to create non-trivial lists using ListField. I will create a sample program that allows you to create, remove, update, delete the contents of a list (that’s backed by a Vector). The list field contains rows of selectable list items. It allows you to display a list of items, and load this list of objects from an array or vector. When using a ListField you have to provide an implementation of the ListFieldCallback interface to perform drawing tasks. This callback constitutes the view and model (using MVC terminology). The controller is the ListField class.
This tutorial will show you the various ways to create an HTTP networking connection from your BlackBerry device to an HTTP server (web service, servlet, etc). The complicated part about doing this on a BlackBerry is deciding which transport you would like to use, and which transport you can use.
This tutorial will show you how to create field (component) backgrounds and borders (decoration). Each field can have a border and a background property. You can use the border to space out fields in your UI, and you can use them to add whitespace. The background allows you to set the background color property of your field and make it fit the look for your app.
This tutorial will show you how to create a very simple custom field (component) using the RIM API. If you're familiar with Swing, then this code will not be a surprise to you. There are some similarities between AWT/Swing and RIM UI API.
This tutorial will show you how the use the gauge field to show progress in your apps. This is useful when your app is performing long running tasks that need to report feedback to the user. The gauge field is a horizontal component that can be used to display status or progress. It displays a percentage from 0 to 100 and you can set a label before it to display any progress/status messages. You can even overlay the label inside of the gauge field, so that it won't be displayed before it, but inside of it (on top of the progress bar that’s drawn).