ads

Google Android Phone Kogan Agora delayed?

February 1st, 2009 No Comments   Posted in Android, Open Source

Probably a stale news for most of you, the touted second Google Android Phone on the market, Kogan Agora product has been canceled despite having received huge pre-orders. The official statement from Kogan Technologies website states that the Kogan Agora release is delayed indefinitely citing technical issues regarding is screen size and resolution.

Kogan Agora, estimated to be available by Christmas 2008, might not even be ready by this year (2009). Customer who pre-ordered Kogan is being refunded as this article were written.

Kogan Agora fakaped

Its a pity to see such affordable Google Android phone to be delayed indefinitely, while there are a lot of phone manufacturers behind Open Handset Alliance (OHA, the organization that backed Android), we have yet to see other Google Android phone surfaces besides HTC manufactured T-Mobile G1.

As for my personal opinion, I don’t think Android platform is worth investing in right now since the only supported Android phone in the market is the SIM-locked T-Mobile, and although there has been news that Motorola, Huawei and Sony Ericsson are preparing to release Android phone, I don’t think I will give in much hope for Android until I’ve seen on the shelf of my local mobile phone store (SIM-unlocked, just like normal phones that is)

Primosync: Synchronize Google Calendar with Mobile Phone

Primosync Google Calendar

This week, I’ve tried Primosync, a JavaME application which allows you to synchronize your Calendar, Events and activities with Google Calendar.

Primosync is compatible with mobile phone which supports JavaME JSR-75 PIM API, a feature that becoming common in latest modern phones.

Advantages of syncing phone calendar with Google Calendar :

  • You will be able to access your event, activities and reminders anywhere with internet connection
  • Your events and reminder will be more portable across various phone models as you can sync it with Google Calendar to update your Calendar
  • Easier to keep track of your reminder and events
  • As a backup measure in case if your mobile phone is stolen or lost

You can download it from Primosync Google Code project website (yes it is open source!) or from Primosync.mobi download site (mobile phone friendly). Available in 3 versions (Blackberry, JavaME Signed, JavaME Unsigned), for some reasons, I was unable to install the Signed version of Primosync in my E71. So I figure the Unsigned version might work in more phones.

So lets start syncing!

I bought a new phone – Nokia E71

December 26th, 2008 4 Comments   Posted in J2ME / JavaME, Java, Nokia, Smartphone, Symbian

I know I’ve been slacking lately on my post.. but hey, I got myself a new phone – The Nokia E71!

Phones model and features are getting diverse now and I’ve noticed that its getting harder and harder to choose a phone that really suits my needs. For example, one feature found on Phone A isnt necessarily can be found on Phone B.

So it took me a while to replace my good old 6630 that has been stolen few months before. But hey, I’m back on my feet now.

Nokia E71 papit

Among the key feature that attract me to buy this phone are :

  • Location API support (JSR-179) with built in GPS receiver
  • QWERTY keyboard
  • Ease of handling, my hands a bit slippy on its sister’s phone E66
  • Battery last longer
  • Hot swappable micro-sd card
  • More than adequate internal memory
  • \

  • Supports WiFi

The only drawback that I could think of this phone is its camera that is not as good as the N95,N96 series phone. But I can still live with that since I rarely use the camera anyway.

Other additional feature
The phone comes with Advance Call Manager and Multi Scanner free of charge, making it easier to filter out unwanted call and to manage phone blacklist.

Multi Scanner allows you to take a photo of name card and automatically store important information (Name, Phone Number, Address, Company’s Name, Fax Number) right into the phone.

I hope I can be more productive at updating this blog and producing new mobile applications with this phone.

Cool J2ME Game Demo – Opposite Lock

Here’s a video clip from the Grand Prize winner of Java Mobile Application Video Contest organized by Sun.

The demo feature a Mobile Java (j2me) car racing game called Opposite Lock. Enjoy the video.

[coolplayer width="425" height="360" autoplay="0" loop="0" charset="utf-8" download="1" mediatype=""]
J2ME Opposite Lock Game
[/coolplayer]

You can download and buy Opposite Lock from clickgamer.com

Download J2ME WheelItem CustomItem

October 6th, 2007 1 Comment   Posted in J2ME / JavaME

This is an example of J2ME / JavaME CustomItem called WheelItem. It does nothing beside showing a spinning wheel on the phone screen. WheelItem is a perfect candidate to be displayed on a wait form screen replacing Gauge class while your application is performing lengthy operating.

