Posts Tagged ‘BlackBerry’
What Is – Supported versions of BlackBerry Device Software for the BlackBerry App World storefront
How to Validate Fields in BlackBerry API 4.2.0+
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.FieldChangeListener;
import net.rim.device.api.ui.component.BasicEditField;
import net.rim.device.api.ui.component.ButtonField;
import net.rim.device.api.ui.component.Dialog;
import net.rim.device.api.ui.container.FullScreen;
public final class SampleScreen extends FullScreen {
private Field button;
private Field text;
public SampleScreen(final long style) {
text = new BasicEditField() {
public boolean isDataValid() {
return getTextLength() > 0; // Can't be empty
}
};
button = new ButtonField("Validate");
button.setChangeListener(new FieldChangeListener() {
public void fieldChanged(final Field field, final int context) {
if (text.isDataValid()) {
...
} else {
Dialog.alert("This field is required!");
}
}
});
}
}
http://www.blackberry.com/developers/docs/4.6.0api/net/rim/device/api/ui/Field.html#isDataValid()
How to Round Numbers in BlackBerry API 4.6.0+
Use MathUtilities.round, there isn’t Math.round in Java ME.
BlackBerry UI Field Reference
Creating Custom Field Managers in BlackBerry
Split-Pipe Connections in BlackBerry
Improvement to BlackBerry API 5.0.0
Improvement to BlackBerry API 5.0.0
Localizing BlackBerry Applications
How to Trigger Notifications in BlackBerry API 3.6+
Application
package br.eti.fernandoribeiro.sample.ui;
import net.rim.device.api.i18n.ResourceBundle;
import net.rim.device.api.notification.NotificationsConstants;
import net.rim.device.api.notification.NotificationsManager;
import net.rim.device.api.ui.UiApplication;
import br.eti.fernandoribeiro.sample.notifications.SampleConsequence;
import br.eti.fernandoribeiro.sample.util.Constants;
import br.eti.fernandoribeiro.sample.util.SampleResource;
public final class SampleApplication extends UiApplication {
private static final ResourceBundle BUNDLE = ResourceBundle.getBundle(SampleResource.BUNDLE_ID, SampleResource.BUNDLE_NAME);
public static void main(final String[] args) {
NotificationsManager.registerSource(Constants.SOURCE_SAMPLE, BUNDLE.getString(SampleResource.APPLICATION_TITLE), NotificationsConstants.DEFAULT_LEVEL);
NotificationsManager.registerConsequence(Constants.CONSEQUENCE_SAMPLE, new SampleConsequence());
...
NotificationsManager.triggerImmediateEvent(Constants.SOURCE_SAMPLE, Constants.EVENT_SAMPLE, null, null); // May be anywhere in the app
...
}
...
}
Consequence
package br.eti.fernandoribeiro.notifications;
import net.rim.device.api.notification.Consequence;
import net.rim.device.api.synchronization.SyncConverter;
import net.rim.device.api.synchronization.SyncObject;
import net.rim.device.api.system.LED;
import net.rim.device.api.util.DataBuffer;
import br.eti.fernandoribeiro.util.Constants;
public final class SampleConsequence implements Consequence, SyncConverter {
public SyncObject convert(final DataBuffer arg0, final int arg1, final int arg2) {
return null;
}
public boolean convert(final SyncObject arg0, final DataBuffer arg1, final int arg2) {
return false;
}
public Object newConfiguration(final long consequenceID, final long sourceID, final byte profileIndex, final int level, final Object context) {
return new Object(); // Can't be null
}
public void startNotification(final long consequenceID, final long sourceID, final long eventID, final Object configuration, final Object context) {
if ((Constants.CONSEQUENCE_SAMPLE == consequenceID) && (Constants.SOURCE_SAMPLE == sourceID) && (Constants.EVENT_SAMPLE == eventID))
LED.setState(LED.STATE_BLINKING);
}
public void stopNotification(final long consequenceID, final long sourceID, final long eventID, final Object configuration, final Object context) {
if ((Constants.CONSEQUENCE_SAMPLE == consequenceID) && (Constants.SOURCE_SAMPLE == sourceID) && (Constants.EVENT_SAMPLE == eventID))
LED.setState(LED.STATE_OFF);
}
}
Constants (Recommended)
package br.eti.fernandoribeiro.sample.util;
public interface Constants {
long CONSEQUENCE_SAMPLE = 0xcdb9b62f62f4dccdL; // Global
long EVENT_SAMPLE = 0x35b82a6314580fffL; // Global
long SOURCE_SAMPLE = 0L; // Application-specific
}
http://c2.com/ppr/wiki/JavaIdioms/InterfacesForDefiningConstants.html

