New features for Java developers

Java Development

I am pleased to announce the latest release of the BlackBerry® Java® Plug-in for Eclipse™, version 1.3. This release contains many enhancements and new features focused on making Java development more productive on the BlackBerry® platform.

Some of the details in particular:

  1. Eclipse 3.6 (Helios) support with a new BlackBerry Java Development Eclipse Perspective
  2. New Application Wizards to get new BlackBerry smartphone applications up and running quicker
  3. A dynamic Getting Started Welcome Page to provide relevant and updated information of key development resources
  4. Update Notification to let you know when new versions are available for download
  5. Improved debugger performance for faster breakpoints and evaluation
  6. MacOS® X Java Plug-in for Eclipse feature parity

This release unifies the feature set between the Mac OS X and Windows® versions of the plug-in, with one exception – the Mac OS X does not include a simulator yet. In the meantime, to allow device debugging for a wider range of devices, we are also releasing debug files for in-market 6.0 devices. Additionally, we are delivering instructions on how you can find debug files for pre 6.0 devices for your debugging needs.

Check out this link on our Developer Zone for more information on using and creating debug files!

About John T.

John “JT” Thomas is passionate about developer tools. Really! The best part about his job is seeing the cool things developers are doing with the tools. Help him make you more productive on the BlackBerry® smartphone platform through this blog and in return JT will fill you in on what Research In Motion® (RIM) is doing to make your development experience with BlackBerry better.

Join the conversation