WheelItem Screenshot

JAVA:
  1. import javax.microedition.midlet.*;
  2. import javax.microedition.lcdui.*;
  3. import java.util.*;
  4.  
  5. public class WheelItem extends CustomItem
  6. {
  7.   private int mCount,mMaximum;
  8.   private int mInterval;
  9.   private int mWidth,mHeight,mX,mY,mRadius;
  10.   private String mMessage;
  11.    
  12. public WheelItem(String title)
  13. {
  14.     super(title);
  15.     mCount=0;
  16.     mMaximum = 36;
  17.     mInterval = 100;
  18.  
  19.     TimerTask task = new TimerTask() {
  20.         public void run() {
  21.             mCount = (mCount+1) % mMaximum;
  22.             repaint();
  23.         }
  24.     };
  25.     Timer timer = new Timer();
  26.     timer.schedule(task,0,mInterval);
  27. }
  28.     public void setString(String string)
  29.     {
  30.         mMessage = string;
  31.         repaint();
  32.     }
  33.    
  34.     public void paint(Graphics g, int iWidth, int iHeight) {
  35.         mWidth = iWidth;
  36.         mHeight = iHeight;
  37.         int halfWidth = mWidth/2;
  38.         int halfHeight = mHeight/2;
  39.  
  40.         mRadius = Math.min(halfWidth,halfHeight);
  41.         mX = halfWidth - mRadius/2;
  42.         mY = halfHeight - mRadius/2;
  43.  
  44.         int theta = -(mCount*360/mMaximum);
  45.  
  46.         g.setColor(255,255,255);
  47.         g.fillRect(0,0,mWidth,mHeight);
  48.         g.setColor(0,0,0);
  49.         g.drawArc(mX,mY,mRadius,mRadius,0,360);
  50.         g.fillArc(mX,mY,mRadius,mRadius,theta+90,90);
  51.         g.fillArc(mX,mY,mRadius,mRadius,theta+270,90);
  52.        
  53.         if (mMessage !=null)
  54.         {
  55.             g.drawString(mMessage,mWidth/2,mHeight,Graphics.BOTTOM | Graphics.HCENTER);
  56.         }
  57.     }
  58.   public int getMinContentWidth() { return 80; }
  59.   public int getMinContentHeight() { return 80; }
  60.   public int getPrefContentWidth(int width) {return getMinContentWidth();}
  61.   public int getPrefContentHeight(int height) {return getMinContentHeight();}
  62. }

Download example application with WheelItem source : WaitFormDemo.zip

Ported (rather poorly) from Wheel canvas written by Jonathan Knudsen from his article - Networking, User Experiences and Threads.

Any suggestions or improvements are welcomed!

iPhoneCanvas – Fancy List component class for J2ME

October 1st, 2007 No Comments   Posted in J2ME / JavaME, Open Source

I found a really nice but simple to use fancy list chooser class that emulates an iPhone display. The class requires MIDP 2.0 supported phones and can replace the default and boring List chooser class into a stunning, smooth scrolling graphical menu (includes reflections) for your users to see

Here's example screenshot of iPhoneCanvas demo in action :

These menu icons are generated from flat and boring thumbnails like these :

Download
iPhoneCanvas is licensed under the GNU General Public License and can be downloaded from listchooser Google Code project page

Demo
The iPhoneCanvas demo featured in above screenshot can be downloaded here - fancylist.jar, fancylist.zip (demo source code)

Please submit bug reports or suggestions at Google Code listchooser page

How to generate Random Numbers in J2ME application

September 28th, 2007 5 Comments   Posted in J2ME / JavaME, Java, Tips, Tricks, Guide, newbie

One of the popular question asked in this blog is ways to generate random numbers in J2ME application.

As most people probably realized, the JavaME CLDC does not include the Math.Random class to generate random numbers. However one can generate a series of random numbers in JavaME/J2ME application by using the included java.util.Random class.

Here's a sample usage

JAVA:
  1. import java.util.Random;
  2. ...
  3.     Random generator = new Random();
  4.     generator.setSeed(System.currentTimeMillis());
  5.     float f = generator.nextFloat();
  6.    
  7.     System.out.println(""+(f*100.0f)%100);
  8. ...

The sample code above will produce a random floating-point number between 0..100 (exclusive)

Here's the source code for the full Random Number Demo application : RandomDemo.java,