Posts mit dem Label blackberry werden angezeigt. Alle Posts anzeigen
Posts mit dem Label blackberry werden angezeigt. Alle Posts anzeigen

Mittwoch, 3. November 2010

RIM now part of Java Executive Committee for Java ME

RIM and Samsung are now having a seat for Java ME in Executive Committees (EC) of Java Community Process (JCP).

As both are having better platforms (RIM has a lot of extensions to ME and Android for Samsung).
That's a hopefully a good sign in renewing Java ME.


Source: heise.de

Freitag, 8. Oktober 2010

setBackground does nothing?

Every time I am using to beautify my BlackBerry screens with a background I trap into the same pitfall. Over and over again.

Her it is:

Simply trying to set the background colorr for a Screen instance:

myScreen = new MainScreen();
myScreen.setBackground(BackgroundFactory.createLinearGradientBackground(Color.BLACK, Color.BLACK, Color.ORANGE, Color.ORANGE));

But when you push this screen to the display stack there will be nothing but a white screen.

Remember to do this like this:

myScreen = new MainScreen();
myScreen.getMainManager().setBackground(BackgroundFactory.createLinearGradientBackground(Color.BLACK, Color.BLACK, Color.ORANGE, Color.ORANGE));

Freitag, 3. September 2010

Import your BlackBerry Contacts on Android

I did it! I moved to Android!
I am owning a Google Nexus One now!

But I wanted to have all my contacts on my new phone as well.
Therefore I wrote a small little app that exports all contacts to SDCard, because Android can search your SDCard for contact files (VCards: *.VCF)

I published the app for free: http://www.jodamob.de/vcardexport.html

Dienstag, 3. August 2010

Missing AppWorld icon?

I just lost my AppWorld app on my Storm 9550. No icon anymore.

I tried to reinstall it but it showed I have the newest version installed:



So I tried to write an app that finds and starts:

The code module name is "net_rim_bb_appworld". Then you can get the descriptor
CodeModuleManager.getApplicationDescriptors(...)
which you can use to run AppWorld:
ApplicationManager.getApplicationManager().runApplication(...)

But there is something really wrong. AppWorld is running but does not do anything. When attaching it shows:

[AppWorld - Debug(INFO) ] - Version mismatch ( old: 1.1.0.33 new: 1.1.0.35) Clearing Caches!
[AppWorld - Debug(INFO) ] - -=-=-=-=-=-=-=-=-=-=-=-=-=READING DB-=-=-==--=-=-=-=--=-=

and then for decaded continues "READING DB".

So it seems AppWorld has a really bad update problem. But what gives me a really bad feeling is that RIM know about this and the only chance is "backup and wipe".
http://www.blackberry.com/btsc/search.do?cmd=displayKC&docType=kc&externalId=KB22944
Sorry RIM this is not an option for your users!

It shows again that RIM does not care much about apps and app stores. AppWprld 1.1.035 is still the latest version, there is no hotfix which I would expect on such a big issue.
Just another nail to their casket?

Montag, 5. Juli 2010

Nokia starts fighting back. Where is RIM?

The new Nokia boss for mobile solutions want's to "fightback" to get Nokia back to the top.
It seems they have realized their position their loosing ground, which was lately very well described by the guys from symbian-guru.

When I read those last words from symbian guru I had to think about BlackBerry. A lot of it reminded me about RIM:
  • software that had a higher quality in the past;
  • their inability to build a good app store;
  • the ignorance about their own position.
    This was perfectly documented with this year's poor WES statements (a Bold in white color, a emberrassing study about BlackBerry users beeing happier then iPhone users and a tiny UI polish called OS 6 which they called "the biggest step they ever took" and everyone's afraid that RIM really believe's that)

I really like my BlackBerry but as the Symbian gurus my next phone will be an Android.
I really like developing for BlackBerry and I hope at some point RIM will start their own "fightback".

Mittwoch, 23. Juni 2010

Multiclipboard for BlackBerry

Just uploaded a private app development:

Multiclipboad: the idea:
Use your standard copy menu but paste via the new paste (multiple) menu. Choose from every part of text you copieed lately and have a easy manageable history of your clipboard items. No more application switching when copying multiple entries. View the content of your clipboard and keep your important text snippets always at hand. And the best: the list persists reboot :)




http://www.handango.com/catalog/ProductDetails.jsp?storeId=2218&deviceId=2432&platformId=40&productId=270573§ionId=0

Freitag, 18. Juni 2010

AppWorld near to Robbery?

I just wanted to create an AppWorld vendor account for distribution of a private app I developed. But I just realized the pricing is awful: 200$ for 10 submissions including refuced apps, that's even worse then the announcements for Windows Phone apps.

I always wondered why there are so few apps in the store compared to Android Marketplace for example. I always thought that's because of many providers do not distribute AppWorld but know I think RIM does not get the small developers because of their pricing policy.

I myself will go to other stores now with my app.

Donnerstag, 10. Juni 2010

1st Meeting of BlackBerry Developer Group Berlin

Come and talk to us:
nerdy blackberry talk with beer or lemonade at tuesday 29 this month:
http://www.facebook.com/event.php?eid=123601887675677&ref=mf

