Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Revision as of 05:20, 26 June 2013 by hamishwillee (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Determinando a posição atual do dispositivo em JavaME

From Wiki
Jump to: navigation, search
Article Metadata

Exemplo de código
Artigo
Tradução:
Por thiagobrunoms
Última alteração feita por hamishwillee em 26 Jun 2013

Contents

Introdução

Este pequeno exemplo de código demonstra como recuperar coordenadas do dispositivo. Ele usa o método LocationProvider.getInstance() para obter uma instância de LocationProvider, o que representa um provedor de serviços, gerando localizações, e o método LocationProvider.getLocation() tem como objetivo recuperar a latitude e a longitude atual.

Código-fonte: FindingPosition.java

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.StringItem;
import javax.microedition.location.Coordinates;
import javax.microedition.location.Criteria;
import javax.microedition.location.Location;
import javax.microedition.location.LocationException;
import javax.microedition.location.LocationProvider;
import javax.microedition.midlet.MIDlet;
 
public class FindingPosition extends MIDlet implements CommandListener {
 
private Display display;
private Form form;
private Command exitCommand;
private Command refreshCommand;
private StringItem text;
 
private Location location;
private LocationProvider locationProvider;
private Coordinates coordinates;
private Criteria criteria;
 
/**
* Construtor. Inicializa o objeto e os objetos displayables.
*/

public FindingPosition() {
form = new Form("Finding location.");
 
exitCommand = new Command("Exit", Command.EXIT, 2);
refreshCommand = new Command("Refresh", Command.OK, 1);
 
text = new StringItem("Your position:", "\nPress \"Refresh\"");
form.append(text);
 
form.addCommand(exitCommand);
form.addCommand(refreshCommand);
form.setCommandListener(this);
 
display = Display.getDisplay(this);
display.setCurrent(form);
 
criteria = new Criteria();
criteria.setHorizontalAccuracy(500);
 
try {
locationProvider = LocationProvider.getInstance(criteria);
} catch (LocationException e) {
//TODO: Handle location exception.
return;
}
}
 
/**
* Método da MIDlet.
* Chamado quando a MIDlet é inicializada
*/

public void startApp() {
// No implementation required.
}
 
/**
* Método da MIDlet.
* Invocado pela MIDlet para colocá-la no estado de Pause
*/

public void pauseApp() {
// No implementation required.
}
 
/**
* From MIDlet.
* Invocado pela MIDlet para colocá-la no estado de terminado
* @param unconditional se a MIDlet pode ser finalizada
*/

public void destroyApp(boolean unconditional) {
// Nenhuma implementação necessária
}
 
/**
* From CommandListener.
* Invocada pelo sistema para indicar que algum comando foi invocado por um displayable particular
* @param cmd O comando que foi invocado
* @param displayable o displayable o qual o comando pertence
*/

public void commandAction(Command c, Displayable d) {
if (c == refreshCommand) {
checkLocation();
} else if (c == exitCommand) {
notifyDestroyed();
}
}
 
/**
* Invocado para ler a localização corrente
*/

private void checkLocation() {
String string;
 
try {
location = locationProvider.getLocation(60);
} catch (Exception e) {
//TODO: Handle exception.
return;
}
 
coordinates = location.getQualifiedCoordinates();
if (coordinates != null) {
// Use coordinate information
double lat = coordinates.getLatitude();
double lon = coordinates.getLongitude();
string = "\nLatitude : " + lat + "\nLongitude : " + lon;
} else {
string = "Location API failed";
}
text.setText(string);
}
}

Conclusão

Após pressionar "refresh", o MIDlet irá mostrar as coordenadas correntes.

Materiais Complementares

Você pode obter o código-fonte e a aplicação no arquivo abaixo. O arquivo está disponibilizado para download em: Finding_position_in_Java_ME.zip

This page was last modified on 26 June 2013, at 05:20.
172 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×