Archive for the ‘Nokia’ Category:
Kirodict – a Compact, Lightweight JavaME mobile dictionary
Finally after spending a couple months working on this on and off personal project, I decided to release the final version of Kirodict – a lightweight mobile dictionary.
As it name implies, Kirodict was designed to be small in size while maintaining its functionality as a fully fledge dictionary for mobile and embedded device. Kirodict acts as a front-end to an RFC2229 (dict.org) compatible server which it obtain the word definition from.

Its small and compact size as well as its portability makes it an attractive application to be downloaded and installed on your mobile phone. Kirodict requires mobile phones with at least these feature :
- MIDP 2.0 /CLDC 1.0 compatible phones
- 128kB of free storage space
- Phone with network connection (3G, GPRS, Wifi, wimax)
With lower requirements, it can be installed on a lower end phone without much problem. Kirodict does not use additional storage space as it does not cache its results.
Kirodict can be downloaded from Kirodict Google Code project website and it is licensed under the GNU General Public License version 2.0
I bought a new phone – Nokia E71
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.
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.
How to get Nokia Battery Level in JavaME
Nokia Symbian 3rd Edition phone introduces "com.nokia.mid.batterylevel" properties which you can get the current battery charge level by calling System.getProperty("com.nokia.mid.batterylevel") from within your midlet application. Its up to your imagination for you to do the rest.
Sample source code (displaying battery charge level on gauge):
-
/**********
-
/*
-
/* Nokia Battery Level midlet
-
/* Copyright 2008 Mohammad Hafiz bin Ismail (info@mypapit.net)
-
/* http://mobilepit.com
-
/*
-
/* May be use freely
-
**********/
-
import javax.microedition.midlet.*;
-
import javax.microedition.lcdui.*;
-
-
public class NokiaBattery extends MIDlet implements CommandListener {
-
-
int value;
-
Display display;
-
Form form;
-
Gauge gauge;
-
Command cmdExit;
-
-
public NokiaBattery() {
-
display = Display.getDisplay(this);
-
form = new Form("Nokia Battery");
-
cmdExit = new Command("Exit",Command.EXIT,1);
-
form.addCommand(cmdExit);
-
gauge = new Gauge("Level",false,100,value);
-
form.append(gauge);
-
form.append("Value :"+value);
-
-
StringItem item = new StringItem("Network Signal",System.getProperty("com.nokia.mid.networksignal"));
-
form.append(item);
-
form.setCommandListener(this);
-
}
-
-
public void startApp(){
-
display.setCurrent(form);
-
}
-
-
public void pauseApp() {}
-
-
public void destroyApp(boolean flags) {
-
-
notifyDestroyed();
-
}
-
-
-
public void commandAction (Command cmd, Displayable disp)
-
{
-
if (cmd == cmdExit) {
-
destroyApp(false);
-
}
-
}
-
-
}
Download source code and sample midlet : NokiaBattery_midlet.zip
How to get Phone IMEI number with J2ME / JavaME
International Mobile Equipment Identity (IMEI) is used to identify valid devices connected to GSM and UMTS network. This number can be accessed from a mobile phone by dialing *#06# on the keypad. IMEI is commonly use by software developers as part of software protection scheme to prevent it from being pirated.
JavaME developers however suffers from a drawback because MIDP/CLDC specification does not include an API to obtain IMEI from mobile devices. However there are few phone manufacturers included this functionality through System.getPropery() calls.
Here's how to get IMEI number from mobile devices of different manufacturers
Nokia
Note ; Requires signed midlet. S60 3rd edition device does not requires signing for this to work.
Sony-Ericsson
Note ; might not work on all model, YMMV
Motorola
Samsung
Hopefully this information can aid you in your J2ME programming projects.
Quick Tip :
It's quite hard to determine the phone model/manufacturer well ahead beforehand. For a more robust solution, I suggest that you combine the above call with System.getProperty("microedition.platform").
[tags]j2me,javame,mobile,opensource,imei,nokia,sony ericsson,samsung,motorola[/tags]
SymbianTutorial.org – Symbian application development basic
SymbianTutorial.org is a good website to learn about fundamental application development in Symbian (especially series60).
Though some information about the IDE is slightly outdated (as stated on the website), the tutorial website covers basic Symbian data type, class naming convention, exception handling, input/output, gui handling basics and how to create resource file for Symbian development platform.
The website itself is structred in a way to introduce reader to Symbian application development environment, which is the main platform used in Nokia and Sony-Ericsson smartphones.
Share files between mobile phone and Windows Workgroup with SymSMB 2.0
SymSMB is a cool Symbian S60 3rd edition application that allows you to access Microsoft Windows file-sharing network without any additional software or hardware on the computer. After installation, your phone will be able to communicate with Microsoft Windows computer that enables file-sharing and you can begin to exchange files almost immediately.
Advantages of SymSMB
Unlike Bluetooth, SymSMB allows you to transfer files to/from computer without additional software/hardware. All you need is a WiFi connection and you are able to connect to *ALL* computer that enables Windows file sharing.
Another advantage is, SymSMB is significantly faster than Bluetooth connection which often relies on bluetooth receiver/dongle and additional software on the host computer.
Supported by all Symbian S60 3rd edition phone, SymSMB is indeed a must have application for your mobile phone, best of all it is FREE.
Simplify your file sharing experience, download SymSMB 2.0 now.
[tags]symbian,nokia,windows,vista,winxp,mobile,phone,s60,series60,,samsung,gadgets[/tags]
What’s new in JavaME MIDP 2.1 – Nokia S40 5th Edition
The latest Sun Wireless Toolkit 2.5.1 supports MIDP 2.1/CLDC 1.1 for developing mobile device application.
The latest MIDP 2.1 specification does not bring new features and UI but instead it focuses to reduce device fragmentation by specifying a consistent set of Java technologies that must present in MIDP 2.1 capable phone. MIDP 2.1 also reinforced MIDP 2.0 specification by making LCDUI layout directive mandatory, javax.microedition.io.SocketConnection and javax.microedition.io.HTTPConnection is no longer optional and other requirements.

Best of all, MIDP 2.1 specs explicitly states the underlying VM for its implementation must comply with CLDC 1.1 or optionally with CDC. This means you can create MIDP 2.1 mobile application without thinking twice about application portability with CLDC 1.0/CLDC 1.1.
What's the big deal with CLDC 1.0 and CLDC 1.1
Although it seems almost identical on the surface, CLDC 1.0 has a major drawbacks in which it does not support floating point numbers, operation and datatype/class. All floating point operation are done through 3rd party class implementation, which cant be accurate for large numbers
CLDC 1.1 on the other hand supports floating point data type out from the box, making floating point operation much more faster and more accurate than using 3rd party floating point number class implementation.
Where can I find MIDP 2.1 phones to play with?
The latest Nokia S40 5th edition phone models is the first in-line to feature MIDP 2.1 which you can browse through Forum Nokia page.
Hopefully the introduction of MIDP 2.1 will pave the way for JavaME device 'standardization' across phone vendors that will increase application portability across mobile devices :)
[tags]j2me,javame,nokia,s40,mobile,midp[/tags]