Freitag, 4. Juni 2010

Uncaught Exceptions and the BlackBerry Whitescreen

Most BlackBerry developer experiences an uncaught excecption at some point.
Very oftens it's a RuntimeException the developer did not expect.


What's the best way to find it?

The default behaviour is to choose "continue" and search for the problem in the code.
This could be done by looking into the EventLog where uncaught exception will be logged with full stack trace (see also

But did you ever scroll through all the options?
There is "attach debugger" which is the easiest way to find the problem when this happens in the simulator.


Simply connect your Eclipse via "Debug As" -> "Remote Java application" to default port 8000. Afterwards(!) click "attach debugger" on the simulator.


Voilà! :)

You will be directly sent to the codeline where the exception occurs with full stack trace available, you can check all the variables. Finding an exception was never easier

Montag, 17. Mai 2010

BlackBerry Developer Group Berlin founded

We just launched to offical BlackBerry Developer Group for the region of Berlin.

We start with a facebook group but we will expand it:
http://www.facebook.com/pages/Berlin-BlackBerry-Developers/
We are planning regular meetings to talk about BlackBerry development.
Join us now! :)

Mittwoch, 5. Mai 2010

WES is over. What's left?

No big news.
Some ui polish called 6.0
Some device polish (they made a big deal out of a white Bold).

BESExpress and the mobile voice system where the biggest topics.

From a developer perspective they announced some APIs, no big deals either. The most interesting payment API is still far away.

SuperApp was the big program they try to force developers into. My understanding of the idea is: show us apps that won't be possible with iPhone (always one, deeply integrated with native apps...).

For their development tools they still don't have Windows7 support but keep talking about MacOS. They seem so busy with themselves there seems to be no big plans for real platform changes: hot topics from devcon like shared libraries, unit testing or even language changes aren't there anymore or just too far away to even talk about it.
In addition: With HP announcing the aquisition of Palm just one day after having a keynote presentation with RIM must have been quite embarissing for BlackBerry.

My 5th WES was the most disappointing one. It's kinda scary: I'm flighing home and they did not convince me that Blackberry is the coolest, best device on earth.

Mittwoch, 28. April 2010

Any WES news? none

Yesterday at teir annual WES conference RIM announced their new Operating System 6.0 which will be soon available (next quarter). For me it looks disappointing. On most screens it was actually hard to tell what was new in there. It's a little nicer but I can't see any major chances by know.



They announced some new devices but also it's nothing new: a Bold and a new Pearl.
RIM is still number one but with so little effort it's hard to tell how long they will stay on top....

Freitag, 19. Februar 2010

Print stracktrace to BlackBerry eventlog

The BlackBerry Eventlog (accessable via ALT-LGLG on most devices) is great.
An application can log everything it wants starting from errors up to debug information. And: for uncaught exceptions a full stacktrace is written! Every wanted to use this in your app as well?

It isn't possible to access the stacktrace of an exception. ME does not know "getStackTrace()" there is only "printStackTrace()" which write to console only available for the exception classes. Also ME does not allow to redirect System.err or System.out to get to this information.
The only chance to see the stacktrace of a caught exception is to use printStackTrace() while in attached debugging mode.

But there is a nice trick to print the stacktrace directly to the eventlog: catch Throwable:

try
{
return instance.doAction();
}
catch(Throwable exc)
{
return false;
}

If an exceptions in doAction() occurs (as our best friend NullPointerException) it will be written by the system directly to eventlog. This won't happen if you catch Exception or RuntimeExcepion or more specific one.

Donnerstag, 4. Februar 2010

BlackBerry JVM errors

More as a reminder for myself than a normal blog:

http://www.blackberry.com/developers/javaknowledge/general/kpa0307163334.shtml

good to know:
When you have one of those JVM whitescreen you can still use javaloader.
I could capture a screenshot and grab the eventlog.

Dienstag, 19. Januar 2010

Getting redirected

I just ran into a problem with HTTP redirects.

As a BlackBerry developer I don't have to deal with those 30X responses as long as the BIS or BES is doing the HttpConnection. Those services follow every redirect automatically and the clientside call to HttpConnection.getResponseCode() will get only return the final result. The application will not know, that it was redirected at all.
Actually I saw a lot of implementations (example Symbian) where this is simple handled by HTTP API itself. On ME devices some implementations also do this.

But when you start with SSL Connections (https) this will fall back on you. Same for APN based connections where no proxy is inbetween.

But my code was prepared and checked for:
HttpConnection.HTTP_MOVED_PERM
and
HttpConnection.HTTP_MOVED_TEMP
which I knew for a long time where the redirect values (as integers these are 301 and 302).

But yesterday this code broke! Why? Because I got a different result: 307!
After some google I found out that the specification of HTTP 1.1 changed the default value for moved temporarily. They now called it "redirect temporarily" with the new value 307. The old moved 302 is not simply called "found".

But as always I just should have looked into the JavaDoc more closely, its already there:
HttpConnection.HTTP_TEMP_REDIRECT

So alway check for both: HTTP_MOVED_TEMP and HTTP_TEMP_REDIRECT!

see also http://developers.sun.com/mobility/reference/techart/design_guidelines/http_redirection.html