Question

I am getting error at "criteria.setHorizontalAccuracy(5000);" line. Its says criteria does not exists. Any idea what I am doing wrong?

  package displaytest;
  import javax.microedition.location.Criteria;
  import javax.microedition.location.Location;
  import javax.microedition.location.LocationListener;
  import javax.microedition.location.LocationProvider;





  public class get_gps  {

        Criteria criteria = new Criteria();

        criteria.setHorizontalAccuracy(5000);




  public static String get_lat()
     {


     String lat = "test";

     return lat;
  }

}
Was it helpful?

Solution

You cannot call arbitrary statements in a class outside of a constructor or method. You can only initialize static or member variables.

Create a constructor for your class and initialize the criteria object there. For example:

public class GetGps {
  private Criteria criteria = new Criteria();

  public GetGps() {
    criteria.setHorizontalAccuracy(5000);
  }
}

OTHER TIPS

An alternative to what has already been proposed is to use an instance initialiser:

public class get_gps {

    Criteria criteria = new Criteria();

    //instance initialiser
    {
        criteria.setHorizontalAccuracy(5000);
    }

    public static String get_lat() {
        String lat = "test";
        return lat;
    }
}

Make sure you have a method called setHorizontalAccuracy method. Then it should be a void method and it should receive a variable type int. For example:

public void setHorizontalAccuracy(int num) { int HorizAccuracy = 0;

num = HorizAccuracy;

}

public class get_gps  {

        Criteria criteria = new Criteria();

        criteria.setHorizontalAccuracy(5000);

In your above code you are missing to complete method with } bracket.

change your code with

    public class get_gps  {

            Criteria criteria = new Criteria();



   criteria.setHorizontalAccuracy(5000);
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top