Skocz do zawartości
sebap123

[j2me] Problem Z Location Api

Rekomendowane odpowiedzi

Witam

Napisałem nie dawno aplikacje, która wykorzystuje nadajnik GPS w telefonie. W programie wszystko jest ok ale gdy uruchomie emulator pojawia sie jeden z błędów:

java.lang.IllegalStateException
lub też

java.lang.NullPointerException
ten pierwszy juz jakos udało mi się wyłączyc przez uzycie catch`a ale ten drugi nie daje rady. A i co jeszcze ważniejsze program napisałem przy użyciu MIDP-2.1 i CLDC-1.1 bo inne ustawienia wywołuja bledy, a program (plik jar) nie chce sie uruchomic na telefonie (nokia N95). Pisze, że telefon jest niekompatybilny.

 

Poniżej jest kod programu może po prostu jest jakiś glupi bląd.

import javax.microedition.midlet.*;import javax.microedition.location.*;import javax.microedition.lcdui.*;import java.lang.InterruptedException.*;import java.lang.Double.*;/** * @author Sebastian */public class GPS extends MIDlet implements CommandListener{private Criteria cr;private LocationProvider provider;private Display dp;private Alert alert;private Location location;private Form dane;private StringItem lo, la, t1, t2;private List menu;private Command oKCommand;public GPS(){// Criteria can be used to filter which GPS device to use.Criteria criteria = new Criteria();criteria.setCostAllowed(true);criteria.setPreferredPowerConsumption(Criteria.NO_REQUIREMENT);oKCommand = new Command("Wybierz", Command.OK, 0);menu = new List("Menu", List.IMPLICIT);	  menu.append("GPS",null);	  menu.addCommand(oKCommand);	  menu.setCommandListener(this);try{// Get a location provider based on the aforementioned criteria.LocationProvider provider = LocationProvider.getInstance(criteria);Location location = provider.getLocation(180);Coordinates coordinates = location.getQualifiedCoordinates();if (coordinates  != null) {	// Get the latitude and longitude of the coordinates.	double latitude = coordinates.getLatitude();	double longitude = coordinates.getLongitude();	dane = new Form("Dane GPS");	String la = Double.toString(latitude);	String lo = Double.toString(longitude);	Spacer odstep = new Spacer(dane.getWidth(), 5);	t1 = new StringItem(null, "szerokosć:");	t2 = new StringItem(null, "długość:");	dane.append(t1);	dane.append(odstep);	dane.append(la);	dane.append(odstep);	dane.append(t2);	dane.append(odstep);	dane.append(lo);} else {	alert = new Alert("Brak współrzędnych", null, null, AlertType.WARNING);	alert.setTimeout(Alert.FOREVER);	dp.setCurrent(alert);}}catch(LocationException e0){  System.out.println("Błąd");  }catch (java.lang.InterruptedException e1){	alert = new Alert("Błąd nr1", null, null, AlertType.WARNING);	alert.setTimeout(Alert.FOREVER);	dp.setCurrent(alert);}catch (java.lang.SecurityException e2){	alert = new Alert("Błąd nr2", null, null, AlertType.WARNING);	alert.setTimeout(Alert.FOREVER);	dp.setCurrent(alert);}catch (java.lang.IllegalArgumentException e3){	alert = new Alert("Błąd nr3", null, null, AlertType.WARNING);	alert.setTimeout(Alert.FOREVER);	dp.setCurrent(alert);}catch (IllegalStateException e4){	alert = new Alert("Błąd nr4", null, null, AlertType.WARNING);	alert.setTimeout(Alert.FOREVER);	dp.setCurrent(alert);}// Get the coordinates of the current location.}	public void startApp() {		dp.setCurrent(menu);	}	public void pauseApp() {	}	public void destroyApp(boolean unconditional) {	}	public void commandAction(Command c,Displayable d){		if (c == List.SELECT_COMMAND && d == menu) {		int indeks = menu.getSelectedIndex();		String akcja = menu.getString(indeks);		if (akcja.equals("GPS")) {		dp.setCurrent(dane);		}	}}}
Bardzo prosze o pomoc.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...