Show comments Hide comments
+ -
  • dkonigs

    Now you just have a couple issues that need fixing, as some of us are starting to discuss in the developer forums. The major one involves linking between library projects that target different BB JDK versions. The minor (and annoying one that did not exist in v1.1) is the need to manually run FledgeHook.

    • JT @ RIM

      Regarding FledgeHook are you using Win7 x64 by chance?

      • Derek Konigsberg

        Yes, I am using Win7 x64. FledgeHook used to work automatically in the v1.1 plugin, but not anymore in the v1.3 plugin.

      • Tugando

        I am having the same problem with FledgeHook.exe, on Win7 x64.

      • JT @ RIM

        Thanks for the report. We have confirmed the issue and are working on a fix.

  • BlackBerry Java Plug-in for Eclipse updated to v1.3 – New App Wizards, Improved Debugger, & More | PocketBerry

    […] night, the BlackBerry Developer’s Blog reported that the Java Plug-in for Eclipse v1.3 has launched.  Included in this version […]

  • ekke

    thanks for Eclipse 3.6 support and OSX – but there are some problems:
    – if I follow the link above to get more infos on using and creating debug files, then
    — the next link to view detailed instructions ( doesn’t work – I’m getting 404 or too-many-redirects. tried Safari, Firefox, Chrome on OSX and IE on W7.

    for me its important to support 5.0 Devices – so if I’m not able to run and debug using 5.0 on OSX its worthless.

    there’s another problem on OSX: after successfully installing and running sample on connected Torch I added SDK as new software. installed well. is available from “about eclipse-installed plugins”.
    but not auto-detected as BB SDK, not found by Search from “preferences-JRE” and manually adding the .ee file I’m getting an error
    (see also forum:

    hope I’ll get some answers and hints soon – then I’ll blog about developing BB on OSX using 1.3.1


    • JT @ RIM

      I see that Ken has addressed your questions on the forum. Thanks for the feedback.

  • Thomas Einwaller

    I am waiting for the simulator on Mac OS X so badly! Can’t wait to ditch my virtual machine

  • Avijit Bajpai

    This is really encouraging and perhaps the much-needed move from RIM….This would boost developers’ confidence for the recently unveiled PlayBook…thumbs up to this

  • BlackBerry Plugin for Eclipse 3.6 Released | Gani Blog

    […] Here’s the announcement: […]

  • Amit Kumar

    Is there any Tool so that we can use as drag and drop like netbeans and like visual studio.Please suggest me the necessary steps.

  • JT @ RIM

    You might have heard that we had such a tool in development last year but for various reasons we have suspended that work as we discussed at DevCon this year. At this point in time, there is no drag and drop tool for Java development on the BlackBerry delivered by RIM. We will continue to evaluate the market need for such a feature so thank you for your inquiry.

  • John

    Is there any support for JNI to use an existing C/C++ DLL?


    thank you in ADVANCE.
    i got the following code for XML-RPC in JRE5 successfully . But When i tried it to JRE6 it hanged , sometimes run.
    i m stuck with this problem for a long time .
    can anybody send the solution i m helpless now .
    plz check out the code once as Below .

    package mypackage;

    import java.util.Vector;

    import net.rim.device.api.ui.UiApplication;
    import net.rim.device.api.ui.component.LabelField;
    import net.rim.device.api.ui.container.MainScreen;
    import net.rim.device.api.xml.parsers.DocumentBuilder;
    import net.rim.device.api.xml.parsers.DocumentBuilderFactory;
    import net.rim.device.api.xml.parsers.ParserConfigurationException;

    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import org.xml.sax.SAXException;

    public class connect extends MainScreen
    String[] nameEl;
    String[] nameE2;
    int index;
    String[] n1;
    String[] n2;
    int numberCount=0;
    String[] newString=null;
    OutputStream os = null;
    LabelField label=new LabelField();
    StringBuffer sb = new StringBuffer();
    Vector name = new Vector();
    Vector value = new Vector();
    List list=new List();

    public connect()
    try {

    } catch (IOException e) {
    // TODO Auto-generated catch block
    LabelField label=new LabelField(“List”);
    System.out.println(“value of count before calling list=”+numberCount);


    InputStream is;

    public String HttpUsingPost() throws IOException

    HttpConnection httpConn = null;
    String url = “”;

    try {
    // Open an HTTP Connection object
    httpConn = (HttpConnection);
    // Setup HTTP Request to POST

    // httpConn.setRequestProperty(“User-Agent”,
    // “Profile/MIDP-1.0 Confirguration/CLDC-1.0”);
    //Content-Type is must to pass parameters in POST Request
    httpConn.setRequestProperty(“Content-Type”, “text/xml”);

    // This function retrieves the information of this connection

    os = httpConn.openOutputStream();

    String params;
    // params = “name=” + name;
    System.out.println(“Posting key value is “+params);


    /**Caution: os.flush() is controversial. It may create unexpected behavior
    on certain mobile devices. Try it out for your mobile device **/


    // Read Response from the Server

    is = httpConn.openDataInputStream();
    int chr;
    while ((chr = != -1)
    sb.append((char) chr);

    System.out.println(“Response of server is ” + sb.toString());

    } finally {
    if(is!= null)
    if(os != null)
    if(httpConn != null)

    return sb.toString();

    void xmlParsingMethod(String str1)

    Document doc=null;

    try {
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    System.out.println(“File created Succesfully”);
    InputStream isr = null;
    try {
    isr = new ByteArrayInputStream(str1.getBytes(“UTF-8”));
    } catch (Exception e) {
    // TODO Auto-generated catch block
    doc = db.parse(isr);
    System.out.println(“Parsing done succesfully”);

    } catch (IOException ioe) {
    } catch (ParserConfigurationException pce) {
    } catch (SAXException se) {

    NodeList nodeList = (NodeList) doc.getElementsByTagName(“member”);

    nameEl=new String[nodeList.getLength()];
    nameE2=new String[nodeList.getLength()];

    for( index=0; index<nodeList.getLength();index++)
    Node node = nodeList.item(index);
    Element element = (Element)node;
    NodeList nameNode = element.getElementsByTagName("name");
    NodeList valueNode = element.getElementsByTagName("string");

    for(int iIndex=0;iIndex<nameNode.getLength();iIndex++)
    Element nameElement = (Element)nameNode.item(iIndex);
    nameEl[iIndex] = nameElement.getFirstChild().getNodeValue().trim();

    System.out.println("name is ="+nameEl[iIndex]);

    Element valueElement = (Element)valueNode.item(iIndex);
    nameE2[iIndex] = valueElement.getFirstChild().getNodeValue().trim();
    System.out.println("value= "+nameE2[iIndex].substring(0,15));

    System.out.println("last string in listCreate()==="+nameE2[iIndex].substring(nameE2[iIndex].indexOf("—"),nameE2[iIndex].length()-1));




    System.out.println("number of count inside method="+numberCount);


blog comments powered by Disqus