Monday, April 10, 2006

Java Tips - Location Based Services on J2ME devices

Location Based Services on J2ME devices

User Rating: / 0
PoorBest
J2ME (JSR 179) is a set of generic APIs that can be used for developing location-based services.J2ME location APIs provide mobile applications with information about the device's present physical location and orientation in lattitude-longitude-altitude, and support the creation and use of databases of known landmarks, stored in the device.

Illustration display physical location of mobile device.

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.location.*;

public class locationMidlet extends Midlet implements CommandListener {

Command Exit = new Command("Exit",Command.EXIT,0);
public locationMidlet() {}

public void startApp() {
Form f=new Form("Waiting...");
f.append("Finding for location...");
f.addCommand(Exit);
f.setCommandListener(this);
Display.getDisplay(this).setCurrent(f);
try {
Criteria c=new Criteria();
c.setHorizontalAccuracy(1000);
c.setVerticalAccuracy(1000);
c.setPreferredPowerConsumption(Criteria.POWER_USAGE_LOW);
LocationProvider lp=LocationProvider.getInstance(c);
Location loc=lp.getLocation(60);
QualifiedCoordinates qc=loc.getQualifiedCoordinates();
f.append("Alt: "+qc.getAltitude());
f.append("Lat: "+qc.getLatitude());
f.append("Long: "+qc.getLongitude());

} catch(Exception e) {
f.append("Exception: "+e);
}
}

public void pauseApp() {}

public void destroyApp(boolean destroy) {}

public void commandAction(Command c, Displayable s) {
if (c == Exit) {
destroyApp(true);
notifyDestroyed();
}
}
}

No comments: