Guida allo sviluppo

Local Navigation

Recupero di un provider di posizioni utilizzando la classe LocationProvider

  1. Importare le classi richieste.
    import javax.microedition.location.*;
  2. Creare una classe e un costruttore.
    public class handleGPS
    {
       public handleGPS()
       {
       }
    }
  3. Nel costruttore, creare un'istanza della classe Criteria.
    Criteria myCriteria = new Criteria();
  4. Nel costruttore, configurare l'oggetto Criteria in modo da utilizzare la modalità GPS specificata. Nel seguente esempio di codice viene specificata la modalità autonoma richiamando setCostAllowed(false).
    int myMode = 2; // AUTONOMOUS
    switch ( myMode )
    {
       case 0: // CELLSITE
          myCriteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_LOW);
          myCriteria.setHorizontalAccuracy(Criteria.NO_REQUIREMENT);
          myCriteria.setVerticalAccuracy(Criteria.NO_REQUIREMENT);
          myCriteria.setCostAllowed(true);
          break;
       case 1: // ASSIST
          myCriteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_MEDIUM);
          myCriteria.setHorizontalAccuracy(100);
          myCriteria.setVerticalAccuracy(100);
          myCriteria.setCostAllowed(true);
          break;
       case 2: // AUTONOMOUS
          myCriteria.setCostAllowed(false);
          break;
    }
  5. Nel costruttore, creare un blocco try/catch. Nel blocco creare un oggetto LocationProvider richiamando getInstance().
    try
    {
        LocationProvider myProvider =
            LocationProvider.getInstance(myCriteria);
    }
    catch ( LocationException lex )
    {
        return;
    }

Esempio di codice: recupero di un provider di posizioni utilizzando la classe LocationProvider

import javax.microedition.location.*;
public class handleGPS
{
    public handleGPS()
    {
        Criteria myCriteria = new Criteria();
        int myMode = 2; // AUTONOMOUS
        switch ( myMode )
        {
            case 0: // CELLSITE
                myCriteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_LOW);
                myCriteria.setHorizontalAccuracy(Criteria.NO_REQUIREMENT);
                myCriteria.setVerticalAccuracy(Criteria.NO_REQUIREMENT);
                myCriteria.setCostAllowed(true);
                break;
            case 1: // ASSIST
                myCriteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_MEDIUM);
                myCriteria.setHorizontalAccuracy(100);
                myCriteria.setVerticalAccuracy(100);
                myCriteria.setCostAllowed(true);
                break;
            case 2: // AUTONOMOUS
                myCriteria.setCostAllowed(false);
                break;
        }
        try
        {
            LocationProvider myProvider = LocationProvider.getInstance(myCriteria);
        }
        catch ( LocationException lex )
        {
            return;
        }
    }
}

Le informazioni sono state utili? Inviateci i vostri commenti.