Nokia Overview: Difference between revisions

From University of Washington - Ubicomp Research Page
Jump to navigationJump to search
m (Nokia Overview moved to Nokia)
m (Nokia moved to Nokia Overview)
(No difference)

Revision as of 22:19, 20 April 2007

Overview

Most of this information applies to Nokia S60 v3 phones. Most of the phones we have are either the N80 (slider phone with two cameras) or the E70 (flip keyboard phone).

If you are doing any development, the two popular languages are Java (J2ME/JavaME) or C++ (Symbian C++). Java is much easier than C++, but Java has limited functionality (no background processes, cannot access hardware components of phone, etc). Python is also available and it's probably the best of both worlds, but no one in the department uses it. Needless to say, you should explore (read: ask someone who knows) the constraints of the language before you pick it.

Finally, phones are finicky. The version numbers listed are shown for a reason -- they are known to work. Often upgrading to a new version will break some functionality. It is also a good idea to keep installers as once new versions come out, the old one that worked will be removed from the manufacturer's site.

Python

Python on Symbian gives you access to hardware while still offering relatively easy development.

Java (NetBeans)

NetBeans is generally easier than Eclipse, but Eclipse is Nokia's "standard tool". Install the following tools (in order).


If you haven't used NetBeans or done J2ME, try the following:

  • Press F11 to build the application. The console will display the location of the .jar file you want. Once you've built find the jar, and use Nokia Application Installer (in Nokia PC Suite, Install Applications) to move it to the phone.

Java (Eclipse)

Most people use Eclipse and it's the Nokia standard. That said, the SDK seems to be crash prone. Install the tools below in order.


A few things to keep in mind:

  • If emulation isn't working, you should check to see if Eclipse is using Java 1.4 to compile. If known working apps aren't working on the phone, it's most likely the wrong compiler. (Window > Preferences > Java > Compiler > Compiler compliance level should be 1.4)
  • If deployment isn't working, you probably updated the Nokia PC Suite. Uninstall the entire PC suite and all Nokia connectivity drivers. Firmware updates seem to be OK, but unless you have a reason to update firmware, stay away.
  • Make sure you hit the refresh button before you generate the new JAD/JAR files, or you may get stale files sent to the phone.

C++ (Carbide)

While you can build your own toolchain, Carbide.c++ is much easier and more stable.


Symbian tends to be a pain, so these will help you get started:

  • The Carbide.c++ tutorial is in Help-> Getting Started-> First Application Example.
  • If you want on device debugging, you need €299 to pay for the developer edition of Carbide.
  • The (very slow) emulator may look like an emulator, but it isn't. The phone will behave differently.
  • To deploy an app, change the build type in Carbide to "Deploy (release)", then double click HelloWorld/sis/HelloWorld.sis to install
  • If you get security errors on phone, Go into Menu: Tools: App Mgr. Then select Options: Settings. Make sure software installation is "All".

Tips

  • New applications once installed show up in the "My Own" or "My Installations" folder
  • Make a new ad-hoc network: Tools -> Settings -> Connection -> Access Points -> Options -> New Access Point
  • Manually assigning an IP address to the phone: Tools -> Settings -> Connection -> Access Points -> (Choose your ad-hoc ap) -> Options -> Advanced Settings -> IP4 Phone IP Address
  • You will need to register the phone to the CSE network if you wish to communicate with department machines. Getting the WLAN MAC address requires the codes listed below.
  • If the Nokia phone is running as a Bluetooth client, it has to do a device inquiry, it does not support connecting to a known service on a known device. This is a limitation of the implementation of JavaME on the phones, but should work in Symbian.
  • JavaME apps cannot run as a background process. They can be put into the background through a PushRegistry command that essentially stops them. They can then be restarted via a timer or incoming network process. True background apps can only be done in Symbian.

Links

Codes

These codes enable you to retrieve information about the phone and perform special functions.


Most Nokia phones support these:

  • *#06# - Displays phone's IMEI (Serial) number.
  • *#0000# - Displays phone's current firmware version.
  • *#2820# - Displays phone's bluetooth MAC address.
  • *#7370# - Resets phone to factory settings. You lose all data. To authorize, use: 12345.
  • *#7780# - Resets the phone to factory settings. You will NOT lose data. To authorize, use: 12345.
  • *#62209526# - Displays your phone’s WLAN MAC address.
  • Phone reset - Turn off phone. Hold # + 3 + Call and turn on phone.


If your phone has a T-Mobile SIM:

  • #999# - Displays the account's balance.
  • #686# - Displays the account's phone number.
  • *TOGO - Customer service.
  • *ADD - Add minutes.
  • 123 - Voicemail.