может ли кто-нибудь рассказать мне смысл вышеприведенной строки?
Ответ 1
Следующий код даст вам широту и долготу. getInstance() вернет экземпляр этого конкретного класса.
Criteria myCriteria = new Criteria();
myCriteria.setCostAllowed(false);
LocationProvider myLocationProvider = LocationProvider.getInstance(myCriteria);
Location myLocation = myLocationProvider.getLocation(300);
latitude = myLocation.getQualifiedCoordinates().getLatitude();
longitude = myLocation.getQualifiedCoordinates().getLongitude();
Ответ 2
Классы, которые используют методы getInstance() и т.д., имеют шаблон singleton design.
В принципе, будет только один экземпляр этого конкретного класса, и вы получите его с помощью getInstance().
В этом случае LocationProvider будет иметь только один экземпляр, поскольку он специфичен для устройства. Вместо создания новых экземпляров вы можете использовать общий экземпляр с помощью метода getInstance(). Шаблон singleton часто используется в Java при работе с такими вещами, как диспетчеры данных и аппаратные интерфейсы, но его нельзя использовать слишком много, поскольку он ограничивает вас одним экземпляром.
Ответ 3
Метод getInstance() называется factory. Он используется для создания одноэлементного класса. Это означает, что будет создан только один экземпляр этого класса, а другие получат ссылку на этот класс.