Skip to main content

Nokia s40 dev with Nokia SDK


Currently atttending Celcom Developers Challenge, Nokia s40 apps development.

Submit your S40 ideas today for a chance to win cash prizes and Nokia ASHA phones! Just follow these steps to get started:

Step 1:
Register your app ideas by completing this form.

Step 2:
Develop your app once it's approved

Step 3:
Submit your app here by 28 February 2013

Evaluation Criteria

Your app(s) will be judged on the following criteria:

Innovation � 15%
Appeal � 15%
Usability � 20%
Technical � 20%
Total Downloads � 30%


Failed to load JVM.dll (Nokia SDK v1)

NOKIA SDK 1.0, Failed to load share library for jvm.dll.

Use JDK 32 bit (not 64) coz this Nokia SDK is based on Eclipse 32 bit (not 64). If you’re using 64 bit please bare in mind. The best is download JDK 1.6.038 (32 bit).


Nokia IDE – issues, cannot load the device.

- GO to Windows-> Preferences –> Device Management, and click Manually Install. Point to the Nokia SDK.





Sample Code – Displaying the Contacts in your phone –

package contactkerul;

import java.util.Enumeration;

import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.pim.PIM;
import javax.microedition.pim.PIMException;
import javax.microedition.pim.Contact;
import javax.microedition.pim.ContactList;

import com.sun.lwuit.Button;
import com.sun.lwuit.Display;
import com.sun.lwuit.Form;
import com.sun.lwuit.List;
import com.sun.lwuit.TextArea;
import com.sun.lwuit.TextField;
import com.sun.lwuit.layouts.BoxLayout;
import com.sun.lwuit.list.DefaultListModel;

public class ContactBookDemo extends MIDlet {
private List contactList=null;
private PIM pim=null;

public ContactBookDemo() {
// TODO Auto-generated constructor stub

protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub


protected void pauseApp() {
// TODO Auto-generated method stub


protected void startApp() throws MIDletStateChangeException {
// TODO Auto-generated method stub
Form f=new Form("Hello Kerul");

//PIM to show
f.setLayout(new BoxLayout(BoxLayout.Y_AXIS));
contactList=new List();


final TextArea searchField=TextField.create();

Button searchButton=new Button("Search");
searchButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){


//show form;


//the function populateContactList
private void populateContactList(String searchTerm){
contactList.setModel(new DefaultListModel());
String[] pimListNames=pim.listPIMLists(PIM.CONTACT_LIST);
for(int i=0; i < pimListNames.length; ++i){
ContactList cl=(ContactList) pim.openPIMList(
Enumeration items =cl.items(searchTerm);
while (items.hasMoreElements()){
Contact c=(Contact)items.nextElement();
contactList.addItem(c.getString(Contact.FORMATTED_NAME, 0));
}//end while
}catch(PIMException ex){
}//end try catch

contactList.addItem("No matches");
}//end populateContactList


Sadly, maximum you can upload only 2MB of the installation package of your apps to Ovi Store, s40 does not have local database, and you need to consider the low speed connection since most of the Asha line only support 2.5G Internet connection…

Support -

Seriously coding…



The friendly instructors…


Post a Comment

Popular posts from this blog

Several English proverbs and the Malay pair

Or you could download here for the Malay proverbs app – English proverbs and the Malay pair Corpus Reference: Amir Muslim, 2009. Peribahasa dan ungkapan Inggeris-Melayu. DBP, Kuala Lumpur CTRL+F to search Proverbs in English Definition in English Similar Malay Proverbs Definition in Malay 1 Where there is a country, there are people. A country must have people. Ada air adalah ikan. Ada negeri adalah rakyatnya. 2 Dry bread at home is better than roast meat home's the best hujan emas di negeri orang,hujan batu di negeri sendiri Betapa baik pun tempat orang, baik lagi tempat sendiri. 3 There's no accounting for tastes We can't assume that every people have a same feel Kepala sama hitam hati lain-lain. Dalam kehidupan ini, setiap insan berbeza cara, kesukaan, perangai, tabia

Contact Us at

Powered by EMF HTML Contact Form

Login JSON Android using Login Activity

I’ve been trying to release this tutorial quite a while. At last after a long hard effort. Since HttpClient is not supported any more in Android SDK 23, I have to resort to org.json.JSONObject and library to do online database with JSON. The objective of this tutorial is to log-in from a mobile client with the username and password stored in an online database facility. STEP 1: Create a new Android project, this time choose the LoginActivity .

Bootstrap Template for PHP database system - MyCompanyHR

HTML without framework is dull. Doing hard-coded CSS and JS are quite difficult with no promising result on cross platform compatibility. So I decided to explore BootStrap as they said it is the most popular web framework. What is BootStrap? - Bootstrap is the most popular HTML, CSS, and JavaScript framework for developing responsive, mobile-first web sites. (   ) Available here - Why you need Flat-UI? Seems like a beautiful theme to make my site look professional. Anyway you could get variety of BootStrap theme out there, feel free to select here Flat-UI is from DesignModo - Web Programming MyCompanyHR – PHP & MySQL mini project (with Boostrap HTML framework) Template 1: Template for the Lab Exercise. This is a project sample of a staff record management system. It has the PHP structured co

Pick a file using Intent.ACTION_GET_CONTENT

This tutorial is tested on Honeycomb 3.0 environment. In order to be used it in the lower level of Android API, I believe you could just change the target in the Android project. Screenshots Pick an image file using Intent.ACTION_GET_CONTENT The intention of this project is to choose an image file available in the device storage, and simply display it in an ImageView. The benefit of using Intent.ACTION_GET_CONTENT is you don’t have to develop open dialog box which is not available in the Android library. ACTION_GET_CONTENT with MIME type */* and category CATEGORY_OPENABLE -- Display all pickers for data that can be opened with ContentResolver.openInputStream() , allowing the user to pick one of them and then some data inside of it and returning the resulting URI to the caller. This can be used, for example, image chooser (as shown in this article).