Simples Assim

How to Add Menu Items in BlackBerry API 3.6+

leave a comment »

package br.eti.fernandoribeiro.sample.ui;

import net.rim.device.api.i18n.ResourceBundle;
import net.rim.device.api.ui.MenuItem;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.container.MainScreen;
import net.rim.device.api.ui.component.Menu;

import br.eti.fernandoribeiro.sample.util.SampleResource;

public final class SampleScreen extends MainScreen { // Or other subclass of Screen
  private static final ResourceBundle BUNDLE = ResourceBundle.getBundle(SampleResource.BUNDLE_ID, SampleResource.BUNDLE_NAME);

  protected void makeMenu(final Menu menu, final int instance) {

    if (Menu.INSTANCE_DEFAULT == instance) { // Or Menu.INSTANCE_CONTEXT or Menu.INSTANCE_CONTEXT_SELECTION
      final MenuItem miItem = new MenuItem(BUNDLE.getString(SampleResource.MENUITEM_TEST), 0, 0) {

        public void run() {
          ...
        }

	  };

      add(miItem);

      add(MenuItem.separator(1));

      final MenuItem miItem2 = new MenuItem(BUNDLE.getString(SampleResource.MENUITEM_TEST), 2, 0) {

        public void run() {
          ...
        }

	  };

      add(miItem2);
	}

  }

}

Written by Fernando Ribeiro

July 18, 2010 at 9:09 pm

Posted in Software

Tagged with

How to Request Application Permissions in BlackBerry API 4.2.1

leave a comment »

package br.eti.fernandoribeiro.sample.ui;

import net.rim.device.api.applicationcontrol.ApplicationPermissions;
import net.rim.device.api.applicationcontrol.ApplicationPermissionsManager;
import net.rim.device.api.ui.UiApplication;

public final class SampleApplication extends UiApplication {

  public static void main(final String[] args) {
    final ApplicationPermissionsManager manager = ApplicationPermissionsManager.getInstance();

    final ApplicationPermissions permissions = manager.getApplicationPermissions();

    boolean ready = ApplicationPermissions.VALUE_ALLOW == permissions.getPermission(ApplicationPermissions.PERMISSION_SERVER_NETWORK); // Or another permission

    if (!ready) {
      permissions.addPermission(ApplicationPermissions.PERMISSION_SERVER_NETWORK);

      ready = manager.invokePermissionsRequest(permissions);
    }

    if (ready) {
      /* Do something that requires the permission */
    } else {
      System.exit(0);
    }

    final UiApplication app = new SampleApplication(); 

    app.enterEventDispatcher();
  }

}

Written by Fernando Ribeiro

July 18, 2010 at 8:56 pm

Posted in Software

Tagged with

How to Add Application Indicators in BlackBerry API 4.6+

leave a comment »

package br.eti.fernandoribeiro.sample.ui;

import net.rim.blackberry.api.messagelist.ApplicationIcon;
import net.rim.blackberry.api.messagelist.ApplicationIndicatorRegistry;
import net.rim.device.api.i18n.ResourceBundle;
import net.rim.device.api.system.EncodedImage;
import net.rim.device.api.ui.UiApplication;

import br.eti.fernandoribeiro.sample.util.Resource;

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) {
    final ApplicationIndicatorRegistry registry = ApplicationIndicatorRegistry.getInstance();

    registry.register(new ApplicationIcon(EncodedImage.getEncodedImageResource(BUNDLE.getString(SampleResource.RESOURCE_INDICADOR))), false, false);

    ...
  }

}

Written by Fernando Ribeiro

July 18, 2010 at 8:48 pm

Posted in Software

Tagged with

How to Add Entries to the Options Screen in BlackBerry API 3.6+

leave a comment »

1) Create an OptionsProvider.

package br.eti.fernandoribeiro.sample.options;

import net.rim.blackberry.api.options.OptionsProvider;
import net.rim.device.api.i18n.ResourceBundle;
import net.rim.device.api.ui.container.MainScreen;

import br.eti.fernandoribeiro.sample.model.Config;
import br.eti.fernandoribeiro.sample.util.SampleResource;

public final class SampleOptionsProvider implements OptionsProvider {
  private static final ResourceBundle BUNDLE = ResourceBundle.getBundle(SampleResource.BUNDLE_ID, SampleResource.BUNDLE_NAME);

  private Config config; // Recommended

  public String getTitle() {
    return BUNDLE.getString(SampleResource.APPLICATION_TITLE); // Recommended
  }

  public void populateMainScreen(final MainScreen mainScreen) {
    ...
  }

  public void save() {
    ...
  }

}

http://c2.com/cgi/wiki?ValueObject

2) Register it with the OptionsManager.

package br.eti.fernandoribeiro.sample.ui;

import net.rim.blackberry.api.options.OptionsManager;
import net.rim.device.api.ui.UiApplication;

import br.eti.fernandoribeiro.sample.options.SampleOptionsProvider;

public final class SampleApplication extends UiApplication {

  public static void main(final String[] args) {
    OptionsManager.registerOptionsProvider(new SampleOptionsProvider());
  }

}

Written by Fernando Ribeiro

July 18, 2010 at 8:38 pm

Posted in Software

Tagged with

More About the iPhone Antenna Issue

leave a comment »

Last Friday, Apple finally held a conference about it.

RIM responded that customers don’t need to use a case for their BlackBerry smartphone to maintain proper connectivity (ouch!), and Nokia responded that we prioritize antenna performance over physical design if they are ever in conflict (ouch! again).

They are going to spend over US$ 200 million dollars in cases.

Again, Hitler reacted promptly.

I agree with Dan Lyons (a.k.a Fake Steve Jobs), who said that by refusing to acknowledge the problem, Jobs just reinforced the image of Apple as a company that is in deep denial and unable to admit a mistake—a company that has for so long been able to bend reality to suit its needs that it now has lost touch with reality itself.

http://www.apple.com/antenna/

http://fernandoribeiro.eti.br/2010/07/03/iphone-4-antenna-issue/

Written by Fernando Ribeiro

July 18, 2010 at 8:02 pm

Posted in Business, Technology

Tagged with

Laser Music Visualization

leave a comment »

Written by Fernando Ribeiro

July 18, 2010 at 5:14 pm

Posted in Technology

Tagged with

MidiJam

leave a comment »

Written by Fernando Ribeiro

July 18, 2010 at 5:09 pm

Posted in Software, Technology

Tagged with

MusicBox

leave a comment »

Written by Fernando Ribeiro

July 18, 2010 at 4:11 pm

Posted in Software, Technology

Tagged with

Geodata for SXSW 2010

leave a comment »

Written by Fernando Ribeiro

July 18, 2010 at 4:03 pm

Posted in Technology

Tagged with

The Copenhagen Wheel

leave a comment »

Written by Fernando Ribeiro

July 18, 2010 at 3:55 pm

Posted in Technology

Tagged with